[MacPorts] #42385: libcxx/libcxxabi: OS update can render system unusable
MacPorts
noreply at macports.org
Thu Feb 6 08:58:19 PST 2014
#42385: libcxx/libcxxabi: OS update can render system unusable
--------------------+------------------------------
Reporter: cal@… | Owner: jeremyhu@…
Type: defect | Status: new
Priority: High | Milestone:
Component: ports | Version: 2.2.1
Keywords: | Port: libcxx libcxxabi
--------------------+------------------------------
Because the libcxx and libcxxabi ports install a library directly in
`/usr/lib`, an OS update can cause the deletion of
`/usr/lib/libc++.1.dylib`; if this happens when upgrading to 10.9, the
system might be completely unusable. This happens by:
- installing libcxx and libcxxabi on Snow Leopard
- upgrading the OS to Lion or newer
- upgrading MacPorts
- starting to upgrade all outdated ports
This very last operation will deactivate the libcxx and libcxxabi ports at
some point, removing the files they used to install on Snow Leopard, which
will include `/usr/lib/libc++.dylib` and `/usr/lib/libc++abi.dylib`, even
though these files are no longer the MacPorts-installed files but have
been taken over by the OS instead. The same will apply to all files
installed by these two ports in `/usr`, but the libraries are by far the
most critical.
Please find a different way to solve this issue if you want to provide a
libc++ in `/usr/lib`, e.g. by installing the libraries below `$prefix` and
creating symlinks in post-activate. Then, carefully write a post-
deactivate hook that will remove just those very symlinks to `$prefix`
when deactivating, so the OS' files are left in-place when uninstalling on
a different version OS X than the port was installed on.
--
Ticket URL: <https://trac.macports.org/ticket/42385>
MacPorts <http://www.macports.org/>
Ports system for OS X
More information about the macports-tickets
mailing list