[Qt-creator] clangrefactoring tool does not build with Xcode 8.2 and Qt5.6

Andreas Pakulat apaku at gmx.de
Tue Feb 7 15:05:18 CET 2017


Hi,

since I couldn't find a related review and thought that filing a
bureport for a problem in building an experimental feature of the
master branch isn't exactly 'proper' I thought I'd check here wether
this is a 'known problem' already.

I'm building QtC with libclang 3.9 (the zip provided via
download.qt.io) with Xcode 8.2.1 and Qt5.6 binary install on macOS
10.12.

Since the clang code model is enabled, so is the (seemingly
experimental) clangrefactoringbackend tool. Unfortunately building the
refactoringserver.cpp file bails out with compile errors (see below).
It appears the reason for that is specifying
-mmacosx-version-min=10.7. I couldn't figure out where that is coming
from so can't suggest a proper patch, but running the compilation
command manually replacing 10.7 with 10.8 fixes the issue here. I
haven't tried actually using the resulting tool though.

Compile output:
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++
-c -pipe -stdlib=libc++ -I/Users/andreas/libclang/include
-fvisibility-inlines-hidden -Wall -W -Wno-unused-parameter
-Wwrite-strings -Wcast-qual -Wmissing-field-initializers
-Wno-long-long -Wcovered-switch-default -Wnon-virtual-dtor
-Wdelete-non-virtual-dtor  -std=c++11  -DNDEBUG
-D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS
-O2 -std=gnu++1y -isysroot
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk
-mmacosx-version-min=10.7 -Wall -W -fPIC
-D'RELATIVE_PLUGIN_PATH="../PlugIns"'
-D'RELATIVE_LIBEXEC_PATH="../Resources"'
-D'RELATIVE_DATA_PATH="../Resources"'
-D'RELATIVE_DOC_PATH="../Resources/doc"'
-DIDE_LIBRARY_BASENAME=\"lib\" -DQT_CREATOR -DQT_NO_CAST_TO_ASCII
-DQT_RESTRICTED_CAST_FROM_ASCII
-DQT_DISABLE_DEPRECATED_BEFORE=0x050600 -DQT_NO_DEBUG
-DQT_CONCURRENT_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB
-DQT_CORE_LIB -I../../../src -I/Users/andreas/src/qt-creator/src
-I/Users/andreas/src/qt-creator/src/libs
-I/Users/andreas/src/qt-creator/tools
-I/Users/andreas/src/qt-creator/src/plugins
-I/Users/andreas/src/qt-creator/src/libs/clangbackendipc
-I/Users/andreas/src/qt-creator/src/libs/sqlite
-I/Users/andreas/src/qt-creator/src/tools/clangrefactoringbackend/source
-I/Users/andreas/libclang/include
-I/Users/andreas/Qt/5.6/clang_64/lib/QtConcurrent.framework/Headers
-I/Users/andreas/Qt/5.6/clang_64/lib/QtWidgets.framework/Headers
-I/Users/andreas/Qt/5.6/clang_64/lib/QtGui.framework/Headers
-I/Users/andreas/Qt/5.6/clang_64/lib/QtNetwork.framework/Headers
-I/Users/andreas/Qt/5.6/clang_64/lib/QtCore.framework/Headers
-I.moc/release-shared
-I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/System/Library/Frameworks/OpenGL.framework/Headers
-I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/System/Library/Frameworks/AGL.framework/Headers
-I/Users/andreas/Qt/5.6/clang_64/mkspecs/macx-clang
-F/Users/andreas/Qt/5.6/clang_64/lib -o
.obj/release-shared/refactoringserver.o
/Users/andreas/src/qt-creator/src/tools/clangrefactoringbackend/source/refactoringserver.cpp
/Users/andreas/src/qt-creator/src/tools/clangrefactoringbackend/source/refactoringserver.cpp:154:96:
error:
      'future<ClangBackEnd::SourceRangesAndDiagnosticsForQueryMessage>'
is unavailable: introduced in macOS 10.8
std::size_t RefactoringServer::waitForNewSourceRangesAndDiagnosticsForQueryMessage(std::vector<Future>
&futures)

                        ^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/future:1074:57:
note:
      'future<ClangBackEnd::SourceRangesAndDiagnosticsForQueryMessage>'
has been explicitly marked unavailable here
class _LIBCPP_TYPE_VIS_ONLY _LIBCPP_AVAILABILITY_FUTURE future
                                                        ^
/Users/andreas/src/qt-creator/src/tools/clangrefactoringbackend/source/refactoringserver.cpp:159:21:
error:
      'future<ClangBackEnd::SourceRangesAndDiagnosticsForQueryMessage>'
is unavailable: introduced in macOS 10.8
        std::vector<Future> readyFutures;
                    ^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/future:1074:57:
note:
      'future<ClangBackEnd::SourceRangesAndDiagnosticsForQueryMessage>'
has been explicitly marked unavailable here
class _LIBCPP_TYPE_VIS_ONLY _LIBCPP_AVAILABILITY_FUTURE future
                                                        ^
/Users/andreas/src/qt-creator/src/tools/clangrefactoringbackend/source/refactoringserver.cpp:164:52:
error:
      'future<ClangBackEnd::SourceRangesAndDiagnosticsForQueryMessage>'
is unavailable: introduced in macOS 10.8
                                         [] (const Future &future) {
                                                   ^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/future:1074:57:
note:
      'future<ClangBackEnd::SourceRangesAndDiagnosticsForQueryMessage>'
has been explicitly marked unavailable here
class _LIBCPP_TYPE_VIS_ONLY _LIBCPP_AVAILABILITY_FUTURE future
                                                        ^
/Users/andreas/src/qt-creator/src/tools/clangrefactoringbackend/source/refactoringserver.cpp:171:14:
error:
      'future<ClangBackEnd::SourceRangesAndDiagnosticsForQueryMessage>'
is unavailable: introduced in macOS 10.8
        for (Future &readyFuture : readyFutures)
             ^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/future:1074:57:
note:
      'future<ClangBackEnd::SourceRangesAndDiagnosticsForQueryMessage>'
has been explicitly marked unavailable here
class _LIBCPP_TYPE_VIS_ONLY _LIBCPP_AVAILABILITY_FUTURE future
                                                        ^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/future:2367:16:
error:
      no matching function for call to '__make_async_assoc_state'
        return _VSTD::__make_async_assoc_state<_Rp>(_BF(__decay_copy(_VSTD::forward<_Fp>(__f)),
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/__config:397:15:
note:
      expanded from macro '_VSTD'
#define _VSTD std::_LIBCPP_NAMESPACE
              ^
/Users/andreas/src/qt-creator/src/tools/clangrefactoringbackend/source/refactoringserver.cpp:138:36:
note: in
      instantiation of function template specialization
      'std::__1::async<ClangBackEnd::SourceRangesAndDiagnosticsForQueryMessage
(&)(ClangBackEnd::V2::FileContainer &&,
      std::__1::vector<ClangBackEnd::V2::FileContainer,
std::__1::allocator<ClangBackEnd::V2::FileContainer> > &&,
      Utils::BasicSmallString<31> &&, const std::__1::atomic<bool> &),
ClangBackEnd::V2::FileContainer,
      std::__1::vector<ClangBackEnd::V2::FileContainer,
std::__1::allocator<ClangBackEnd::V2::FileContainer> >,
      Utils::BasicSmallString<31>,
std::__1::reference_wrapper<std::__1::atomic<bool> > >' requested here
            Future &&future = std::async(std::launch::async,
                                   ^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/future:2312:1:
note:
      candidate template ignored: substitution failure [with _Rp =
      ClangBackEnd::SourceRangesAndDiagnosticsForQueryMessage]:
      'future<ClangBackEnd::SourceRangesAndDiagnosticsForQueryMessage>'
is unavailable: introduced in macOS 10.8
__make_async_assoc_state(_Fp&& __f)
^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/future:2375:16:
error:
      no matching function for call to '__make_deferred_assoc_state'
        return _VSTD::__make_deferred_assoc_state<_Rp>(_BF(__decay_copy(_VSTD::forward<_Fp>(__f)),
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/__config:397:15:
note:
      expanded from macro '_VSTD'
#define _VSTD std::_LIBCPP_NAMESPACE
              ^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/future:2299:1:
note:
      candidate template ignored: substitution failure [with _Rp =
      ClangBackEnd::SourceRangesAndDiagnosticsForQueryMessage]:
      'future<ClangBackEnd::SourceRangesAndDiagnosticsForQueryMessage>'
is unavailable: introduced in macOS 10.8
__make_deferred_assoc_state(_Fp&& __f)
^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/future:2377:12:
error:
      'future<ClangBackEnd::SourceRangesAndDiagnosticsForQueryMessage>'
is unavailable: introduced in macOS 10.8
    return future<_Rp>{};
           ^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/future:1074:57:
note:
      'future<ClangBackEnd::SourceRangesAndDiagnosticsForQueryMessage>'
has been explicitly marked unavailable here
class _LIBCPP_TYPE_VIS_ONLY _LIBCPP_AVAILABILITY_FUTURE future
                                                        ^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/future:1162:1:
error:
      'future<ClangBackEnd::SourceRangesAndDiagnosticsForQueryMessage>'
is unavailable: introduced in macOS 10.8
future<_Rp>::~future()
^
/Users/andreas/src/qt-creator/src/tools/clangrefactoringbackend/source/refactoringserver.cpp:138:31:
note: in
      instantiation of member function
      'std::__1::future<ClangBackEnd::SourceRangesAndDiagnosticsForQueryMessage>::~future'
requested here
            Future &&future = std::async(std::launch::async,
                              ^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/future:1074:57:
note:
      'future<ClangBackEnd::SourceRangesAndDiagnosticsForQueryMessage>'
has been explicitly marked unavailable here
class _LIBCPP_TYPE_VIS_ONLY _LIBCPP_AVAILABILITY_FUTURE future
                                                        ^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/future:1170:1:
error:
      'future<ClangBackEnd::SourceRangesAndDiagnosticsForQueryMessage>'
is unavailable: introduced in macOS 10.8
future<_Rp>::get()
^
/Users/andreas/src/qt-creator/src/tools/clangrefactoringbackend/source/refactoringserver.cpp:172:77:
note: in
      instantiation of member function
'std::__1::future<ClangBackEnd::SourceRangesAndDiagnosticsForQueryMessage>::get'
      requested here
            client()->sourceRangesAndDiagnosticsForQueryMessage(readyFuture.get());
                                                                            ^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/future:1074:57:
note:
      'future<ClangBackEnd::SourceRangesAndDiagnosticsForQueryMessage>'
has been explicitly marked unavailable here
class _LIBCPP_TYPE_VIS_ONLY _LIBCPP_AVAILABILITY_FUTURE future
                                                        ^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/future:680:1:
error:
      '__assoc_state<ClangBackEnd::SourceRangesAndDiagnosticsForQueryMessage>'
is unavailable: introduced in macOS 10.8
__assoc_state<_Rp>::move()
^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/future:1175:17:
note:
      in instantiation of member function
      'std::__1::__assoc_state<ClangBackEnd::SourceRangesAndDiagnosticsForQueryMessage>::move'
requested here
    return __s->move();
                ^
/Users/andreas/src/qt-creator/src/tools/clangrefactoringbackend/source/refactoringserver.cpp:172:77:
note: in
      instantiation of member function
'std::__1::future<ClangBackEnd::SourceRangesAndDiagnosticsForQueryMessage>::get'
      requested here
            client()->sourceRangesAndDiagnosticsForQueryMessage(readyFuture.get());
                                                                            ^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/future:601:35:
note:
      '__assoc_state<ClangBackEnd::SourceRangesAndDiagnosticsForQueryMessage>'
has been explicitly marked unavailable
      here
class _LIBCPP_AVAILABILITY_FUTURE __assoc_state
                                  ^
10 errors generated.



More information about the Qt-creator mailing list