#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