From 9b532fac081cbc0e8f87c7f68b863f57008f1398 Mon Sep 17 00:00:00 2001 From: Roy Kollen Svendsen Date: Mon, 2 Jun 2025 10:00:51 +0200 Subject: [PATCH] package/qt6/qt6tools: avoid build failures Since we don't need assistant, designer or linguist on target, and we don't need assistant or designer on host, we unconditionally disable these tools, to avoid build failures without inreasing the complexity of the package. Fixes target linguist build: -- Could NOT find Qt6LinguistTools (missing: Qt6LinguistTools_DIR) CMake Error at <...>/output/build/qt6base-6.8.1/cmake/QtToolHelpers.cmake:768 (message): Failed to find the host tool "Qt6::lconvert". It is part of the Qt6LinguistTools package, but the package could not be found. Make sure you have built and installed the host Linguist module, which will ensure the creation of the Qt6LinguistTools package. Call Stack (most recent call first): <...>/output/build/qt6base-6.8.1/cmake/QtToolHelpers.cmake:83 (qt_internal_find_tool) src/linguist/lconvert/CMakeLists.txt:9 (qt_internal_add_tool) The following defconfig triggers a target linguist build without building the necessary lconvert host tool. See: https://code.qt.io/cgit/qt/qttools.git/tree/src/linguist/CMakeLists.txt?h=6.8.1#n17 BR2_arm=y BR2_cortex_a9=y BR2_ARM_ENABLE_VFP=y BR2_TOOLCHAIN_EXTERNAL=y BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV7_EABIHF_MUSL_STABLE=y BR2_PACKAGE_QT6=y BR2_PACKAGE_QT6BASE_GUI=y BR2_PACKAGE_QT6BASE_PNG=y BR2_PACKAGE_QT6BASE_WIDGETS=y BR2_PACKAGE_QT6TOOLS=y Fixes target designer build: CMake Error at <...>/output/build/qt6base-6.8.1/cmake/QtPublicWalkLibsHelpers.cmake:267 (message): The Xml target is mentioned as a dependency for Designer, but not declared. Call Stack (most recent call first): <...>/output/build/qt6base-6.8.1/cmake/QtPrlHelpers.cmake:8 (__qt_internal_walk_libs) <...>/output/build/qt6base-6.8.1/cmake/QtPrlHelpers.cmake:47 (qt_collect_libs) <...>/buildroot/output/build/qt6base-6.8.1/cmake/QtModuleHelpers.cmake:1027 (qt_generate_prl_file) <...>/buildroot/output/build/qt6base-6.8.1/cmake/QtScopeFinalizerHelpers.cmake:24:EVAL:1 (qt_finalize_module) src/designer/src/lib/CMakeLists.txt:DEFERRED The following defconfig triggers a target designer build, without selecting the necessary xml qt6base option. See: https://code.qt.io/cgit/qt/qttools.git/tree/configure.cmake?h=6.8.1#n64 https://code.qt.io/cgit/qt/qttools.git/tree/src/designer/src/lib/CMakeLists.txt?h=6.8.1#n182 BR2_arm=y BR2_cortex_a9=y BR2_ARM_ENABLE_VFP=y BR2_TOOLCHAIN_EXTERNAL=y BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV7_EABIHF_MUSL_STABLE=y BR2_PACKAGE_QT6=y BR2_PACKAGE_QT6BASE_GUI=y BR2_PACKAGE_QT6BASE_PNG=y BR2_PACKAGE_QT6BASE_WIDGETS=y BR2_PACKAGE_QT6TOOLS=y Fixes target assistant build: CMake Error at <...>/output/build/qt6base-6.8.1/cmake/QtToolHelpers.cmake:768 (message): Failed to find the host tool "Qt6::qhelpgenerator". It is part of the Qt6ToolsTools package, but the package did not contain the tool. Make sure that the host module Tools was built with all features enabled (no explicitly disabled tools). Call Stack (most recent call first): <...>/buildroot/output/build/qt6base-6.8.1/cmake/QtToolHelpers.cmake:83 (qt_internal_find_tool) src/assistant/qhelpgenerator/CMakeLists.txt:9 (qt_internal_add_tool) The following defconfig triggers a target assistant build, without building the necessary qhelpgenerator host tool. See: https://code.qt.io/cgit/qt/qttools.git/tree/configure.cmake?h=6.8.1#n45 https://code.qt.io/cgit/qt/qttools.git/tree/src/assistant/CMakeLists.txt?h=6.8.1#n4 https://code.qt.io/cgit/qt/qttools.git/tree/src/assistant/CMakeLists.txt?h=6.8.1#n21 BR2_arm=y BR2_cortex_a9=y BR2_ARM_ENABLE_VFP=y BR2_TOOLCHAIN_EXTERNAL=y BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV7_EABIHF_MUSL_STABLE=y BR2_PACKAGE_QT6=y BR2_PACKAGE_QT6BASE_GUI=y BR2_PACKAGE_QT6BASE_PNG=y BR2_PACKAGE_QT6BASE_PRINTSUPPORT=y BR2_PACKAGE_QT6BASE_SQL=y BR2_PACKAGE_QT6BASE_SQLITE=y BR2_PACKAGE_QT6BASE_WIDGETS=y BR2_PACKAGE_QT6TOOLS=y Signed-off-by: Roy Kollen Svendsen Signed-off-by: Arnout Vandecappelle (cherry picked from commit bd255e9e9c2bfe17525766fa6d61367787c30c00) Signed-off-by: Thomas Perale --- package/qt6/qt6tools/Config.in.host | 3 --- package/qt6/qt6tools/qt6tools.mk | 5 +++++ 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/package/qt6/qt6tools/Config.in.host b/package/qt6/qt6tools/Config.in.host index 7a6f8a5176..404ebfa923 100644 --- a/package/qt6/qt6tools/Config.in.host +++ b/package/qt6/qt6tools/Config.in.host @@ -2,9 +2,6 @@ config BR2_PACKAGE_HOST_QT6TOOLS bool "host qt6tools" # The Qt Qt Network module is required select BR2_PACKAGE_HOST_QT6BASE_NETWORK - # Requires the Qt Sql module to build the qhelpgenerator - # tool, if target support for Sql is present - select BR2_PACKAGE_HOST_QT6BASE_SQL if BR2_PACKAGE_QT6BASE_SQL help Qt is a cross-platform application and UI framework for developers using C++. diff --git a/package/qt6/qt6tools/qt6tools.mk b/package/qt6/qt6tools/qt6tools.mk index b063f08887..a818cd7abc 100644 --- a/package/qt6/qt6tools/qt6tools.mk +++ b/package/qt6/qt6tools/qt6tools.mk @@ -28,6 +28,9 @@ QT6TOOLS_LICENSE_FILES = \ LICENSES/Qt-GPL-exception-1.0.txt QT6TOOLS_CONF_OPTS = \ + -DFEATURE_assistant=OFF \ + -DFEATURE_designer=OFF \ + -DFEATURE_linguist=OFF \ -DQT_HOST_PATH=$(HOST_DIR) \ -DBUILD_WITH_PCH=OFF \ -DQT_BUILD_EXAMPLES=OFF \ @@ -42,6 +45,8 @@ QT6TOOLS_DEPENDENCIES += qt6declarative endif HOST_QT6TOOLS_CONF_OPTS = \ + -DFEATURE_assistant=OFF \ + -DFEATURE_designer=OFF \ -DQT_BUILD_EXAMPLES=OFF \ -DQT_BUILD_TESTS=OFF