[MacPorts] #62426: libc++: using a newer libc++ to build software on older macos systems
MacPorts
noreply at macports.org
Mon Mar 15 20:18:05 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 |
--------------------------+----------------------
Comment (by 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.
--
Ticket URL: <https://trac.macports.org/ticket/62426#comment:16>
MacPorts <https://www.macports.org/>
Ports system for macOS
More information about the macports-tickets
mailing list