[MacPorts] #62426: libc++: using a newer libc++ to build software on older macos systems

MacPorts noreply at macports.org
Tue Mar 16 20:46:16 UTC 2021


#62426: libc++: using a newer libc++ to build software on older macos systems
-------------------------------------+----------------------
  Reporter:  kencu                   |      Owner:  kencu
      Type:  enhancement             |     Status:  assigned
  Priority:  Normal                  |  Milestone:
 Component:  ports                   |    Version:
Resolution:                          |   Keywords:
      Port:  libcxx macports-libcxx  |
-------------------------------------+----------------------

Comment (by Wowfunhappy):

 Replying to [comment:16 kencu]:
 > I will start by saying I'm still learning too.
 >
 > The issue that can happen is that a certain structure is defined,
 malloc'd, and initialized by software linked against
 /usr/lib/libc++.dylib, let's say a file structure.
 >
 > But then over time as libc++ evolved, this structure has changed, and in
 the new libc++.dylib in /opt/local/lib/libcxx/libc++.dylib, that structure
 is now defined differently. And software linked against that new libc++
 has a different idea what it looks like.
 >
 > Think maybe VHS vs. Beta.
 >
 > So if these two pieces of software try to interact, eg. an application
 using a library, one built against /usr/lib/libc++.dylib and the other
 built against /opt/local/lib/libcxx/libc++.dylib, then Unexpected Things
 Can Happen.
 >
 > In real life, we knew about this but we never saw anything like this
 happen in the pre-10.6 libstdc++.dylib world until one day libgcc evolved
 to 7.5, and then it started happening quite frequently.

 Thanks for this, I guess the problem is software is never really separate,
 since the libraries are linked together.

 Is this something two-level name-spacing can help with, or would that be
 too large a change?

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


More information about the macports-tickets mailing list