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

OBJC compiler NOTFOUND when building Qt 6.2 for iOS from source

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Invalid
    • Icon: P2: Important P2: Important
    • None
    • 6.2.4
    • Build System: CMake
    • None
    • CMake version is 3.25.
      XCode 13.2.1
      MacOS 11.7 Big Sur
    • iOS/tvOS/watchOS, macOS

      When building Qt 6.2 from source for iOS as follows:

      /Users/martin/workspace/qt6_local_build/src/qt6/configure -prefix /Users/martin/workspace/qt6_local_build/qt_ios_armv8_64_install -static -xplatform macx-ios-clang -I /Users/martin/workspace/qt6_local_build/openssl_ios_armv8_64_build/openssl-1.1.1s/include -L /Users/martin/workspace/qt6_local_build/openssl_ios_armv8_64_build/openssl-1.1.1s -ccache -no-sql -sqlite -no-sql-db2 -no-sql-ibase -no-sql-mysql -no-sql-oci -no-sql-odbc -no-sql-psql -qt-doubleconversion -qt-libjpeg -qt -libpng -qt-zlib -no-warnings-are-errors -nomake examples -nomake tests -release -openssl-linked – -DQT_UIKIT_SDK=iphoneos -DQT_HOST_PATH=/Users/martin/workspace/qt6_local_build/qt_macos_x86_64_build/qtbase -DOPENSSL_USE_STATIC_LIBS=ON -DOPENSSL_ROOT_DIR=/Users/martin/workspace/qt6_local_build/openssl_ios_armv8_64_build/openssl-1.1.1s

       

      which results in:

      /Applications/CMake.app/Contents/bin/cmake' '-DQT_UIKIT_SDK=iphoneos' '-DQT_HOST_PATH=/Users/martin/workspace/qt6_local_build/qt_macos_x86_64_build/qtbase' '-DOPENSSL_USE_STATIC_LIBS=ON' '-DOPENSSL_ROOT_DIR=/Users/martin/workspace/qt6_local_build/openssl_ios_armv8_64_build/openssl-1.1.1s' '-DQT_USE_CCACHE=ON' '-DBUILD_SHARED_LIBS=OFF' '-DWARNINGS_ARE_ERRORS=OFF' '-DCMAKE_INSTALL_PREFIX=/Users/martin/workspace/qt6_local_build/qt_ios_armv8_64_install' '-DQT_QMAKE_TARGET_MKSPEC=macx-ios-clang' '-DCMAKE_CXX_COMPILER=clang++' '-DCMAKE_SYSTEM_NAME=iOS' '-DQT_BUILD_EXAMPLES=FALSE' '-DQT_BUILD_TESTS=FALSE' '-DCMAKE_BUILD_TYPE=Release' '-DQT_EXTRA_INCLUDEPATHS=/Users/martin/workspace/qt6_local_build/openssl_ios_armv8_64_build/openssl-1.1.1s/include' '-DQT_EXTRA_LIBDIRS=/Users/martin/workspace/qt6_local_build/openssl_ios_armv8_64_build/openssl-1.1.1s' '-DINPUT_sql_sqlite=no' '-DINPUT_sql_db2=no' '-DINPUT_sql_ibase=no' '-DINPUT_sql_mysql=no' '-DINPUT_sql_oci=no' '-DINPUT_sql_odbc=no' '-DINPUT_sql_psql=no' '-DINPUT_doubleconversion=qt' '-DINPUT_libjpeg=qt' '-DINPUT_libpng=qt' '-DINPUT_system_zlib=no' '-DINPUT_openssl=linked' '-G' 'Ninja' '/Users/martin/workspace/qt6_local_build/src/qt6'

       

      I get the message:

      – Looking for a OBJC compiler
      – Looking for a OBJC compiler - NOTFOUND
      – Looking for a OBJCXX compiler
      – Looking for a OBJCXX compiler - NOTFOUND

      and later on when trying to build, there are multiple failures with:

      error: Objective-C was disabled in PCH file but is currently enabled

      There seems to be a problem when the CMake macro check_language is called. If I modify the macro qt_enable_cmake_languages in qtbase/cmake/QtBuildInternals/QtBuildInternalsConfig.cmake so that OBJC and OBJCXX are appended to _qt_required_language_list instead of _qt_optional_language_list, the build succeeds.

      Is this a bug or is there anything I should pass to configure to get this working without changing the code?

       

        1. iOS configure log.txt
          45 kB
          Martin Burchell
        2. CMakeError.log
          67 kB
          Martin Burchell
        3. CMakeOutput.log
          52 kB
          Martin Burchell
        4. env.txt
          0.8 kB
          Martin Burchell
        5. log.txt.gz
          8.94 MB
          Martin Burchell
        6. CheckOBJC.tar.gz
          210 kB
          Martin Burchell
        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

            qtbuildsystem Qt Build System Team
            martinburchell Martin Burchell
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved:

                There are no open Gerrit changes