[Development] Coin, Boot2Qt, and OE_QMAKE_PATH_HOST_BINS variable

Konstantin Tokarev annulen at yandex.ru
Wed Jan 10 02:14:09 CET 2018



09.01.2018, 17:32, "Samuli Piippo" <samuli.piippo at qt.io>:
> On 09.01.2018 12:27, Konstantin Tokarev wrote:
>>  Hello,
>>
>>  I've tried to enable cross-compilation in Coin for QtWebKit 5.212 to improve
>>  platform coverage in each build, however I've faced following problem.
>>
>>  Our Linux cross-compilation platform is Boot2Qt which is based on meta-qt5
>>  Yocto layer. QtWebKit uses CMake internally, and Qt cmake config files on
>>  this platform rely on environment variable OE_QMAKE_PATH_HOST_BINS
>>  (see patch[1]). However, qmake-based builds seem to work fine without this
>>  variable.
>>
>>  I suppose that patch[1] is wrong. Can we revert it in Yocto images used in Coin?
>>
>>  [1] https://github.com/meta-qt5/meta-qt5/blob/268429962056a12e0e899612dafb433c257af5cf/recipes-qt/qt5/qtbase/0006-Pretend-Qt5-wasn-t-found-if-OE_QMAKE_PATH_EXTERNAL_H.patch
>>
>>  You can see that this patch avtually checks OE_QMAKE_PATH_EXTERNAL_HOST_BINS
>>  CMake variable instead of environment; in
>>  sysroots/x86_64-pokysdk-linux/usr/share/cmake/OEToolchainConfig.cmake.d/OEQt5Toolchain.cmake
>>  this cmake variable is set to $ENV{OE_QMAKE_PATH_HOST_BINS}, there is no
>>  similar file for Aarch64 sysroot and there is no way to guess it's location in the build
>>  system without hardcoding. Anyway it won't help, because subject variable isn't set.
>
> Qmake based projects work in Coin since they do not use any of the Qt files
> already present in the toolchain, but it seems cmake based projects now work
> a bit differently. Even if we revert that patch, cmake would still be using
> wrong files from the sysroot and not from the Qt it's testing against
> in /home/qt/work/install/lib/cmake

I've fixed this issue - now correct Qt cmake config files are used, and they don't require
any additional environment.

However, I've faced another problem:  ${Qt5Gui_OPENGL_LIBRARIES} and
${Qt5Gui_EGL_LIBRARIES} are empty. Unfortunately, I cannot see how used
Qt5GuiConfigExtras.cmake looks like.

https://testresults.qt.io/logs/qt/qtwebkit/76870b3d1c00663adc95680ad9f81cb8e548de74/LinuxUbuntu_16_04x86_64LinuxQEMUarmv7GCCqtci-linux-Ubuntu-16.04-x86_64-1-b46ac1Release/eec2223c1df502e6b17ef9acf06267b848088518/build_1515544911/log.txt.gz

-- 
Regards,
Konstantin



More information about the Development mailing list