[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
Thu Apr 4 04:21:38 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):

 I reiterate this will not likely be considered an llvm bug, but more
 likely a misuse of llvm/libcxx.

 eg see:

 https://github.com/llvm/llvm-project/issues/87012

 I think this is most likely happening because the macports-libcxx port
 disables libc++ availability testing to allow new library symbols to be
 seen on the older MacOS system.

 https://github.com/macports/macports-ports/blob/master/lang/macports-
 libcxx/files/patch-disable-availabilty.diff

 But it looks like turning off availability testing now tells newer clang
 versions that libc++ provides a verbose_abort function when it does not:

 https://github.com/llvm/llvm-
 project/blob/6009708b4367171ccdbf4b5905cb6a803753fe18/libcxx/include/__availability#L170

 I think if we want some kind of fix for this on older MacOS systems, we
 are going to have to come up with it ourselves.

-- 
Ticket URL: <https://trac.macports.org/ticket/68640#comment:32>
MacPorts <https://www.macports.org/>
Ports system for macOS


More information about the macports-tickets mailing list