[Development] Coin, Boot2Qt, and OE_QMAKE_PATH_HOST_BINS variable

Konstantin Tokarev annulen at yandex.ru
Tue Jan 9 15:56:58 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

Thanks for your help, indeed my build is using wrong cmake config files

Build log is at [1]. It runs cmake as 

/home/qt/work/qt/qtwebkit -DPORT=Qt -DCMAKE_BUILD_TYPE=Release -DCMAKE_TOOLCHAIN_FILE=/home/qt/work/qt/qtwebkit/qmake_toolchain.cmake -DUSE_LIBHYPHEN=OFF -DCMAKE_PREFIX_PATH="/home/qt/work/install" 

Somehow config files from /home/qt/work/install are not picked.

[1] https://testresults.qt.io/logs/qt/qtwebkit/400c59f8405a9cfb81d735cc40b0307f92b6aec3/LinuxUbuntu_16_04x86_64LinuxQEMUarmv7GCCqtci-linux-Ubuntu-16.04-x86_64-1-b46ac1Release/eec2223c1df502e6b17ef9acf06267b848088518/build_1515464652/log.txt.gz


More information about the Development mailing list