[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