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

Build Qt on OS X Command-Line Tools Only.

    XMLWordPrintable

    Details

    • Type: Suggestion
    • Status: Closed
    • Priority: P4: Low
    • Resolution: Done
    • Affects Version/s: None
    • Fix Version/s: 5.9.2
    • Component/s: Build System
    • Labels:
      None
    • Environment:

      OS X, Command-Line Tools only system, no Xcode.

    • Platform/s:
      macOS
    • Commits:
      fa7626713b3a943609453459190e16c49d61dfd3

      Description

      Currently you cannot build or link into Qt on an OS X Command-Line Tools only machine due to a hard requirement of "xcodebuild" in the code.

      Attempting to build from source encounters:

      ==> ./configure -prefix /usr/local/Cellar/qt5/5.3.2 -system-zlib -qt-libpng -qt-libjpeg -confirm-license -opensource -nomake examples -nomake tests -release -sdk -no-xcb -arch x86_64
      + cd qtbase
      + /private/tmp/qt5-nwIzhu/qt-everywhere-opensource-src-5.3.2/qtbase/configure -top-level -prefix /usr/local/Cellar/qt5/5.3.2 -system-zlib -qt-libpng -qt-libjpeg -confirm-license -opensource -nomake examples -nomake tests -release -sdk -no-xcb -arch x86_64

      This is the Qt Open Source Edition.

      You are licensed to use this software under the terms of
      the Lesser GNU General Public License (LGPL) versions 2.1.
      You are also licensed to use this software under the terms of
      the GNU General Public License (GPL) versions 3.

      You have already accepted the terms of the Open Source license.

      QMAKE_MAC_SDK must be set when building on Mac
      QMAKE_MAC_SDK must be set when building on Mac
      Creating qmake...
      Failed to resolve SDK path for 'macosx'
      Failed to resolve SDK path for 'macosx'
      Failed to resolve SDK path for 'macosx'
      Failed to resolve SDK path for 'macosx'
      Failed to resolve SDK path for 'macosx'
      Failed to resolve SDK path for 'macosx'
      Failed to resolve SDK path for 'macosx'
      Failed to resolve SDK path for 'macosx'
      c -o project.o -fconstant-cfstrings -MMD -g -I/private/tmp/qt5-nwIzhu/qt-everywhere-opensource-src-5.3.2/qtbase/qmake -I/private/tmp/qt5-nwIzhu/qt-everywhere-opensource-src-5.3.2/qtbase/qmake/library -I/private/tmp/qt5-nwIzhu/qt-everywhere-opensource-src-5.3.2/qtbase/qmake/generators -I/private/tmp/qt5-nwIzhu/qt-everywhere-opensource-src-5.3.2/qtbase/qmake/generators/unix -I/private/tmp/qt5-nwIzhu/qt-everywhere-opensource-src-5.3.2/qtbase/qmake/generators/win32 -I/private/tmp/qt5-nwIzhu/qt-everywhere-opensource-src-5.3.2/qtbase/qmake/generators/mac -I/private/tmp/qt5-nwIzhu/qt-everywhere-opensource-src-5.3.2/qtbase/qmake/generators/integrity -I/private/tmp/qt5-nwIzhu/qt-everywhere-opensource-src-5.3.2/qtbase/include -I/private/tmp/qt5-nwIzhu/qt-everywhere-opensource-src-5.3.2/qtbase/include/QtCore -I/private/tmp/qt5-nwIzhu/qt-everywhere-opensource-src-5.3.2/qtbase/include/QtCore/5.3.2 -I/private/tmp/qt5-nwIzhu/qt-everywhere-opensource-src-5.3.2/qtbase/include/QtCore/5.3.2/QtCore -I/private/tmp/qt5-nwIzhu/qt-everywhere-opensource-src-5.3.2/qtbase/src/corelib/global -DHAVE_QCONFIG_CPP -I/private/tmp/qt5-nwIzhu/qt-everywhere-opensource-src-5.3.2/qtbase/mkspecs/macx-clang -I/private/tmp/qt5-nwIzhu/qt-everywhere-opensource-src-5.3.2/qtbase/tools/shared -DQT_BUILD_QMAKE -DQT_BOOTSTRAPPED -DPROEVALUATOR_FULL -DQT_NO_TEXTCODEC -DQT_NO_UNICODETABLES -DQT_NO_COMPONENT -DQT_NO_COMPRESS -DQT_NO_THREAD -DQT_NO_QOBJECT -DQT_NO_GEOM_VARIANT -DQT_NO_DATASTREAM -DQT_CRYPTOGRAPHICHASH_ONLY_SHA1 -DQT_JSON_READONLY /private/tmp/qt5-nwIzhu/qt-everywhere-opensource-src-5.3.2/qtbase/qmake/project.cpp
      make: c: No such file or directory

      And if you attempt to link into a qt present on the system you encounter:

      ==> qmake qbs.pro -r
      xcode-select: error: tool 'xcodebuild' requires Xcode, but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instance
      Project ERROR: Could not resolve Xcode version.

      And so on. So there's a hard requirement on having Xcode present on the machine. Even at runtime there's an assumption the machine has Xcode on & available.

      Ideally, Qt could reach a situation where the hard requirements on Xcode aren't necessary. It is somewhat of a pain to require users to download the nearly 6GB Xcode package to use the full feature set of Qt.

      Downstream Homebrew issue report here: https://github.com/Homebrew/homebrew/issues/32431

        Attachments

          Issue Links

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

            Activity

              People

              • Assignee:
                jakepetroules Jake Petroules (DO NOT ASSIGN ISSUES)
                Reporter:
                domt4 Dominyk Tiller
              • Votes:
                0 Vote for this issue
                Watchers:
                7 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:

                  Gerrit Reviews

                  There are no open Gerrit changes