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

Cannot cross compile Qt for arm64 macOS on x86_64 macOS

    XMLWordPrintable

Details

    • macOS

    Description

      Building Qt on x86_64 macOS for arm64 macOS fails at configuration step because of "bad CPU type"error.

      Log:

      chen@Luqiaos-MacBook-Pro Downloads % mkdir qtbuild
      chen@Luqiaos-MacBook-Pro Downloads % cd qtbuild
      chen@Luqiaos-MacBook-Pro qtbuild % /Users/chen/Qt/6.5.4/Src/configure -qt-host-path "/Users/chen/Qt/6.5.4/macos" -- -DCMAKE_OSX_ARCHITECTURES="arm64"
      + mkdir -p qtbase
      + cd qtbase
      + exec /Users/chen/Qt/6.5.4/Src/qtbase/configure -top-level -qt-host-path /Users/chen/Qt/6.5.4/macos -- -DCMAKE_OSX_ARCHITECTURES=arm64
      '/Users/chen/Qt/Tools/CMake/CMake.app/Contents/bin/cmake' '-DQT_HOST_PATH=/Users/chen/Qt/6.5.4/macos' '-DCMAKE_OSX_ARCHITECTURES=arm64' '-G' 'Ninja' '/Users/chen/Qt/6.5.4/Src'
      -- The CXX compiler identification is AppleClang 15.0.0.15000040
      -- The C compiler identification is AppleClang 15.0.0.15000040
      -- The ASM compiler identification is AppleClang
      -- Found assembler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc
      -- Detecting CXX compiler ABI info
      -- Detecting CXX compiler ABI info - done
      -- Check for working CXX compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ - skipped
      -- Detecting CXX compile features
      -- Detecting CXX compile features - done
      -- Detecting C compiler ABI info
      -- Detecting C compiler ABI info - done
      -- Check for working C compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc - skipped
      -- Detecting C compile features
      -- Detecting C compile features - done
      -- Checking dependencies of submodule 'qtbase'
      -- Checking dependencies of submodule 'qtimageformats'
      -- Checking dependencies of submodule 'qtlanguageserver'
      -- Checking dependencies of submodule 'qtshadertools'
      -- Checking dependencies of submodule 'qtsvg'
      -- Checking dependencies of submodule 'qtdeclarative'
      -- Checking dependencies of submodule 'qtquicktimeline'
      -- Checking dependencies of submodule 'qtquick3d'
      -- Checking dependencies of submodule 'qtmultimedia'
      -- Checking dependencies of submodule 'qt3d'
      -- Checking dependencies of submodule 'qt5compat'
      -- Checking dependencies of submodule 'qtactiveqt'
      -- Checking dependencies of submodule 'qttools'
      -- Checking dependencies of submodule 'qtwayland'
      -- Checking dependencies of submodule 'qtapplicationmanager'
      -- Checking dependencies of submodule 'qtcharts'
      -- Checking dependencies of submodule 'qtcoap'
      -- Checking dependencies of submodule 'qtconnectivity'
      -- Checking dependencies of submodule 'qtdatavis3d'
      -- Checking dependencies of submodule 'qtwebsockets'
      -- Checking dependencies of submodule 'qthttpserver'
      -- Checking dependencies of submodule 'qtserialport'
      -- Checking dependencies of submodule 'qtpositioning'
      -- Checking dependencies of submodule 'qtwebchannel'
      -- Checking dependencies of submodule 'qtwebengine'
      -- Checking dependencies of submodule 'qtdoc'
      -- Checking dependencies of submodule 'qtgrpc'
      -- Checking dependencies of submodule 'qtinsighttracker'
      -- Checking dependencies of submodule 'qtremoteobjects'
      -- Checking dependencies of submodule 'qtinterfaceframework'
      -- Checking dependencies of submodule 'qtlocation'
      -- Checking dependencies of submodule 'qtlottie'
      -- Checking dependencies of submodule 'qtmqtt'
      -- Checking dependencies of submodule 'qtnetworkauth'
      -- Checking dependencies of submodule 'qtopcua'
      -- Checking dependencies of submodule 'qtqmlscriptcompiler'
      -- Checking dependencies of submodule 'qtquick3dphysics'
      -- Checking dependencies of submodule 'qtquickeffectmaker'
      -- Checking dependencies of submodule 'qtscxml'
      -- Checking dependencies of submodule 'qtsensors'
      -- Checking dependencies of submodule 'qtserialbus'
      -- Checking dependencies of submodule 'qtspeech'
      -- Checking dependencies of submodule 'qttranslations'
      -- Checking dependencies of submodule 'qtvirtualkeyboard'
      -- Checking dependencies of submodule 'qtvncserver'
      -- Checking dependencies of submodule 'qtwebview'
      -- Configuring submodule 'qtbase'
                  -DCMAKE_C_FLAGS_DEBUG=-g
                  -DCMAKE_C_FLAGS_RELEASE=-O3 -DNDEBUG
                  -DCMAKE_C_FLAGS_RELWITHDEBINFO=-O2 -g -DNDEBUG
                  -DCMAKE_CXX_FLAGS_DEBUG=-g
                  -DCMAKE_CXX_FLAGS_RELEASE=-O3 -DNDEBUG
                  -DCMAKE_CXX_FLAGS_RELWITHDEBINFO=-O2 -g -DNDEBUG
                  -DCMAKE_C_STANDARD=11
                  -DCMAKE_C_STANDARD_REQUIRED=ON
                  -DCMAKE_CXX_STANDARD=17
                  -DCMAKE_CXX_STANDARD_REQUIRED=ON
                  -DCMAKE_MODULE_PATH:STRING=/Users/chen/Qt/6.5.4/Src/qtbase/cmake/platforms
                  -DCMAKE_OSX_ARCHITECTURES:STRING=arm64
                  -DCMAKE_FIND_USE_SYSTEM_ENVIRONMENT_PATH:BOOL=OFF
      CMake Error at qtbase/cmake/QtSyncQtHelpers.cmake:261 (message):
        syncqt.cpp failed for module QtCore:
      
        The syncqt process exited with code Bad CPU type in executable and without
        any useful output.  This can happen if syncqt crashes due to the
        incompatibilities with the standard C++ library located by either PATH or
        LD_LIBRARY_PATH environment variables.  Please make sure that PATH or
        LD_LIBRARY_PATH don't point to the standard libraries different from the
        one you use for building Qt.
      Call Stack (most recent call first):
        qtbase/cmake/QtModuleHelpers.cmake:874 (qt_internal_target_sync_headers)
        qtbase/cmake/QtScopeFinalizerHelpers.cmake:24:EVAL:1 (qt_finalize_module)
        qtbase/src/corelib/CMakeLists.txt:DEFERRED
      
      
      -- Configuring incomplete, errors occurred!
      CMake Error at /Users/chen/Qt/6.5.4/Src/qtbase/cmake/QtProcessConfigureArgs.cmake:994 (message):
        CMake exited with code 1.
      

      So it's a new build folder. No other flags than the necessary host path and CMake variable. Both source and host are from online installer.

      Attachments

        For Gerrit Dashboard: QTBUG-121322
        # Subject Branch Project Status CR V

        Activity

          People

            alexandru.croitor Alexandru Croitor
            luqiaochen Luqiao Chen
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

            Dates

              Created:
              Updated:

              Gerrit Reviews

                There is 1 open Gerrit change