Cannot build Qt5.6 from source in OSX 10.12
-
Hi,
i'm trying to recompile Qt from source (my main aim is to enable webengine with proprietary codecs)
With the default sdk (xcode 8.3.2 and sdk 10.12) I encountered this bug:
https://codereview.qt-project.org/#/c/172619/
that should be fixed in 5.6, but it's still here for me.So I tried installing an older SDK (10.8), that's the output of xcodebuild:
$ xcodebuild -version && xcodebuild -showsdks Xcode 8.3.2 Build version 8E2002 2017-06-15 11:40:39.054 xcodebuild[41135:3065598] [MT] DVTSDK: Skipped SDK /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk; its version (10.7) is below required minimum (10.8) for the macosx platform. iOS SDKs: iOS 10.3 -sdk iphoneos10.3 iOS Simulator SDKs: Simulator - iOS 10.3 -sdk iphonesimulator10.3 macOS SDKs: OS X 10.8 -sdk macosx10.8 tvOS SDKs: tvOS 10.2 -sdk appletvos10.2 tvOS Simulator SDKs: Simulator - tvOS 10.2 -sdk appletvsimulator10.2 watchOS SDKs: watchOS 3.2 -sdk watchos3.2 watchOS Simulator SDKs: Simulator - watchOS 3.2 -sdk watchsimulator3.2
This is my the output of my configure:
$ ./configure -release -opensource -confirm-license -plugin-sql-sqlite -nomake examples -nomake tests -sdk macosx10.8 + cd qtbase + /Users/gaspa/Qt/5.6/Src/qtbase/configure -top-level -release -opensource -confirm-license -plugin-sql-sqlite -nomake examples -nomake tests -sdk macosx10.8 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 Lesser General Public License (LGPL) versions 3. You have already accepted the terms of the Open Source license. Running configuration tests (phase 1)... Done running configuration tests. Creating qmake... ............................................................................................Done. Running configuration tests (phase 2)... checking for C++11... yes. checking for C++14... yes. checking for C++1z... yes. checking for default C++ standard edition... yes. checking for 64-bit std::atomic... yes. checking for sse2... yes. checking for sse3... yes. checking for ssse3... yes. checking for sse4_1... yes. checking for sse4_2... yes. checking for avx... yes. checking for avx2... yes. checking for ipc_sysv... yes. checking for zlib... yes. checking for mtdev... no. checking for libjpeg... no. checking for libpng... no. checking for dlopen... yes. checking for DB2... no. checking for InterBase... no. checking for MySQL (thread-safe)... no. checking for MySQL (thread-unsafe)... no. checking for OCI... no. checking for iODBC... yes. checking for PostgreSQL... yes. checking for SQLite2... no. checking for TDS... no. checking for Cups... yes. checking for POSIX iconv... yes. checking for D-Bus... no. checking for libproxy... no. checking for Glib... no. checking for ICU... no. checking for PulseAudio... no. checking for CoreWlan... yes. checking for OpenGL... yes. checking for FontConfig... no. checking for libudev... no. checking for evdev... no. checking for tslib... no. checking for xkbcommon... no. checking for XLib... no. checking for Xrender... no. checking for XInput2... no. checking for GBM... no. checking for LinuxFB... no. checking for KMS... no. checking for Mir client... no. checking for EGL... no. checking for eglfs-brcm... no. checking for eglfs-egldevice... no. checking for eglfs-mali... no. checking for eglfs-mali-2... no. checking for eglfs-viv... no. checking for FreeType... no. checking for STL... yes. checking for POSIX clock_gettime()... no. checking for posix_fallocate... no. checking for mremap... no. checking for getaddrinfo... yes. checking for inotify... no. checking for eventfd... no. checking for IPv6 interface name... yes. checking for getifaddrs... yes. checking for cloexec... no. checking for PCRE... no. checking for OpenVG... no. checking for OpenVG... no. checking for OpenVG (lc includes)... no. checking for OpenVG (lc includes)... no. checking for alsa... no. checking for GStreamer 1.0... no. checking for GStreamer 0.10... no. Done running configuration tests. Configure summary Build type: macx-clang (x86_64, CPU features: cx16 mmx sse sse2 sse3 ssse3) Build options: Configuration .......... accessibility audio-backend avx avx2 c++11 c++14 c++1z compile_examples concurrent corewlan cups dbus freetype full-config getaddrinfo getifaddrs harfbuzz iconv ipv6ifname large-config largefile medium-config minimal-config no-libdl no-pkg-config opengl pcre png precompile_header qpa qpa qt_framework reduce_exports release rpath securetransport shared small-config sse2 sse3 sse4_1 sse4_2 ssl ssse3 system-zlib Build parts ............ libs tools Mode ................... release Using sanitizer(s)...... none Using C++ standard ..... c++1z Using gold linker....... no Using new DTAGS ........ no Using PCH .............. yes Using LTCG ............. no Target compiler supports: SSE2/SSE3/SSSE3 ...... yes/yes/yes SSE4.1/SSE4.2 ........ yes/yes AVX/AVX2 ............. yes/yes Qt modules and options: Qt D-Bus ............... yes (loading dbus-1 at runtime) Qt Concurrent .......... yes Qt GUI ................. yes Qt Widgets ............. yes Large File ............. yes QML debugging .......... yes Use system proxies ..... no Support enabled for: Accessibility .......... yes ALSA ................... no CUPS ................... yes Evdev .................. no FontConfig ............. no FreeType ............... yes (bundled copy) Glib ................... no GStreamer .............. no GTK theme .............. no HarfBuzz ............... yes (bundled copy) Iconv .................. yes ICU .................... no Image formats: GIF .................. yes (plugin, using bundled copy) JPEG ................. yes (plugin, using bundled copy) PNG .................. yes (in QtGui, using bundled copy) libinput................ no Logging backends: journald ............... no syslog ............... no mtdev .................. no Networking: CoreWlan ............. yes getaddrinfo .......... yes getifaddrs ........... yes IPv6 ifname .......... yes libproxy.............. no OpenSSL .............. no SecureTransport ...... yes OpenGL / OpenVG: EGL .................. no OpenGL ............... desktop OpenVG ............... no PCRE ................... yes (bundled copy) pkg-config ............. no PulseAudio ............. no QPA backends: DirectFB ............. no EGLFS ................ no EGLFS i.MX6 ........ no EGLFS i.MX6 Wayland. no EGLFS EGLDevice .... no EGLFS GBM .......... no EGLFS Mali ......... no EGLFS Raspberry Pi . no EGLFS X11 .......... no LinuxFB .............. no Mir client............ no XCB .................. no Session management ..... yes SQL drivers: DB2 .................. no InterBase ............ no MySQL ................ no OCI .................. no ODBC ................. yes (plugin) PostgreSQL ........... yes (plugin) SQLite 2 ............. no SQLite ............... yes (plugin, using bundled copy) TDS .................. no tslib .................. no udev ................... no xkbcommon-x11........... no xkbcommon-evdev......... no zlib ................... yes (system library) Info: creating super cache file /Users/gaspa/Qt/5.6/Src/.qmake.super Info: creating stash file /Users/gaspa/Qt/5.6/Src/.qmake.stash Qt is now configured for building. Just run 'make'. Once everything is built, you must run 'make install'. Qt will be installed into /usr/local/Qt-5.6.2 Prior to reconfiguration, make sure you remove any leftovers from the previous build.
And make breaks here:
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -pipe -stdlib=libc++ -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk -mmacosx-version-min=10.7 -F/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/Library/Frameworks -O2 -std=c++1z -fvisibility=hidden -fvisibility-inlines-hidden -Wall -W -fPIC -DQT_NO_MTDEV -DQT_NO_LIBUDEV -DQT_NO_EVDEV -DQT_NO_TSLIB -DQT_NO_LIBINPUT -DQT_NO_CAST_TO_ASCII -DQT_NO_CAST_FROM_ASCII -DQT_NO_DATASTREAM -DHAVE_XCTEST -DQT_BUILD_TESTLIB_LIB -DQT_BUILDING_QT -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x050000 -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_CORE_LIB -I. -I../../include -I../../include/QtTest -I../../include/QtTest/5.6.2 -I../../include/QtTest/5.6.2/QtTest -I../../include/QtCore/5.6.2 -I../../include/QtCore/5.6.2/QtCore -I../../include/QtCore -I.moc -I../../mkspecs/macx-clang -F/Users/gaspa/Qt/5.6/Src/qtbase/lib -x objective-c++-header -c ../../include/QtTest/QtTestDepends -o .pch/QtTest/objective-c++.pch /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -c -Xclang -include-pch -Xclang .pch/QtTest/objective-c++.pch -pipe -stdlib=libc++ -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk -mmacosx-version-min=10.7 -F/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/Library/Frameworks -O2 -std=c++1z -fvisibility=hidden -fvisibility-inlines-hidden -Wall -W -fPIC -DQT_NO_MTDEV -DQT_NO_LIBUDEV -DQT_NO_EVDEV -DQT_NO_TSLIB -DQT_NO_LIBINPUT -DQT_NO_CAST_TO_ASCII -DQT_NO_CAST_FROM_ASCII -DQT_NO_DATASTREAM -DHAVE_XCTEST -DQT_BUILD_TESTLIB_LIB -DQT_BUILDING_QT -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x050000 -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_CORE_LIB -I. -I../../include -I../../include/QtTest -I../../include/QtTest/5.6.2 -I../../include/QtTest/5.6.2/QtTest -I../../include/QtCore/5.6.2 -I../../include/QtCore/5.6.2/QtCore -I../../include/QtCore -I.moc -I../../mkspecs/macx-clang -F/Users/gaspa/Qt/5.6/Src/qtbase/lib -o .obj/qtestutil_macos.o qtestutil_macos.mm /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -c -Xclang -include-pch -Xclang .pch/QtTest/objective-c++.pch -pipe -stdlib=libc++ -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk -mmacosx-version-min=10.7 -F/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/Library/Frameworks -O2 -std=c++1z -fvisibility=hidden -fvisibility-inlines-hidden -Wall -W -fPIC -DQT_NO_MTDEV -DQT_NO_LIBUDEV -DQT_NO_EVDEV -DQT_NO_TSLIB -DQT_NO_LIBINPUT -DQT_NO_CAST_TO_ASCII -DQT_NO_CAST_FROM_ASCII -DQT_NO_DATASTREAM -DHAVE_XCTEST -DQT_BUILD_TESTLIB_LIB -DQT_BUILDING_QT -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x050000 -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_CORE_LIB -I. -I../../include -I../../include/QtTest -I../../include/QtTest/5.6.2 -I../../include/QtTest/5.6.2/QtTest -I../../include/QtCore/5.6.2 -I../../include/QtCore/5.6.2/QtCore -I../../include/QtCore -I.moc -I../../mkspecs/macx-clang -F/Users/gaspa/Qt/5.6/Src/qtbase/lib -o .obj/qxctestlogger.o qxctestlogger.mm In file included from qxctestlogger.mm:41: In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/Library/Frameworks/XCTest.framework/Headers/XCTest.h:35: /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/Library/Frameworks/XCTest.framework/Headers/XCAbstractTest.h:34:1: error: unknown type name 'NS_ASSUME_NONNULL_BEGIN' NS_ASSUME_NONNULL_BEGIN ^ /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/Library/Frameworks/XCTest.framework/Headers/XCAbstractTest.h:36:2: error: prefix attribute must be followed by an interface or protocol @class XCTestRun; ^ /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/Library/Frameworks/XCTest.framework/Headers/XCAbstractTest.h:81:32: warning: pointer is missing a nullability type specifier (_Nonnull, _Nullable, or _Null_unspecified) [-Wnullability-completeness] - (void)performTest:(XCTestRun *)run; ^ /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/Library/Frameworks/XCTest.framework/Headers/XCAbstractTest.h:81:32: note: insert '_Nullable' if the pointer may be null - (void)performTest:(XCTestRun *)run; ^ _Nullable /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/Library/Frameworks/XCTest.framework/Headers/XCAbstractTest.h:81:32: note: insert '_Nonnull' if the pointer should never be null - (void)performTest:(XCTestRun *)run; ^ _Nonnull /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/Library/Frameworks/XCTest.framework/Headers/XCAbstractTest.h:103:1: error: unknown type name 'NS_ASSUME_NONNULL_END' NS_ASSUME_NONNULL_END ^
Any idea?
(and just for curiosity, I gave -nomake tests, why it's using XCTest?) -
Hi and welcome to devnet,
There's no need to rebuild all of Qt for just one module.
You can build only the QtWebengine module with the Qt version you are currently using.
-
Hi, thanks but... how can i build only that module?
I tried with the installed version, but:$ make cd src/ && ( test -e Makefile || /Users/gaspa/Qt/5.6/clang_64/bin/qmake /Users/gaspa/Qt/5.6/Src/qtwebengine/src/src.pro WEBENGINE_CONFIG+=use_proprietary_codecs -o Makefile ) && /Applications/Xcode.app/Contents/Developer/usr/bin/make -f Makefile /Users/gaspa/Qt/5.6/Src/qtbase/bin/qmake WEBENGINE_CONFIG+=use_proprietary_codecs -o Makefile src.pro cd core/ && ( test -e Makefile || /Users/gaspa/Qt/5.6/Src/qtbase/bin/qmake /Users/gaspa/Qt/5.6/Src/qtwebengine/src/core/core.pro WEBENGINE_CONFIG+=use_proprietary_codecs -o Makefile ) && /Applications/Xcode.app/Contents/Developer/usr/bin/make -f Makefile /Users/gaspa/Qt/5.6/Src/qtbase/bin/qmake WEBENGINE_CONFIG+=use_proprietary_codecs -o Makefile core.pro ( test -e Makefile.core_headers || /Users/gaspa/Qt/5.6/Src/qtbase/bin/qmake /Users/gaspa/Qt/5.6/Src/qtwebengine/src/core/core_headers.pro WEBENGINE_CONFIG+=use_proprietary_codecs -o Makefile.core_headers ) && /Applications/Xcode.app/Contents/Developer/usr/bin/make -f Makefile.core_headers Project ERROR: Unknown module(s) in QT: core gui make[2]: *** [sub-core_headers-pro-make_first] Error 3 make[1]: *** [sub-core-make_first] Error 2 make: *** [sub-src-make_first] Error 2
( from a clean versions of sources, I run configure as before, and qmake WEBENGINE_CONFIG+=use_proprietary_codecs )
-
Usually:
mkdir build_qtwebengine cd build_qtwebengine /path/to/your/installed_Qt/bin/qmake /path/to/your/installed_Qt/sources/qtwebengine make make install
-
Just to be sure: out of source build from the root of the QtWebengine module ?