[MacPorts] #69870: Change libmpdec and libmpdec++ shared library install name to not use @rpath

MacPorts noreply at macports.org
Tue Apr 30 05:40:34 UTC 2024


#69870: Change libmpdec and libmpdec++ shared library install name to not use
@rpath
-----------------------+-----------------------
 Reporter:  ned-deily  |      Owner:  (none)
     Type:  defect     |     Status:  new
 Priority:  Normal     |  Milestone:
Component:  ports      |    Version:
 Keywords:             |       Port:  mpdecimal
-----------------------+-----------------------
 By default, the upstream mpdecimal package builds and installs its shared
 libraries with an @rpath-prefixed install name rather than an absolute
 path as most shared libraries do. This can cause confusion and extra steps
 for projects that want to link with these libraries. The Homebrew project
 installs their version of these libraries with conventional absolute paths
 and we believe it would benefit users if MacPorts did as well.  The
 motivation for this is described in the following upstream Python issue:
 [https://github.com/python/cpython/issues/115119#issuecomment-2084390561].
 In short, Python has long vendored a copy of libmpdec in the cpython
 source tree.  There have been discussions about removing that vendored
 copy and requiring the use of a external copy.  As documented in the
 issue, while attempting to implement that feature, we ran into various
 somewhat cryptic build errors as a result of the default @rpath-prefixed
 install names when building libmpdec ourselves or when linking with
 MacPorts-provided copies but curiously did not when linking with Homebrew-
 provided copies. If MacPorts would also adopt Homebrew's strategy of
 removing the @rpath name, users who have built Python with MacPorts-
 supplied libraries for many years would be able to continue to easily use
 MacPorts for this purpose; otherwise, some ugly hacks would be needed to
 their build setups. Note this change would also affect the building of
 MacPort's own python ports, starting with Python 3.13 at the earliest,
 although the unvendoring is not yet a done deal.

-- 
Ticket URL: <https://trac.macports.org/ticket/69870>
MacPorts <https://www.macports.org/>
Ports system for macOS


More information about the macports-tickets mailing list