[MacPorts] #71601: cmake @3.29.5_0: dyld: lazy symbol binding failed: Symbol not found: __ZNSo9_M_insertIeEERSoT_ on 10.5 ppc with libgcc14

MacPorts noreply at macports.org
Sat Dec 21 20:33:13 UTC 2024


#71601: cmake @3.29.5_0:  dyld: lazy symbol binding failed: Symbol not found:
__ZNSo9_M_insertIeEERSoT_ on 10.5 ppc with libgcc14
-----------------------+-----------------------------------------
  Reporter:  rmottola  |      Owner:  (none)
      Type:  defect    |     Status:  new
  Priority:  Normal    |  Milestone:
 Component:  ports     |    Version:
Resolution:            |   Keywords:  ppc leopard tiger legacy-os
      Port:  cmake     |
-----------------------+-----------------------------------------

Comment (by kencu):

 I do remember a few things I read about this error over the years.

 I believe:

 1. It has to do with the change moving to c++11 for copy-on-write strings.
 2. the functions were changed in the CXX11 ABI to do this properly
 3. a dual-ABI functionality was maintained to allow interaction with
 software written for pre-c++11 libraries and executables.
 <https://gcc.gnu.org/onlinedocs/libstdc++/manual/using_dual_abi.html>
 4. duplicates of some functions (like the facet functions, for example)
 were written, one for each ABI ({{{_GLIBCXX_USE_CXX11_ABI=0
 _GLIBCXX_USE_CXX11_ABI=1}}}).
 5. these duplicates exist but are really very rarely tested for
 {{{_GLIBCXX_USE_CXX11_ABI=0}}} any more
 6. the c++ standard being set by the build affects how these functions are
 exposed or hidden

 In the gcc source tree, and in the gcc bug tracker, various hits come up
 when you search these terms.

 Jonathan Wakely 's name seem to come up a lot when I read about this.

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


More information about the macports-tickets mailing list