| Issue |
87590
|
| Summary |
Undefined symbols "std::__1::__libcpp_verbose_abort(char const*, ...)"
|
| Labels |
new issue
|
| Assignees |
|
| Reporter |
ryandesign
|
Various software that used to build fine on older versions of macOS (with its older libc++) when using a newer version of llvm.org clang now fails to build with llvm.org clang 16 and 17 with a message like:
```
Undefined symbols for architecture x86_64:
"std::__1::__libcpp_verbose_abort(char const*, ...)", referenced from:
__ZNSt3__120__throw_out_of_rangeB8un170004EPKc in GooString.cc.o
__ZNSt3__120__throw_length_errorB8un170004EPKc in GooString.cc.o
__ZNSt3__120__throw_length_errorB8un170004EPKc in gbase64.cc.o
__ZNSt3__120__throw_length_errorB8un170004EPKc in gbasename.cc.o
__ZNSt3__120__throw_length_errorB8un170004EPKc in gfile.cc.o
__ZNSt3__120__throw_length_errorB8un170004EPKc in grandom.cc.o
__ZNSt3__120__throw_length_errorB8un170004EPKc in FoFiTrueType.cc.o
...
```
MacPorts is tracking this issue at https://trac.macports.org/ticket/68640 but we do not know how to solve it other than forever limiting older systems to using clang 15 and older, which is eventually going to be a problem when software requires features introduced in clang 16 and later.
Possibly, MacPorts will have to begin providing and using a newer libc++ for older systems to solve this and other problems. This already exists on an opt-in basis which more and more software is having to use due to `std::filesystem` (which projects are increasingly adopting) being implemented only in versions of libc++ newer that those included with older systems.
_______________________________________________
llvm-bugs mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs