[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
--
Regards,
Konstantin
More information about the Development
mailing list