You are licensed to use this software under the terms of
the GNU Lesser General Public License (LGPL) versions 3.
You are also licensed to use this software under the terms of
the GNU General Public License (GPL) versions 2.
You have already accepted the terms of the Open Source license.
Preparing build tree...
Creating qmake...
Done.
Running configuration tests...
Failed to process makespec for platform 'macx-clang'
Turn on verbose messaging (-v) to see the final report.`
I have no idea how to perform this verbose, it seems to be a qmake option?! Where can I check for logs?
Sorry, I cannot make the quotes work :(
Designs
Child items ...
Show closed items
Linked items 0
Link issues together to show that they're related.
Learn more.
You are licensed to use this software under the terms of
the GNU Lesser General Public License (LGPL) versions 3.
You are also licensed to use this software under the terms of
the GNU General Public License (GPL) versions 2.
You have already accepted the terms of the Open Source license.
Creating qmake...
............................................................................................Done.
Running configuration tests...
Failed to process makespec for platform 'macx-clang'
Turn on verbose messaging (-v) to see the final report.`
You are licensed to use this software under the terms of
the GNU Lesser General Public License (LGPL) versions 3.
You are also licensed to use this software under the terms of
the GNU General Public License (GPL) versions 2.
You have already accepted the terms of the Open Source license.
Just for the records: qt4 is known for some time not to compile on macs:
Standard setup with qt4 enabled
`In file included from /Users/fwein/tmp/pvsb_killme/superbuild/qt4/src/src/gui/painting/qpaintengine_mac.cpp:44:
In file included from ../../include/QtGui/private/qpaintengine_mac_p.h:1:
../../include/QtGui/private/../../../../src/src/gui/painting/qpaintengine_mac_p.h:252:9: warning: private field 'mBytesPerLine' is not used [-Wunused-private-field]
int mBytesPerLine;
^
3 warnings and 2 errors generated.
make[5]: *** [.obj/release-shared/qpaintengine_mac.o] Error 1
make[5]: *** Waiting for unfinished jobs....
1 warning generated.
make[4]: *** [release] Error 2
make[3]: *** [sub-gui-make_default-ordered] Error 2
CMake Error at /Users/fwein/tmp/pvsb_killme/superbuild/sb-qt4-build.cmake:43 (message):
Failed with exit code 2
but while the configure command looks quite similar to the manual successful configuration it fails with a (new) error:
[patched_qt5.txt](/uploads/9bea80911951fcd33478afda70c6acac/patched_qt5.txtPerforming build step for 'qt5'
Info: creating cache file /Users/fwein/tmp/pvsb_patched/superbuild/qt5/build/qtbase/.qmake.cache /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: ../../../lib/libQt5Bootstrap.a(qvector.o) has no symbols /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: ../../../lib/libQt5Bootstrap.a(qvector.o) has no symbols clang: warning: libstdc++ is deprecated; move to libc++ with a minimum deployment target of OS X 10.9 clang: warning: libstdc++ is deprecated; move to libc++ with a minimum deployment target of OS X 10.9 Makefile:13164: warning: overriding commands for target .moc/qeventdispatcher_cf.moc'
Makefile:12994: warning: ignoring old commands for target .moc/qeventdispatcher_cf.moc' clang: warning: libstdc++ is deprecated; move to libc++ with a minimum deployment target of OS X 10.9 Undefined symbols for architecture x86_64: "std::__1::__vector_base_common<true>::__throw_length_error() const", referenced from: void std::__1::vector<QMetaMethodBuilderPrivate, std::__1::allocator<QMetaMethodBuilderPrivate> >::__push_back_slow_path<QMetaMethodBuilderPrivate>(QMetaMethodBuilderPrivate&&) in qmetaobjectbuilder.o void std::__1::vector<QMetaPropertyBuilderPrivate, std::__1::allocator<QMetaPropertyBuilderPrivate> >::__push_back_slow_path<QMetaPropertyBuilderPrivate>(QMetaPropertyBuilderPrivate&&) in qmetaobjectbuilder.o void std::__1::vector<QMetaEnumBuilderPrivate, std::__1::allocator<QMetaEnumBuilderPrivate> >::__push_back_slow_path<QMetaEnumBuilderPrivate>(QMetaEnumBuilderPrivate&&) in qmetaobjectbuilder.o "void std::__1::__sort<std::__1::__less<int, int>&, int*>(int*, int*, std::__1::__less<int, int>&)", referenced from: QString::multiArg(int, QString const**) const in qstring.o QSortFilterProxyModelPrivate::_q_sourceHeaderDataChanged(Qt::Orientation, int, int) in qsortfilterproxymodel.o QSortFilterProxyModel::removeRows(int, int, QModelIndex const&) in qsortfilterproxymodel.o "std::bad_alloc::bad_alloc()", referenced from: qBadAlloc() in qglobal.o QVector<QList<bool (*)(void**)> >::reallocData(int, int, QFlags<QArrayData::AllocationOption>) in qglobal.o ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation) make[6]: *** [../../lib/QtCore.framework/QtCore] Error 1 make[5]: *** [sub-corelib-make_first] Error 2 make[4]: *** [sub-src-make_first] Error 2 make[3]: *** [module-qtbase-make_first] Error 2 CMake Error at /Users/fwein/tmp/pvsb_patched/superbuild/sb-qt5-build.cmake:43 (message): Failed with exit code 2 )
Just calling cmake with -DCMAKE_OSX_SDK=macosx does not help ...
Performing build step for 'qt5' Info: creating cache file /Users/fwein/tmp/pvsb_sdk/superbuild/qt5/build/qtbase/.qmake.cache /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: ../../../lib/libQt5Bootstrap.a(qvector.o) has no symbols /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: ../../../lib/libQt5Bootstrap.a(qvector.o) has no symbols clang: warning: libstdc++ is deprecated; move to libc++ with a minimum deployment target of OS X 10.9 clang: warning: libstdc++ is deprecated; move to libc++ with a minimum deployment target of OS X 10.9 Makefile:13164: warning: overriding commands for target.moc/qeventdispatcher_cf.moc'
Makefile:12994: warning: ignoring old commands for target .moc/qeventdispatcher_cf.moc' clang: warning: libstdc++ is deprecated; move to libc++ with a minimum deployment target of OS X 10.9 Undefined symbols for architecture x86_64: "std::__1::__vector_base_common<true>::__throw_length_error() const", referenced from: void std::__1::vector<QMetaMethodBuilderPrivate, std::__1::allocator<QMetaMethodBuilderPrivate> >::__push_back_slow_path<QMetaMethodBuilderPrivate>(QMetaMethodBuilderPrivate&&) in qmetaobjectbuilder.o void std::__1::vector<QMetaPropertyBuilderPrivate, std::__1::allocator<QMetaPropertyBuilderPrivate> >::__push_back_slow_path<QMetaPropertyBuilderPrivate>(QMetaPropertyBuilderPrivate&&) in qmetaobjectbuilder.o void std::__1::vector<QMetaEnumBuilderPrivate, std::__1::allocator<QMetaEnumBuilderPrivate> >::__push_back_slow_path<QMetaEnumBuilderPrivate>(QMetaEnumBuilderPrivate&&) in qmetaobjectbuilder.o "void std::__1::__sort<std::__1::__less<int, int>&, int*>(int*, int*, std::__1::__less<int, int>&)", referenced from: QString::multiArg(int, QString const**) const in qstring.o QSortFilterProxyModelPrivate::_q_sourceHeaderDataChanged(Qt::Orientation, int, int) in qsortfilterproxymodel.o QSortFilterProxyModel::removeRows(int, int, QModelIndex const&) in qsortfilterproxymodel.o "std::bad_alloc::bad_alloc()", referenced from: qBadAlloc() in qglobal.o QVector<QList<bool (*)(void**)> >::reallocData(int, int, QFlags<QArrayData::AllocationOption>) in qglobal.o ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation) make[6]: *** [../../lib/QtCore.framework/QtCore] Error 1 make[5]: *** [sub-corelib-make_first] Error 2 make[4]: *** [sub-src-make_first] Error 2 make[3]: *** [module-qtbase-make_first] Error 2
results in (sorry, the code insertion simply of the editor simply fails :(
`Prior to reconfiguration, make sure you remove any leftovers from
the previous build.
[ 64%] Performing build step for 'qt5'
Info: creating cache file /Users/fwein/tmp/build_qt571/superbuild/qt5/build/qtbase/.qmake.cache
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: ../../../lib/libQt5Bootstrap.a(qvector.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: ../../../lib/libQt5Bootstrap.a(qvector.o) has no symbols
clang: warning: libstdc++ is deprecated; move to libc++ with a minimum deployment target of OS X 10.9
ld: warning: directory not found for option '-L/Users/fwein/tmp/build_qt571/install/lib'
clang: warning: libstdc++ is deprecated; move to libc++ with a minimum deployment target of OS X 10.9
ld: warning: directory not found for option '-L/Users/fwein/tmp/build_qt571/install/lib'
Makefile:13173: warning: overriding commands for target .moc/qeventdispatcher_cf.moc' Makefile:13003: warning: ignoring old commands for target .moc/qeventdispatcher_cf.moc'
clang: warning: libstdc++ is deprecated; move to libc++ with a minimum deployment target of OS X 10.9
ld: warning: directory not found for option '-L/Users/fwein/tmp/build_qt571/install/lib'
ld: warning: directory not found for option '-L/Users/fwein/tmp/build_qt571/install/lib'
Undefined symbols for architecture x86_64:
"std::__1::__vector_base_common::__throw_length_error() const", referenced from:
void std::__1::vector<QMetaMethodBuilderPrivate, std::__1::allocator >::__push_back_slow_path(QMetaMethodBuilderPrivate&&) in qmetaobjectbuilder.o
void std::__1::vector<QMetaPropertyBuilderPrivate, std::__1::allocator >::__push_back_slow_path(QMetaPropertyBuilderPrivate&&) in qmetaobjectbuilder.o
void std::__1::vector<QMetaEnumBuilderPrivate, std::__1::allocator >::__push_back_slow_path(QMetaEnumBuilderPrivate&&) in qmetaobjectbuilder.o
"void std::__1::__sort<std::__1::__less<int, int>&, int>(int, int*, std::__1::__less<int, int>&)", referenced from:
QString::multiArg(int, QString const**) const in qstring.o
QSortFilterProxyModelPrivate::_q_sourceHeaderDataChanged(Qt::Orientation, int, int) in qsortfilterproxymodel.o
QSortFilterProxyModel::removeRows(int, int, QModelIndex const&) in qsortfilterproxymodel.o
"std::bad_alloc::bad_alloc()", referenced from:
qBadAlloc() in qglobal.o
QVector<QList<bool (*)(void**)> >::reallocData(int, int, QFlagsQArrayData::AllocationOption) in qglobal.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[6]: *** [../../lib/QtCore.framework/QtCore] Error 1
make[5]: *** [sub-corelib-make_first] Error 2
make[4]: *** [sub-src-make_first] Error 2
make[3]: *** [module-qtbase-make_first] Error 2
CMake Error at /Users/fwein/tmp/build_qt571/superbuild/sb-qt5-build.cmake:43 (message):
Failed with exit code 2
[ 57%] Performing build step for 'qt5' Info: creating cache file /Users/fwein/tmp/build_qt571_no_c11/superbuild/qt5/build/qtbase/.qmake.cache In file included from /Users/fwein/tmp/build_qt571_no_c11/superbuild/qt5/src/qtbase/src/corelib/codecs/qlatincodec.cpp:40: In file included from /Users/fwein/tmp/build_qt571_no_c11/superbuild/qt5/src/qtbase/src/corelib/codecs/qlatincodec_p.h:54: In file included from /Users/fwein/tmp/build_qt571_no_c11/superbuild/qt5/src/qtbase/include/QtCore/qtextcodec.h:1: In file included from /Users/fwein/tmp/build_qt571_no_c11/superbuild/qt5/src/qtbase/include/QtCore/../../src/corelib/codecs/qtextcodec.h:43: In file included from /Users/fwein/tmp/build_qt571_no_c11/superbuild/qt5/src/qtbase/include/QtCore/qstring.h:1: /Users/fwein/tmp/build_qt571_no_c11/superbuild/qt5/src/qtbase/include/QtCore/../../src/corelib/tools/qstring.h:765:55: error: no type named 'u16string' in namespace 'std' static inline QString fromStdU16String(const std::u16string &s); ~~~~~^ /Users/fwein/tmp/build_qt571_no_c11/superbuild/qt5/src/qtbase/include/QtCore/../../src/corelib/tools/qstring.h:766:17: error: no type named 'u16string' in namespace 'std' inline std::u16string toStdU16String() const; ...
Performing build step for 'qt5' Info: creating cache file /Users/fwein/tmp/build_qt562/superbuild/qt5/build/qtbase/.qmake.cache /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: ../../../lib/libQt5Bootstrap.a(qvector.o) has no symbols /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: ../../../lib/libQt5Bootstrap.a(qvector.o) has no symbols clang: warning: libstdc++ is deprecated; move to libc++ with a minimum deployment target of OS X 10.9 ld: warning: directory not found for option '-L/Users/fwein/tmp/build_qt562/install/lib' clang: warning: libstdc++ is deprecated; move to libc++ with a minimum deployment target of OS X 10.9 ld: warning: directory not found for option '-L/Users/fwein/tmp/build_qt562/install/lib' Makefile:13949: warning: overriding commands for target.moc/qeventdispatcher_cf.moc'
Makefile:13767: warning: ignoring old commands for target .moc/qeventdispatcher_cf.moc' clang: warning: libstdc++ is deprecated; move to libc++ with a minimum deployment target of OS X 10.9 ld: warning: directory not found for option '-L/Users/fwein/tmp/build_qt562/install/lib' ld: warning: directory not found for option '-L/Users/fwein/tmp/build_qt562/install/lib' Undefined symbols for architecture x86_64: "void std::__1::__sort<std::__1::__less<int, int>&, int*>(int*, int*, std::__1::__less<int, int>&)", referenced from: QString::multiArg(int, QString const**) const in qstring.o QSortFilterProxyModelPrivate::_q_sourceHeaderDataChanged(Qt::Orientation, int, int) in qsortfilterproxymodel.o QSortFilterProxyModel::removeRows(int, int, QModelIndex const&) in qsortfilterproxymodel.o "std::bad_alloc::bad_alloc()", referenced from: qBadAlloc() in qglobal.o QVector<QList<bool (*)(void**)> >::reallocData(int, int, QFlags<QArrayData::AllocationOption>) in qglobal.o ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation) make[6]: *** [../../lib/QtCore.framework/QtCore] Error 1 make[5]: *** [sub-corelib-make_first] Error 2 make[4]: *** [sub-src-make_first] Error 2 make[3]: *** [module-qtbase-make_first] Error 2 CMake Error at /Users/fwein/tmp/build_qt562/superbuild/sb-qt5-build.cmake:43 (message): Failed with exit code 2
One more: An obvious difference between the linker commands is, that in psvb the first two options from vanilla qt 5.7.1 is missing "-headerpad_max_install_names -stdlib=libc++"
When I add this to the pvsb link command and execute it in
/Users/fwein/tmp/build_qt571/superbuild/qt5/build/qtbase/src/corelib
I don't get the linker error any more! But the next link fails.
Anybody has an idea on how to change this? Unfortunately qt is not missing cmake, so I have no idea :(
@Wein I don't have a Sierra machine to test on... but I plan to move the superbuild to qt 5.7.1 soon. As far as I know, the superbuild should be the same as running the configure command manually. Maybe check what environment variables it is using? In your build directory there will be a subdirectory called superbuild. In there you will find a file named something like sb-qt5-configure.cmake. That is the script the superbuild runs to configure Qt. If you look at the top of the script it is probably setting some environment variable that is breaking the configure. Let me know what you find out and I can help get the changes into the superbuild.
The first line is where it sets the environment variables. They are a CMake list with the name of the variable and value being two adjacent elements in the list. But I don't see anything that I think would make a difference there. Maybe PATH, but I think that one is appended by the superbuild logic. Possibly the CXXFLAGS or CFLAGS existing is overriding something important for Qt?
You could try adding the flags you found you need (-headerpad_max_install_names -stdlib=libc++ -Wl,-syslibroot ...) to the LDFLAGS value in the first line and run the script. (cmake -P $script). Other than that I'm not sure. @ben.boeckel?
@Ben: I added the patch, slightly changed by
superbuild_append_flags(ld_flags "-headerpad_max_install_names -stdlib=libc++" PROJECT_ONLY)
And it appears, it did the trick! (still building at the moment but it links with
'clang++ -headerpad_max_install_names -stdlib=libc++ -Wl,-syslibroot ...'
It seems not to work without PROJECT_ONLY