[Interest] [OS X] Qt 5.6.0 minimal build configuration (error compiling qlatincodec.cpp)

René J.V. Bertin rjvbertin at gmail.com
Thu Mar 17 16:36:55 CET 2016


Hi,

I'm running into an issue building Qt 5.6.0 on OS X 10.9.5 :

gmake[3]: Entering directory '/.../qt5-kde-devel/work/build/qtbase/src/tools/bootstrap'
/usr/bin/clang++ -c -O3 -march=native -g -ffunction-sections -O2 -g -fPIC -std=c++11 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk -mmacosx-version-min=10.7 -fno-exceptions -Wall -W -DQT_NO_MTDEV -DQT_NO_LIBUDEV -DQT_NO_EVDEV -DQT_NO_TSLIB -DQT_NO_LIBINPUT -DQT_BOOTSTRAPPED -DQT_LITE_UNICODE -DQT_NO_CAST_TO_ASCII -DQT_NO_CODECS -DQT_NO_DATASTREAM -DQT_NO_LIBRARY -DQT_NO_QOBJECT -DQT_NO_SYSTEMLOCALE -DQT_NO_THREAD -DQT_NO_UNICODETABLES -DQT_NO_USING_NAMESPACE -DQT_NO_DEPRECATED -DQT_NO_TRANSLATION -DQT_CRYPTOGRAPHICHASH_ONLY_SHA1 -DQT_NO_CAST_FROM_ASCII -DQT_BUILD_BOOTSTRAP_LIB -DQT_BUILDING_QT -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x050000 -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -I/Users/bertin/work/src/new/Qt/qt-everywhere-opensource-src-5.6.0/qtbase/src/tools/bootstrap -I. -I/Users/bertin/work/src/new/Qt/qt-everywhere-opensource-src-5.6.0/qtbase/include -I/Users/bertin/work/src/new/Qt/qt-everywhere-opensource-src-5.6.0/qtbase/include/QtCore -I/Users/bertin/work/src/new/Qt/qt-everywhere-opensource-src-5.6.0/qtbase/include/QtCore/5.6.0 -I/Users/bertin/work/src/new/Qt/qt-everywhere-opensource-src-5.6.0/qtbase/include/QtCore/5.6.0/QtCore -I/Users/bertin/work/src/new/Qt/qt-everywhere-opensource-src-5.6.0/qtbase/include/QtXml -I/Users/bertin/work/src/new/Qt/qt-everywhere-opensource-src-5.6.0/qtbase/include/QtXml/5.6.0 -I/Users/bertin/work/src/new/Qt/qt-everywhere-opensource-src-5.6.0/qtbase/include/QtXml/5.6.0/QtXml -I../../../include -I../../../include/QtCore -I/.../qt5-kde-devel/work/build/qtbase/include/QtXml -I/Users/bertin/work/src/new/Qt/qt-everywhere-opensource-src-5.6.0/qtbase/mkspecs/macx-clang -o .obj/qlatincodec.o /Users/bertin/work/src/new/Qt/qt-everywhere-opensource-src-5.6.0/qtbase/src/corelib/codecs/qlatincodec.cpp
In file included from /Users/bertin/work/src/new/Qt/qt-everywhere-opensource-src-5.6.0/qtbase/src/corelib/codecs/qlatincodec.cpp:34:
In file included from /Users/bertin/work/src/new/Qt/qt-everywhere-opensource-src-5.6.0/qtbase/src/corelib/codecs/qlatincodec_p.h:48:
In file included from /Users/bertin/work/src/new/Qt/qt-everywhere-opensource-src-5.6.0/qtbase/include/QtCore/qtextcodec.h:1:
In file included from /Users/bertin/work/src/new/Qt/qt-everywhere-opensource-src-5.6.0/qtbase/include/QtCore/../../src/corelib/codecs/qtextcodec.h:37:
In file included from /Users/bertin/work/src/new/Qt/qt-everywhere-opensource-src-5.6.0/qtbase/include/QtCore/qstring.h:1:
/Users/bertin/work/src/new/Qt/qt-everywhere-opensource-src-5.6.0/qtbase/include/QtCore/../../src/corelib/tools/qstring.h:756:55: error: no type named 'u16string' in namespace 'std'
    static inline QString fromStdU16String(const std::u16string &s);
                                                 ~~~~~^
/Users/bertin/work/src/new/Qt/qt-everywhere-opensource-src-5.6.0/qtbase/include/QtCore/../../src/corelib/tools/qstring.h:757:17: error: no type named 'u16string' in namespace 'std'
    inline std::u16string toStdU16String() const;
           ~~~~~^
<SNIP lots of more errors>
In file included from /Volumes/Debian/Users/bertin/work/src/new/Qt/qt-everywhere-opensource-src-5.6.0/qtbase/include/QtCore/../../src/corelib/tools/qhashfunctions.h:39:
In file included from /Volumes/Debian/Users/bertin/work/src/new/Qt/qt-everywhere-opensource-src-5.6.0/qtbase/include/QtCore/qpair.h:1:
/Volumes/Debian/Users/bertin/work/src/new/Qt/qt-everywhere-opensource-src-5.6.0/qtbase/include/QtCore/../../src/corelib/tools/qpair.h:62:44: error: no member named 'declval' in namespace 'std'
        Q_DECL_NOEXCEPT_EXPR(noexcept(std::declval<T1&>() = p.first) && noexcept(std::declval<T2&>() = p.second))
                                      ~~~~~^
/Volumes/Debian/Users/bertin/work/src/new/Qt/qt-everywhere-opensource-src-5.6.0/qtbase/include/QtCore/../../src/corelib/global/qcompilerdetection.h:1036:43: note: expanded from macro 'Q_DECL_NOEXCEPT_EXPR'
# define Q_DECL_NOEXCEPT_EXPR(x) noexcept(x)
                                          ^
<SNIP>


This does not appear to be a limitation in the Xcode compiler (Xcode 6.2, Apple Clang 600) because when I use clang 3.8 I get the exact same errors.

Configure command and summary are below (note the request for the 10.9 SDK which is ignored in the above compile command!).

Any ideas? The same code in qstring.h doesn't cause issues in Qt 5.5.1 .

%> configure -top-level -platform macx-clang -sdk macosx10.9 -prefix /opt/local -archdatadir /opt/local/libexec/qt5 -docdir /opt/local/share/doc/qt5 -headerdir /opt/local/include/qt5 -plugindir /opt/local/share/qt5/plugins -importdir /opt/local/share/qt5/imports -qmldir /opt/local/share/qt5/qml -datadir /opt/local/share/qt5 -libdir /opt/local/libexec/qt5/Library/Frameworks -bindir /opt/local/libexec/qt5/bin -libexecdir /opt/local/libexec/qt5/libexec -translationdir /opt/local/share/qt5/translations -sysconfdir /opt/local/etc/qt5 -examplesdir /Applications/MacPorts/Qt5/examples -testsdir /opt/local/share/qt5/tests -hostbindir /opt/local/libexec/qt5/bin -hostlibdir /opt/local/libexec/qt5/Library/Frameworks -hostdatadir /opt/local/share/qt5 -v -release -opensource -confirm-license -shared -force-pkg-config -no-evdev -no-linuxfb -no-kms -framework -no-rpath -no-pulseaudio -no-mtdev -system-harfbuzz -openssl-linked -no-xinput2 -no-xcb -no-xcb-xlib -no-libudev -no-egl -c++std c++11 -make libs -make tools -nomake examples -nomake tests -verbose -no-pch -nis -cups -iconv -icu -fontconfig -dbus-linked -glib -directfb -no-use-gold-linker -optimized-qmake -system-sqlite -no-sql-db2 -no-sql-ibase -no-sql-mysql -no-sql-oci -no-sql-odbc -no-sql-psql -no-sql-sqlite2 -no-sql-tds -no-openvg -force-debug-info -no-strip -no-separate-debug-info

   Configure summary
Build type:    macx-clang (x86_64, CPU features: cx16 mmx sse sse2 sse3 ssse3)
qmake vars .......... QMAKE_CC = /usr/bin/clang QMAKE_CXX = /usr/bin/clang++ QMAKE_CFLAGS = -O3 -march=native -g QMAKE_CXXFLAGS = -O3 -march=native -g QMAKE_LFLAGS = -L/opt/local/lib -Wl,-headerpad_max_install_names -O3 -march=native -g styles += mac fusion windows DEFINES += QT_NO_MTDEV QT_LIBS_DBUS = -L/opt/local/lib -ldbus-1  QT_CFLAGS_DBUS = -I/opt/local/include/dbus-1.0 -I/opt/local/lib/dbus-1.0/include  QT_HOST_CFLAGS_DBUS = -I/opt/local/include/dbus-1.0 -I/opt/local/lib/dbus-1.0/include  QT_CFLAGS_GLIB = -D_REENTRANT -I/opt/local/include/glib-2.0 -I/opt/local/lib/glib-2.0/include -I/opt/local/include  QT_LIBS_GLIB = -L/opt/local/lib -lgthread-2.0 -lglib-2.0 -lintl  QMAKE_CFLAGS_FONTCONFIG = -I/opt/local/include -I/opt/local/include -I/opt/local/include/freetype2 -I/opt/local/include -I/opt/local/include/libpng16 -I/opt/local/include/harfbuzz -I/opt/local/include -I/opt/local/include/freetype2 -I/opt/local/include -I/opt/local/include/libpng16 -I/opt/local/include/harfbuzz -I/opt/local/include/glib-2.0 -I/opt/local/lib/glib-2.0/include -I/opt/local/include -I/opt/local/include  QMAKE_LIBS_FONTCONFIG = -L/opt/local/lib -lfontconfig -lfreetype  DEFINES += QT_NO_LIBUDEV DEFINES += QT_NO_EVDEV DEFINES += QT_NO_TSLIB DEFINES += QT_NO_LIBINPUT sql-drivers =  sql-plugins =  sqlite qmake switches .........  -d
Build options:
  Configuration .......... absolute_library_soname accessibility audio-backend avx avx2 c++11 compile_examples concurrent corewlan cups dbus dbus-linked fontconfig force_debug_info full-config getaddrinfo getifaddrs glib gstreamer-1.0 iconv icu ipv6ifname large-config largefile libproxy medium-config minimal-config nis nostrip opengl openssl-linked png qpa qpa qt_framework reduce_exports release release_tools shared small-config sse2 sse3 sse4_1 sse4_2 ssse3 system-freetype system-harfbuzz system-jpeg system-png system-sqlite system-zlib xrender 
  Build parts ............  libs tools
  Mode ................... release (with debug info); optimized tools
  Using sanitizer(s)...... none
  Using C++ standard ..... c++11
  Using gold linker....... no
  Using new DTAGS ........ no
  Using PCH .............. no
  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 (linked to dbus-1)
  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 ............. yes
  FreeType ............... yes (system library)
  Glib ................... yes
  GStreamer .............. yes (1.0)
  GTK theme .............. no
  HarfBuzz ............... yes (system library)
  Iconv .................. yes
  ICU .................... yes
  Image formats: 
    GIF .................. yes (plugin, using bundled copy)
    JPEG ................. yes (plugin, using system library)
    PNG .................. yes (in QtGui, using system library)
  libinput................ no
  Logging backends: 
    journald ............... no
    syslog   ............... no
  mtdev .................. no
  Networking: 
    CoreWlan ............. yes
    getaddrinfo .......... yes
    getifaddrs ........... yes
    IPv6 ifname .......... yes
    libproxy.............. yes
    OpenSSL .............. yes (linked to the libraries)
    SecureTransport ...... no
  NIS .................... yes
  OpenGL / OpenVG: 
    EGL .................. no
    OpenGL ............... desktop
    OpenVG ............... no
  PCRE ................... system
  pkg-config ............. yes 
  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 ................. no
    PostgreSQL ........... no
    SQLite 2 ............. no
    SQLite ............... yes (plugin, using system library)
    TDS .................. no
  tslib .................. no
  udev ................... no
  xkbcommon-x11........... no
  xkbcommon-evdev......... no
  zlib ................... yes (system library)
NOTE: When linking against OpenSSL, you can override the default
library names through OPENSSL_LIBS.
For example:
    OPENSSL_LIBS='-L/opt/ssl/lib -lssl -lcrypto' ./configure -openssl-linked
NOTE: -optimized-tools is not useful in -release mode.
Qt is now configured for building. Just run 'gmake'.
Once everything is built, you must run 'gmake install'.
Qt will be installed into /opt/local
Prior to reconfiguration, make sure you remove any leftovers from
the previous build.





More information about the Interest mailing list