Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-116662

Qt Interface Framework Generator doesn't work with cross-compiling kits

    XMLWordPrintable

Details

    • e8c748e5f (dev), ceb3d629e (tqtc/lts-6.2), db70771c0 (6.6), 2c5165317 (6.5)

    Description

      To reproduce the errors, load this example with a Boot2Qt kit: https://doc.qt.io/QtInterfaceFramework/qtinterfaceframework-interfaceframework-qface-remote-example.html

       In summary:

      • When using CMake, Qt6InterfaceFrameworkMacros.cmake says:
        • "Couldn't find a usable ifcodegen location" and
        • "Python3 needs to be available to use the ifcodegen."
      • When using qmake, we get:
        • "No rule to make target 'C:/Qt/6.5.2/Boot2Qt/raspberrypi4-64/toolchain/sysroots/x86_64-w64-mingw32/usr/bin/ifcodegen/generate.py', needed by '.stamp-ifcodegen'"

       

      Outcome when using the CMake project
      1st run of CMake:

      Running C:\Qt\6.5.2\Boot2Qt\raspberrypi4-64\toolchain\sysroots\x86_64-w64-mingw32\usr\bin\cmake.exe -S C:/Qt/Examples/Qt-6.5.2/interfaceframework/qface-remote -B C:/Qt/Examples/Qt-6.5.2/interfaceframework/build-qface-remote-Boot2Qt_6_5_2_Raspberry_Pi_4_64_bit-Debug "-DCMAKE_GENERATOR:STRING=Ninja" "-DCMAKE_BUILD_TYPE:STRING=Debug" "-DCMAKE_PROJECT_INCLUDE_BEFORE:FILEPATH=C:\Qt\Examples\Qt-6.5.2\interfaceframework\build-qface-remote-Boot2Qt_6_5_2_Raspberry_Pi_4_64_bit-Debug/.qtc/package-manager/auto-setup.cmake" "-DCMAKE_SYSROOT:PATH=C:/Qt/6.5.2/Boot2Qt/raspberrypi4-64/toolchain/sysroots/cortexa72-poky-linux" "-DCMAKE_C_COMPILER_TARGET:STRING=aarch64-poky-linux" "-DCMAKE_CXX_COMPILER_TARGET:STRING=aarch64-poky-linux" "-DCMAKE_CXX_COMPILER:STRING=C:/Qt/6.5.2/Boot2Qt/raspberrypi4-64/toolchain/sysroots/x86_64-w64-mingw32/usr/bin/aarch64-poky-linux/aarch64-poky-linux-g++.exe" "-DCMAKE_C_COMPILER:STRING=C:/Qt/6.5.2/Boot2Qt/raspberrypi4-64/toolchain/sysroots/x86_64-w64-mingw32/usr/bin/aarch64-poky-linux/aarch64-poky-linux-gcc.exe" "-DCMAKE_PREFIX_PATH:STRING=C:/Qt/6.5.2/Boot2Qt/raspberrypi4-64/toolchain/sysroots/cortexa72-poky-linux/usr" "-DQT_QMAKE_EXECUTABLE:STRING=C:/Qt/6.5.2/Boot2Qt/raspberrypi4-64/toolchain/sysroots/x86_64-w64-mingw32/usr/bin/qmake.exe" "-DCMAKE_TOOLCHAIN_FILE:FILEPATH=C:/Qt/6.5.2/Boot2Qt/raspberrypi4-64/toolchain/sysroots/x86_64-w64-mingw32/usr/lib/cmake/Qt6/qt.toolchain.cmake" "-DCMAKE_MAKE_PROGRAM:FILEPATH=C:/Qt/6.5.2/Boot2Qt/raspberrypi4-64/toolchain/sysroots/x86_64-w64-mingw32/usr/bin/ninja.exe" "-DCMAKE_CXX_FLAGS_INIT:STRING=" in C:\Qt\Examples\Qt-6.5.2\interfaceframework\build-qface-remote-Boot2Qt_6_5_2_Raspberry_Pi_4_64_bit-Debug.
      -- The CXX compiler identification is GNU 12.2.0
      -- Detecting CXX compiler ABI info
      -- Detecting CXX compiler ABI info - done
      -- Check for working CXX compiler: C:/Qt/6.5.2/Boot2Qt/raspberrypi4-64/toolchain/sysroots/x86_64-w64-mingw32/usr/bin/aarch64-poky-linux/aarch64-poky-linux-g++.exe - skipped
      -- Detecting CXX compile features
      -- Detecting CXX compile features - done
      -- Performing Test CMAKE_HAVE_LIBC_PTHREAD
      -- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
      -- Found Threads: TRUE  
      -- Performing Test HAVE_STDATOMIC
      -- Performing Test HAVE_STDATOMIC - Success
      -- Found WrapAtomic: TRUE  
      -- Performing Test HAVE_EGL
      -- Performing Test HAVE_EGL - Success
      -- Found EGL: C:/Qt/6.5.2/Boot2Qt/raspberrypi4-64/toolchain/sysroots/cortexa72-poky-linux/usr/include (found version "1.5") 
      -- Performing Test HAVE_GLESv2
      -- Performing Test HAVE_GLESv2 - Success
      -- Found GLESv2: C:/Qt/6.5.2/Boot2Qt/raspberrypi4-64/toolchain/sysroots/cortexa72-poky-linux/usr/include  
      -- Found XKB: C:/Qt/6.5.2/Boot2Qt/raspberrypi4-64/toolchain/sysroots/cortexa72-poky-linux/usr/lib/libxkbcommon.so (found suitable version "1.4.1", minimum required is "0.5.0") 
      -- Found WrapVulkanHeaders: C:/Qt/6.5.2/Boot2Qt/raspberrypi4-64/toolchain/sysroots/cortexa72-poky-linux/usr/include  
      CMake Error at C:/Qt/6.5.2/Boot2Qt/raspberrypi4-64/toolchain/sysroots/cortexa72-poky-linux/usr/lib/cmake/Qt6InterfaceFramework/Qt6InterfaceFrameworkMacros.cmake:57 (message):
        Couldn't find a usable ifcodegen location
      Call Stack (most recent call first):
        C:/Qt/6.5.2/Boot2Qt/raspberrypi4-64/toolchain/sysroots/cortexa72-poky-linux/usr/lib/cmake/Qt6InterfaceFramework/Qt6InterfaceFrameworkMacros.cmake:453 (qt_ensure_ifcodegen)
        C:/Qt/6.5.2/Boot2Qt/raspberrypi4-64/toolchain/sysroots/cortexa72-poky-linux/usr/lib/cmake/Qt6InterfaceFramework/Qt6InterfaceFrameworkMacros.cmake:479 (qt6_ifcodegen_extend_target)
        frontend/CMakeLists.txt:21 (qt_ifcodegen_extend_target)
      
      
      -- Configuring incomplete, errors occurred!
      See also "C:/Qt/Examples/Qt-6.5.2/interfaceframework/build-qface-remote-Boot2Qt_6_5_2_Raspberry_Pi_4_64_bit-Debug/CMakeFiles/CMakeOutput.log".
      See also "C:/Qt/Examples/Qt-6.5.2/interfaceframework/build-qface-remote-Boot2Qt_6_5_2_Raspberry_Pi_4_64_bit-Debug/CMakeFiles/CMakeError.log".
      CMake process exited with exit code 1.
      

       

      2nd run of CMake:

      Running C:\Qt\6.5.2\Boot2Qt\raspberrypi4-64\toolchain\sysroots\x86_64-w64-mingw32\usr\bin\cmake.exe -S C:/Qt/Examples/Qt-6.5.2/interfaceframework/qface-remote -B C:/Qt/Examples/Qt-6.5.2/interfaceframework/build-qface-remote-Boot2Qt_6_5_2_Raspberry_Pi_4_64_bit-Debug in C:\Qt\Examples\Qt-6.5.2\interfaceframework\build-qface-remote-Boot2Qt_6_5_2_Raspberry_Pi_4_64_bit-Debug.
      -- Could NOT find Python3 (missing: Python3_EXECUTABLE Interpreter) 
          Reason given by package: 
              Interpreter: Cannot use the interpreter "C:/Qt/6.5.2/Boot2Qt/raspberrypi4-64/toolchain/sysroots/cortexa72-poky-linux/usr/bin/python3.10"
      
      CMake Error at C:/Qt/6.5.2/Boot2Qt/raspberrypi4-64/toolchain/sysroots/cortexa72-poky-linux/usr/lib/cmake/Qt6InterfaceFramework/Qt6InterfaceFrameworkMacros.cmake:369 (message):
        Python3 needs to be available to use the ifcodegen.
      Call Stack (most recent call first):
        C:/Qt/6.5.2/Boot2Qt/raspberrypi4-64/toolchain/sysroots/cortexa72-poky-linux/usr/lib/cmake/Qt6InterfaceFramework/Qt6InterfaceFrameworkMacros.cmake:95 (qt6_ifcodegen_generate)
        C:/Qt/6.5.2/Boot2Qt/raspberrypi4-64/toolchain/sysroots/cortexa72-poky-linux/usr/lib/cmake/Qt6InterfaceFramework/Qt6InterfaceFrameworkMacros.cmake:473 (internal_ifcodegen_import)
        C:/Qt/6.5.2/Boot2Qt/raspberrypi4-64/toolchain/sysroots/cortexa72-poky-linux/usr/lib/cmake/Qt6InterfaceFramework/Qt6InterfaceFrameworkMacros.cmake:479 (qt6_ifcodegen_extend_target)
        frontend/CMakeLists.txt:21 (qt_ifcodegen_extend_target)
      
      
      -- Configuring incomplete, errors occurred!
      See also "C:/Qt/Examples/Qt-6.5.2/interfaceframework/build-qface-remote-Boot2Qt_6_5_2_Raspberry_Pi_4_64_bit-Debug/CMakeFiles/CMakeOutput.log".
      See also "C:/Qt/Examples/Qt-6.5.2/interfaceframework/build-qface-remote-Boot2Qt_6_5_2_Raspberry_Pi_4_64_bit-Debug/CMakeFiles/CMakeError.log".
      CMake process exited with exit code 1.
      

       

      Outcome when using the qmake project

      13:57:15: Running steps for project qface-remote...
      13:57:15: Starting: "C:\Qt\6.5.2\Boot2Qt\raspberrypi4-64\toolchain\sysroots\x86_64-w64-mingw32\usr\bin\qmake.exe" C:\Qt\Examples\Qt-6.5.2\interfaceframework\qface-remote\qface-remote.pro -spec linux-oe-g++ "CONFIG+=debug" "CONFIG+=qml_debug"
      13:57:15: The process "C:\Qt\6.5.2\Boot2Qt\raspberrypi4-64\toolchain\sysroots\x86_64-w64-mingw32\usr\bin\qmake.exe" exited normally.
      13:57:15: Starting: "C:\Qt\6.5.2\Boot2Qt\raspberrypi4-64\toolchain\sysroots\x86_64-w64-mingw32\usr\bin\make.exe" -f C:/Qt/Examples/Qt-6.5.2/interfaceframework/build-qface-remote-Boot2Qt_6_5_2_Raspberry_Pi_4_64_bit-Debug/Makefile qmake_all
      cd frontend\ && C:\Qt\6.5.2\Boot2Qt\raspberrypi4-64\toolchain\sysroots\x86_64-w64-mingw32\usr\bin\qmake.exe -o Makefile C:\Qt\Examples\Qt-6.5.2\interfaceframework\qface-remote\frontend\frontend.pro -spec linux-oe-g++ "CONFIG+=debug" "CONFIG+=qml_debug"
      cd frontend\ && C:/Qt/6.5.2/Boot2Qt/raspberrypi4-64/toolchain/sysroots/x86_64-w64-mingw32/usr/bin/make.exe -f Makefile qmake_all
      make[1]: *** No rule to make target 'C:/Qt/6.5.2/Boot2Qt/raspberrypi4-64/toolchain/sysroots/x86_64-w64-mingw32/usr/bin/ifcodegen/generate.py', needed by '.stamp-ifcodegen'.  Stop.
      make[1]: Entering directory 'C:/Qt/Examples/Qt-6.5.2/interfaceframework/build-qface-remote-Boot2Qt_6_5_2_Raspberry_Pi_4_64_bit-Debug/frontend'
      make[1]: Leaving directory 'C:/Qt/Examples/Qt-6.5.2/interfaceframework/build-qface-remote-Boot2Qt_6_5_2_Raspberry_Pi_4_64_bit-Debug/frontend'
      make: *** [C:/Qt/Examples/Qt-6.5.2/interfaceframework/build-qface-remote-Boot2Qt_6_5_2_Raspberry_Pi_4_64_bit-Debug/Makefile:44: sub-frontend-qmake_all] Error 2
      13:57:15: The process "C:\Qt\6.5.2\Boot2Qt\raspberrypi4-64\toolchain\sysroots\x86_64-w64-mingw32\usr\bin\make.exe" exited with code 2.
      Error while building/deploying project qface-remote (kit: Boot2Qt 6.5.2 Raspberry Pi 4 64-bit)
      When executing step "qmake"
      

      Attachments

        Issue Links

          No reviews matched the request. Check your Options in the drop-down menu of this sections header.

          Activity

            People

              gagi Dominik Holland
              skoh-qt Sze Howe Koh
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews