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

Reply via email to