[MacPorts] #68640: clang-17: builds some software that does not link on older macOS: Undefined symbols "std::__1::__libcpp_verbose_abort
MacPorts
noreply at macports.org
Sun Apr 7 14:28:57 UTC 2024
#68640: clang-17: builds some software that does not link on older macOS: Undefined
symbols "std::__1::__libcpp_verbose_abort
-------------------------------------------------+----------------------
Reporter: snowflake | Owner: dbevans
Type: defect | Status: assigned
Priority: Normal | Milestone:
Component: ports | Version: 2.8.99
Resolution: | Keywords:
Port: clang-17, poppler, gjs, gegl, mesa |
-------------------------------------------------+----------------------
Comment (by kencu):
this seems to fix this issue for clang-16 when using macports-libcxx, by
defining the noted define when the availability settings are disabled:
{{{
$ diff -u /opt/local/libexec/llvm-16/include/c++/v1/__availability.orig
/opt/local/libexec/llvm-16/include/c++/v1/__availability
--- /opt/local/libexec/llvm-16/include/c++/v1/__availability.orig
2024-04-07 07:21:22.000000000 -0700
+++ /opt/local/libexec/llvm-16/include/c++/v1/__availability 2024-04-07
07:22:05.000000000 -0700
@@ -159,7 +159,7 @@
// This controls whether the library claims to provide a default
verbose
// termination function, and consequently whether the headers will
try
// to use it when the mechanism isn't overriden at compile-time.
-// # define _LIBCPP_HAS_NO_VERBOSE_ABORT_IN_LIBRARY
+# define _LIBCPP_HAS_NO_VERBOSE_ABORT_IN_LIBRARY
#elif defined(__APPLE__)
}}}
I would suspect something similar will fix clang-17.
It needs a bit of broader testing, from a few interested folks, and then
if it is indeed robust, it's a very very trivial patch to the installed
clang cxx headers.
--
Ticket URL: <https://trac.macports.org/ticket/68640#comment:39>
MacPorts <https://www.macports.org/>
Ports system for macOS
More information about the macports-tickets
mailing list