Details
-
Bug
-
Resolution: Unresolved
-
P2: Important
-
None
-
6.5.0
-
None
Description
It seems the way yocto meta-qt6 integrates cross compile toolchain changed and arm
toolchain is now chained, instead of being setup by qt-cmake wrapper.
qtwebengine needs host infomration to be albe to setup host build tools , therefore it runs
externalproject_add(hostBuild SOURCE_DIR ${CMAKE_CURRENT_LIST_DIR}/host BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}/host PREFIX host USES_TERMINAL_BUILD TRUE EXCLUDE_FROM_ALL TRUE CMAKE_ARGS -DCMAKE_TOOLCHAIN_FILE=${QT_HOST_PATH}/lib/cmake/Qt6/qt.toolchain.cmake -DWEBENGINE_ROOT_BUILD_DIR=${PROJECT_BINARY_DIR} -DWEBENGINE_ROOT_SOURCE_DIR=${WEBENGINE_ROOT_SOURCE_DIR} -DGN_TARGET_CPU=${TEST_architecture_arch} -DCMAKE_C_FLAGS= -DCMAKE_CXX_FLAGS= -DQT_FEATURE_qtwebengine_build=${QT_FEATURE_qtwebengine_build} -DQT_FEATURE_qtpdf_build=${QT_FEATURE_qtpdf_build} )
This uses host toolchain which should have native toolchain, however curretly this will load arm toolchain giving false infomration.
What would be the best to solve this issue ?
/usr/bin/cmake -DCMAKE_TOOLCHAIN_FILE=/opt/b2qt/apalis-imx6/4.1.2/sysroots/x86_64-pokysdk-linux/usr/lib/cmake/Qt6/qt.toolchain.cmake -DWEBENGINE_ROOT_BUILD_DIR=/home/stefan/workspaces/qt/qt5-builds/6.5/b2qt -DWEBENGINE_ROOT_SOURCE_DIR=/home/stefan/workspaces/qt/qt5/qtwebengine.6.5 -DGN_TARGET_CPU=arm -DCMAKE_C_FLAGS= -DCMAKE_CXX_FLAGS= -DQT_FEATURE_qtwebengine_build=ON -DQT_FEATURE_qtpdf_build=ON -GNinja /home/stefan/workspaces/qt/qt5/qtwebengine.6.5/src/host && /usr/bin/cmake -E touch /home/stefan/workspaces/qt/qt5-builds/6.5/b2qt/src/host/src/hostBuild-stamp/hostBuild-configure
Will result in:
-- The CXX compiler identification is GNU 12.2.0 -- The C compiler identification is GNU 12.2.0 -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - failed -- Check for working CXX compiler: /opt/b2qt/apalis-imx6/4.1.2/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-g++ -- Check for working CXX compiler: /opt/b2qt/apalis-imx6/4.1.2/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-g++ - broken CMake Error at /usr/share/cmake/Modules/CMakeTestCXXCompiler.cmake:62 (message): The C++ compiler "/opt/b2qt/apalis-imx6/4.1.2/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-g++" is not able to compile a simple test program.
As you can it loads arm compiler.
How to call native toolchain , without loading cross compile one ?
Trace:
/home/stefan/workspaces/qt/qt5/qtwebengine.6.5/src/host/CMakeLists.txt(16): set(CMAKE_MODULE_PATH /home/stefan/workspaces/qt/qt5/qtwebengine.6.5/cmake ) /home/stefan/workspaces/qt/qt5/qtwebengine.6.5/src/host/CMakeLists.txt(18): project(QtWebEngineConfigure VERSION 6.5.0 LANGUAGES CXX C ) /home/stefan/workspaces/qt/qt5-builds/6.5/b2qt/src/host/CMakeFiles/3.23.3/CMakeSystem.cmake(1): set(CMAKE_HOST_SYSTEM Linux-5.15.69-gentoo ) /home/stefan/workspaces/qt/qt5-builds/6.5/b2qt/src/host/CMakeFiles/3.23.3/CMakeSystem.cmake(2): set(CMAKE_HOST_SYSTEM_NAME Linux ) /home/stefan/workspaces/qt/qt5-builds/6.5/b2qt/src/host/CMakeFiles/3.23.3/CMakeSystem.cmake(3): set(CMAKE_HOST_SYSTEM_VERSION 5.15.69-gentoo ) /home/stefan/workspaces/qt/qt5-builds/6.5/b2qt/src/host/CMakeFiles/3.23.3/CMakeSystem.cmake(4): set(CMAKE_HOST_SYSTEM_PROCESSOR x86_64 ) /home/stefan/workspaces/qt/qt5-builds/6.5/b2qt/src/host/CMakeFiles/3.23.3/CMakeSystem.cmake(6): include(/opt/b2qt/apalis-imx6/4.1.2/sysroots/x86_64-pokysdk-linux/usr/lib/cmake/Qt6/qt.toolchain.cmake ) /opt/b2qt/apalis-imx6/4.1.2/sysroots/x86_64-pokysdk-linux/usr/lib/cmake/Qt6/qt.toolchain.cmake(1): set(__qt_toolchain_used_variables QT_CHAINLOAD_TOOLCHAIN_FILE QT_TOOLCHAIN_INCLUDE_FILE QT_TOOLCHAIN_RELOCATABLE_CMAKE_DIR QT_TOOLCHAIN_RELOCATABLE_PREFIX QT_ADDITIONAL_PACKAGES_PREFIX_PATH ) /opt/b2qt/apalis-imx6/4.1.2/sysroots/x86_64-pokysdk-linux/usr/lib/cmake/Qt6/qt.toolchain.cmake(12): list(APPEND CMAKE_TRY_COMPILE_PLATFORM_VARIABLES QT_CHAINLOAD_TOOLCHAIN_FILE;QT_TOOLCHAIN_INCLUDE_FILE;QT_TOOLCHAIN_RELOCATABLE_CMAKE_DIR;QT_TOOLCHAIN_RELOCATABLE_PREFIX;QT_ADDITIONAL_PACKAGES_PREFIX_PATH ) /opt/b2qt/apalis-imx6/4.1.2/sysroots/x86_64-pokysdk-linux/usr/lib/cmake/Qt6/qt.toolchain.cmake(13): list(REMOVE_DUPLICATES CMAKE_TRY_COMPILE_PLATFORM_VARIABLES ) /opt/b2qt/apalis-imx6/4.1.2/sysroots/x86_64-pokysdk-linux/usr/lib/cmake/Qt6/qt.toolchain.cmake(18): if( ) /opt/b2qt/apalis-imx6/4.1.2/sysroots/x86_64-pokysdk-linux/usr/lib/cmake/Qt6/qt.toolchain.cmake(25): set(__qt_initially_configured_toolchain_file /opt/b2qt/apalis-imx6/4.1.2/sysroots/x86_64-pokysdk-linux/usr/lib/cmake/Qt6/../../../share/cmake/Qt6Toolchain.cmake ) /opt/b2qt/apalis-imx6/4.1.2/sysroots/x86_64-pokysdk-linux/usr/lib/cmake/Qt6/qt.toolchain.cmake(26): set(__qt_chainload_toolchain_file /opt/b2qt/apalis-imx6/4.1.2/sysroots/x86_64-pokysdk-linux/usr/lib/cmake/Qt6/../../../share/cmake/Qt6Toolchain.cmake ) /opt/b2qt/apalis-imx6/4.1.2/sysroots/x86_64-pokysdk-linux/usr/lib/cmake/Qt6/qt.toolchain.cmake(37): if(NOT STREQUAL ) /opt/b2qt/apalis-imx6/4.1.2/sysroots/x86_64-pokysdk-linux/usr/lib/cmake/Qt6/qt.toolchain.cmake(40): if(__qt_chainload_toolchain_file ) /opt/b2qt/apalis-imx6/4.1.2/sysroots/x86_64-pokysdk-linux/usr/lib/cmake/Qt6/qt.toolchain.cmake(41): get_filename_component(__qt_chainload_toolchain_file_real_path /opt/b2qt/apalis-imx6/4.1.2/sysroots/x86_64-pokysdk-linux/usr/lib/cmake/Qt6/../../../share/cmake/Qt6Toolchain.cmake REALPATH ) /opt/b2qt/apalis-imx6/4.1.2/sysroots/x86_64-pokysdk-linux/usr/lib/cmake/Qt6/qt.toolchain.cmake(43): if(__qt_chainload_toolchain_file_real_path STREQUAL CMAKE_CURRENT_LIST_FILE ) /opt/b2qt/apalis-imx6/4.1.2/sysroots/x86_64-pokysdk-linux/usr/lib/cmake/Qt6/qt.toolchain.cmake(49): elseif(NOT EXISTS /opt/b2qt/apalis-imx6/4.1.2/sysroots/x86_64-pokysdk-linux/usr/share/cmake/Qt6Toolchain.cmake ) /opt/b2qt/apalis-imx6/4.1.2/sysroots/x86_64-pokysdk-linux/usr/lib/cmake/Qt6/qt.toolchain.cmake(52): else() /opt/b2qt/apalis-imx6/4.1.2/sysroots/x86_64-pokysdk-linux/usr/lib/cmake/Qt6/qt.toolchain.cmake(53): include(/opt/b2qt/apalis-imx6/4.1.2/sysroots/x86_64-pokysdk-linux/usr/lib/cmake/Qt6/../../../share/cmake/Qt6Toolchain.cmake ) /opt/b2qt/apalis-imx6/4.1.2/sysroots/x86_64-pokysdk-linux/usr/share/cmake/Qt6Toolchain.cmake(1): cmake_minimum_required(VERSION 3.11 ) /opt/b2qt/apalis-imx6/4.1.2/sysroots/x86_64-pokysdk-linux/usr/share/cmake/Qt6Toolchain.cmake(2): include_guard(GLOBAL ) /opt/b2qt/apalis-imx6/4.1.2/sysroots/x86_64-pokysdk-linux/usr/share/cmake/Qt6Toolchain.cmake(4): get_filename_component(SYSROOTS /opt/b2qt/apalis-imx6/4.1.2/sysroots/x86_64-pokysdk-linux/usr/share/cmake/../../../.. ABSOLUTE ) /opt/b2qt/apalis-imx6/4.1.2/sysroots/x86_64-pokysdk-linux/usr/share/cmake/Qt6Toolchain.cmake(6): set(ENV{PATH} /opt/b2qt/apalis-imx6/4.1.2/sysroots/x86_64-pokysdk-linux/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/bin:/usr/lib/llvm/14/bin ) /opt/b2qt/apalis-imx6/4.1.2/sysroots/x86_64-pokysdk-linux/usr/share/cmake/Qt6Toolchain.cmake(7): set(ENV{PKG_CONFIG_SYSROOT_DIR} /opt/b2qt/apalis-imx6/4.1.2/sysroots/cortexa9t2hf-neon-poky-linux-gnueabi ) /opt/b2qt/apalis-imx6/4.1.2/sysroots/x86_64-pokysdk-linux/usr/share/cmake/Qt6Toolchain.cmake(8): set(ENV{PKG_CONFIG_PATH} /opt/b2qt/apalis-imx6/4.1.2/sysroots/cortexa9t2hf-neon-poky-linux-gnueabi/usr/lib/pkgconfig ) /opt/b2qt/apalis-imx6/4.1.2/sysroots/x86_64-pokysdk-linux/usr/share/cmake/Qt6Toolchain.cmake(10): set(CMAKE_SYSTEM_NAME Linux ) /opt/b2qt/apalis-imx6/4.1.2/sysroots/x86_64-pokysdk-linux/usr/share/cmake/Qt6Toolchain.cmake(11): set(CMAKE_SYSROOT /opt/b2qt/apalis-imx6/4.1.2/sysroots/cortexa9t2hf-neon-poky-linux-gnueabi ) /opt/b2qt/apalis-imx6/4.1.2/sysroots/x86_64-pokysdk-linux/usr/share/cmake/Qt6Toolchain.cmake(13): set(CMAKE_FIND_ROOT_PATH /opt/b2qt/apalis-imx6/4.1.2/sysroots/cortexa9t2hf-neon-poky-linux-gnueabi ) /opt/b2qt/apalis-imx6/4.1.2/sysroots/x86_64-pokysdk-linux/usr/share/cmake/Qt6Toolchain.cmake(14): set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER ) /opt/b2qt/apalis-imx6/4.1.2/sysroots/x86_64-pokysdk-linux/usr/share/cmake/Qt6Toolchain.cmake(15): set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY ) /opt/b2qt/apalis-imx6/4.1.2/sysroots/x86_64-pokysdk-linux/usr/share/cmake/Qt6Toolchain.cmake(16): set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY ) /opt/b2qt/apalis-imx6/4.1.2/sysroots/x86_64-pokysdk-linux/usr/share/cmake/Qt6Toolchain.cmake(17): set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY ) /opt/b2qt/apalis-imx6/4.1.2/sysroots/x86_64-pokysdk-linux/usr/share/cmake/Qt6Toolchain.cmake(19): set(CMAKE_SYSTEM_PROCESSOR cortexa9t2hf-neon ) /opt/b2qt/apalis-imx6/4.1.2/sysroots/x86_64-pokysdk-linux/usr/share/cmake/Qt6Toolchain.cmake(21): set(CMAKE_C_COMPILER /opt/b2qt/apalis-imx6/4.1.2/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-gcc ) /opt/b2qt/apalis-imx6/4.1.2/sysroots/x86_64-pokysdk-linux/usr/share/cmake/Qt6Toolchain.cmake(22): set(CMAKE_CXX_COMPILER /opt/b2qt/apalis-imx6/4.1.2/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-g++ ) /opt/b2qt/apalis-imx6/4.1.2/sysroots/x86_64-pokysdk-linux/usr/share/cmake/Qt6Toolchain.cmake(24): set(TARGET_COMPILER_FLAGS -mthumb -mfpu=neon -mfloat-abi=hard -mcpu=cortex-a9 -fstack-protector-strong -Wformat -Wformat-security -Werror=format-security --sysroot=/opt/b2qt/apalis-imx6/4.1.2/sysroots/cortexa9t2hf-neon-poky-linux-gnueabi )