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

Build Issue with LLVM 16

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • P4: Low
    • None
    • 6.5.0 FF, 6.5.0
    • Build System
    • None
    • macOS

    Description

      qtbase build fails with LLVM 16 as it seems they've shipped some changes around <memory_resources>, see here.

      Configure:

      ../../../qt5/configure -ccache -nomake examples -make tests -prefix /Users/amabdol/Developer/Qt/installs/qtbase-llvm -submodules qtbase -developer-build -- --fresh --trace-expand --trace-redirect=cmake.trace.log -DCMAKE_C_COMPILER=/opt/homebrew/opt/llvm/bin/clang -DCMAKE_CXX_COMPILER=/opt/homebrew/opt/llvm/bin/clang++

      Build:

      [8/4602] Compiling syncqt
      ninja: no work to do.
      [307/4602] Linking CXX executable qtbase/libexec/tracepointgen
      FAILED: qtbase/libexec/tracepointgen
      : && /opt/homebrew/opt/llvm/bin/clang++ -g -arch arm64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.1.sdk -mmacosx-version-min=11.0 -Wl,-search_paths_first -Wl,-headerpad_max_install_names -Wl,-dead_strip -fPIE -Xlinker -pie qtbase/src/tools/tracepointgen/CMakeFiles/tracepointgen.dir/tracepointgen.cpp.o qtbase/src/tools/tracepointgen/CMakeFiles/tracepointgen.dir/parser.cpp.o -o qtbase/libexec/tracepointgen  qtbase/src/tools/bootstrap/libBootstrap_debug.a  -framework Foundation  -framework CoreServices && :
      Undefined symbols for architecture arm64:
        "std::__1::pmr::memory_resource::~memory_resource()", referenced from:
            std::__1::pmr::monotonic_buffer_resource::~monotonic_buffer_resource() in libBootstrap_debug.a(qstringlist.cpp.o)
        "std::__1::pmr::get_default_resource()", referenced from:
            std::__1::pmr::monotonic_buffer_resource::monotonic_buffer_resource[abi:v160000](void*, unsigned long) in libBootstrap_debug.a(qstringlist.cpp.o)
        "vtable for std::__1::pmr::memory_resource", referenced from:
            std::__1::pmr::memory_resource::memory_resource() in libBootstrap_debug.a(qstringlist.cpp.o)
        NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
        "vtable for std::__1::pmr::monotonic_buffer_resource", referenced from:
            std::__1::pmr::monotonic_buffer_resource::~monotonic_buffer_resource() in libBootstrap_debug.a(qstringlist.cpp.o)
            std::__1::pmr::monotonic_buffer_resource::monotonic_buffer_resource[abi:v160000](void*, unsigned long, std::__1::pmr::memory_resource*) in libBootstrap_debug.a(qstringlist.cpp.o)
        NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
      ld: symbol(s) not found for architecture arm64
      clang-16: error: linker command failed with exit code 1 (use -v to see invocation)
      [308/4602] Linking CXX executable qtbase/libexec/tracegen
      FAILED: qtbase/libexec/tracegen
      : && /opt/homebrew/opt/llvm/bin/clang++ -g -arch arm64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.1.sdk -mmacosx-version-min=11.0 -Wl,-search_paths_first -Wl,-headerpad_max_install_names -Wl,-dead_strip -fPIE -Xlinker -pie qtbase/src/tools/tracegen/CMakeFiles/tracegen.dir/etw.cpp.o qtbase/src/tools/tracegen/CMakeFiles/tracegen.dir/helpers.cpp.o qtbase/src/tools/tracegen/CMakeFiles/tracegen.dir/ctf.cpp.o qtbase/src/tools/tracegen/CMakeFiles/tracegen.dir/lttng.cpp.o qtbase/src/tools/tracegen/CMakeFiles/tracegen.dir/panic.cpp.o qtbase/src/tools/tracegen/CMakeFiles/tracegen.dir/provider.cpp.o qtbase/src/tools/tracegen/CMakeFiles/tracegen.dir/qtheaders.cpp.o qtbase/src/tools/tracegen/CMakeFiles/tracegen.dir/tracegen.cpp.o -o qtbase/libexec/tracegen  qtbase/src/tools/bootstrap/libBootstrap_debug.a  -framework Foundation  -framework CoreServices && :
      Undefined symbols for architecture arm64:
        "std::__1::pmr::memory_resource::~memory_resource()", referenced from:
            std::__1::pmr::monotonic_buffer_resource::~monotonic_buffer_resource() in libBootstrap_debug.a(qstringlist.cpp.o)
        "std::__1::pmr::get_default_resource()", referenced from:
            std::__1::pmr::monotonic_buffer_resource::monotonic_buffer_resource[abi:v160000](void*, unsigned long) in libBootstrap_debug.a(qstringlist.cpp.o)
        "vtable for std::__1::pmr::memory_resource", referenced from:
            std::__1::pmr::memory_resource::memory_resource() in libBootstrap_debug.a(qstringlist.cpp.o)
        NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
        "vtable for std::__1::pmr::monotonic_buffer_resource", referenced from:
            std::__1::pmr::monotonic_buffer_resource::~monotonic_buffer_resource() in libBootstrap_debug.a(qstringlist.cpp.o)
            std::__1::pmr::monotonic_buffer_resource::monotonic_buffer_resource[abi:v160000](void*, unsigned long, std::__1::pmr::memory_resource*) in libBootstrap_debug.a(qstringlist.cpp.o)
        NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
      ld: symbol(s) not found for architecture arm64
      clang-16: error: linker command failed with exit code 1 (use -v to see invocation)
      [309/4602] Linking CXX executable qtbase/libexec/cmake_automoc_parser
      FAILED: qtbase/libexec/cmake_automoc_parser
      : && /opt/homebrew/opt/llvm/bin/clang++ -g -arch arm64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.1.sdk -mmacosx-version-min=11.0 -Wl,-search_paths_first -Wl,-headerpad_max_install_names -Wl,-dead_strip -fPIE -Xlinker -pie qtbase/src/tools/cmake_automoc_parser/CMakeFiles/cmake_automoc_parser.dir/main.cpp.o -o qtbase/libexec/cmake_automoc_parser  qtbase/src/tools/bootstrap/libBootstrap_debug.a  -framework Foundation  -framework CoreServices && :
      Undefined symbols for architecture arm64:
        "std::__1::pmr::memory_resource::~memory_resource()", referenced from:
            std::__1::pmr::monotonic_buffer_resource::~monotonic_buffer_resource() in libBootstrap_debug.a(qstringlist.cpp.o)
        "std::__1::pmr::get_default_resource()", referenced from:
            std::__1::pmr::monotonic_buffer_resource::monotonic_buffer_resource[abi:v160000](void*, unsigned long) in libBootstrap_debug.a(qstringlist.cpp.o)
        "vtable for std::__1::pmr::memory_resource", referenced from:
            std::__1::pmr::memory_resource::memory_resource() in libBootstrap_debug.a(qstringlist.cpp.o)
        NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
        "vtable for std::__1::pmr::monotonic_buffer_resource", referenced from:
            std::__1::pmr::monotonic_buffer_resource::~monotonic_buffer_resource() in libBootstrap_debug.a(qstringlist.cpp.o)
            std::__1::pmr::monotonic_buffer_resource::monotonic_buffer_resource[abi:v160000](void*, unsigned long, std::__1::pmr::memory_resource*) in libBootstrap_debug.a(qstringlist.cpp.o)
        NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
      ld: symbol(s) not found for architecture arm64
      clang-16: error: linker command failed with exit code 1 (use -v to see invocation)
      [310/4602] Linking CXX executable qtbase/libexec/moc
      FAILED: qtbase/libexec/moc
      : && /opt/homebrew/opt/llvm/bin/clang++ -g -arch arm64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.1.sdk -mmacosx-version-min=11.0 -Wl,-search_paths_first -Wl,-headerpad_max_install_names -Wl,-dead_strip -fPIE -Xlinker -pie qtbase/src/tools/moc/CMakeFiles/moc.dir/collectjson.cpp.o qtbase/src/tools/moc/CMakeFiles/moc.dir/generator.cpp.o qtbase/src/tools/moc/CMakeFiles/moc.dir/main.cpp.o qtbase/src/tools/moc/CMakeFiles/moc.dir/moc.cpp.o qtbase/src/tools/moc/CMakeFiles/moc.dir/parser.cpp.o qtbase/src/tools/moc/CMakeFiles/moc.dir/preprocessor.cpp.o qtbase/src/tools/moc/CMakeFiles/moc.dir/token.cpp.o -o qtbase/libexec/moc  qtbase/src/tools/bootstrap/libBootstrap_debug.a  -framework Foundation  -framework CoreServices && :
      Undefined symbols for architecture arm64:
        "std::__1::pmr::memory_resource::~memory_resource()", referenced from:
            std::__1::pmr::monotonic_buffer_resource::~monotonic_buffer_resource() in moc.cpp.o
        "std::__1::pmr::get_default_resource()", referenced from:
            std::__1::pmr::monotonic_buffer_resource::monotonic_buffer_resource[abi:v160000](void*, unsigned long) in moc.cpp.o
        "vtable for std::__1::pmr::memory_resource", referenced from:
            std::__1::pmr::memory_resource::memory_resource() in moc.cpp.o
        NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
        "vtable for std::__1::pmr::monotonic_buffer_resource", referenced from:
            std::__1::pmr::monotonic_buffer_resource::~monotonic_buffer_resource() in moc.cpp.o
            std::__1::pmr::monotonic_buffer_resource::monotonic_buffer_resource[abi:v160000](void*, unsigned long, std::__1::pmr::memory_resource*) in moc.cpp.o
        NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
      ld: symbol(s) not found for architecture arm64
      clang-16: error: linker command failed with exit code 1 (use -v to see invocation)
      [314/4602] Building CXX object qtbase/src/3rdparty/harfbuzz-ng/CMakeFiles/BundledHarfbuzz.dir/src/hb-style.cc.o
      

      Attachments

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

        Activity

          People

            qtbuildsystem Qt Build System Team
            mrmsdbdl Amir Masoud Abdol
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes