[MacPorts] #67980: qt6-qtbase @6.4.3_1: undefined symbols "std::__1::pmr::…" when LLVM clang used
MacPorts
noreply at macports.org
Thu Aug 17 16:48:43 UTC 2023
#67980: qt6-qtbase @6.4.3_1: undefined symbols "std::__1::pmr::…" when LLVM clang
used
--------------------------+---------------------------------
Reporter: chrstphrchvz | Owner: MarcusCalhoun-Lopez
Type: defect | Status: assigned
Priority: Normal | Milestone:
Component: ports | Version: 2.8.1
Keywords: | Port: qt6-qtbase
--------------------------+---------------------------------
[https://build.macports.org/builders/ports-10.14_x86_64-builder/builds/176060/steps
/install-port/logs/stdio]
{{{
[311/3727] : && /opt/local/bin/clang++-mp-16
-I/opt/local/libexec/openssl3/include -DNDEBUG -Oz -arch x86_64 -isysroot
/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk -mmacosx-version-
min=10.14 -Wl,-search_paths_first -Wl,-headerpad_max_install_names
-L/opt/local/libexec/openssl3/lib -Wl,-dead_strip -fPIE -Xlinker -pie
src/tools/tracegen/CMakeFiles/tracegen.dir/etw.cpp.o
src/tools/tracegen/CMakeFiles/tracegen.dir/helpers.cpp.o
src/tools/tracegen/CMakeFiles/tracegen.dir/lttng.cpp.o
src/tools/tracegen/CMakeFiles/tracegen.dir/panic.cpp.o
src/tools/tracegen/CMakeFiles/tracegen.dir/provider.cpp.o
src/tools/tracegen/CMakeFiles/tracegen.dir/qtheaders.cpp.o
src/tools/tracegen/CMakeFiles/tracegen.dir/tracegen.cpp.o -o
libexec/tracegen src/tools/bootstrap/libBootstrap.a -framework
Foundation -framework CoreServices /opt/local/lib/libpcre2-16.dylib && :
FAILED: libexec/tracegen
: && /opt/local/bin/clang++-mp-16 -I/opt/local/libexec/openssl3/include
-DNDEBUG -Oz -arch x86_64 -isysroot
/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk -mmacosx-version-
min=10.14 -Wl,-search_paths_first -Wl,-headerpad_max_install_names
-L/opt/local/libexec/openssl3/lib -Wl,-dead_strip -fPIE -Xlinker -pie
src/tools/tracegen/CMakeFiles/tracegen.dir/etw.cpp.o
src/tools/tracegen/CMakeFiles/tracegen.dir/helpers.cpp.o
src/tools/tracegen/CMakeFiles/tracegen.dir/lttng.cpp.o
src/tools/tracegen/CMakeFiles/tracegen.dir/panic.cpp.o
src/tools/tracegen/CMakeFiles/tracegen.dir/provider.cpp.o
src/tools/tracegen/CMakeFiles/tracegen.dir/qtheaders.cpp.o
src/tools/tracegen/CMakeFiles/tracegen.dir/tracegen.cpp.o -o
libexec/tracegen src/tools/bootstrap/libBootstrap.a -framework
Foundation -framework CoreServices /opt/local/lib/libpcre2-16.dylib && :
Undefined symbols for architecture x86_64:
"std::__1::pmr::get_default_resource()", referenced from:
std::__1::pmr::monotonic_buffer_resource::monotonic_buffer_resource[abi:v160006](void*,
unsigned long) in libBootstrap.a(qstringlist.cpp.o)
"vtable for std::__1::pmr::monotonic_buffer_resource", referenced from:
std::__1::pmr::monotonic_buffer_resource::~monotonic_buffer_resource() in
libBootstrap.a(qstringlist.cpp.o)
std::__1::pmr::monotonic_buffer_resource::monotonic_buffer_resource[abi:v160006](void*,
unsigned long) in libBootstrap.a(qstringlist.cpp.o)
NOTE: a missing vtable usually means the first non-inline virtual member
function has no definition.
"std::__1::pmr::memory_resource::~memory_resource()", referenced from:
std::__1::pmr::monotonic_buffer_resource::~monotonic_buffer_resource() in
libBootstrap.a(qstringlist.cpp.o)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see
invocation)
}}}
{{{
[313/3727] : && /opt/local/bin/clang++-mp-16
-I/opt/local/libexec/openssl3/include -DNDEBUG -Oz -arch x86_64 -isysroot
/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk -mmacosx-version-
min=10.14 -Wl,-search_paths_first -Wl,-headerpad_max_install_names
-L/opt/local/libexec/openssl3/lib -Wl,-dead_strip -fPIE -Xlinker -pie
src/tools/moc/CMakeFiles/moc.dir/collectjson.cpp.o
src/tools/moc/CMakeFiles/moc.dir/generator.cpp.o
src/tools/moc/CMakeFiles/moc.dir/main.cpp.o
src/tools/moc/CMakeFiles/moc.dir/moc.cpp.o
src/tools/moc/CMakeFiles/moc.dir/parser.cpp.o
src/tools/moc/CMakeFiles/moc.dir/preprocessor.cpp.o
src/tools/moc/CMakeFiles/moc.dir/token.cpp.o -o libexec/moc
src/tools/bootstrap/libBootstrap.a -framework Foundation -framework
CoreServices /opt/local/lib/libpcre2-16.dylib && :
FAILED: libexec/moc
: && /opt/local/bin/clang++-mp-16 -I/opt/local/libexec/openssl3/include
-DNDEBUG -Oz -arch x86_64 -isysroot
/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk -mmacosx-version-
min=10.14 -Wl,-search_paths_first -Wl,-headerpad_max_install_names
-L/opt/local/libexec/openssl3/lib -Wl,-dead_strip -fPIE -Xlinker -pie
src/tools/moc/CMakeFiles/moc.dir/collectjson.cpp.o
src/tools/moc/CMakeFiles/moc.dir/generator.cpp.o
src/tools/moc/CMakeFiles/moc.dir/main.cpp.o
src/tools/moc/CMakeFiles/moc.dir/moc.cpp.o
src/tools/moc/CMakeFiles/moc.dir/parser.cpp.o
src/tools/moc/CMakeFiles/moc.dir/preprocessor.cpp.o
src/tools/moc/CMakeFiles/moc.dir/token.cpp.o -o libexec/moc
src/tools/bootstrap/libBootstrap.a -framework Foundation -framework
CoreServices /opt/local/lib/libpcre2-16.dylib && :
Undefined symbols for architecture x86_64:
"std::__1::pmr::get_default_resource()", referenced from:
std::__1::pmr::monotonic_buffer_resource::monotonic_buffer_resource[abi:v160006](void*,
unsigned long) in moc.cpp.o
"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:v160006](void*,
unsigned long) in moc.cpp.o
NOTE: a missing vtable usually means the first non-inline virtual member
function has no definition.
"std::__1::pmr::memory_resource::~memory_resource()", referenced from:
std::__1::pmr::monotonic_buffer_resource::~monotonic_buffer_resource() in
moc.cpp.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see
invocation)
}}}
This is reproducible on macOS 12 using `configure.compiler=macports-
clang-16`. I would guess that qtbase is incorrectly making assumptions
about availability of `<memory_resource>` features in the libc++ runtime
based on whether Xcode clang is used. (And it seems `<memory_resource>`
will only available starting with macOS 14:
[https://developer.apple.com/xcode/cpp/])
--
Ticket URL: <https://trac.macports.org/ticket/67980>
MacPorts <https://www.macports.org/>
Ports system for macOS
More information about the macports-tickets
mailing list