[MacPorts] #55371: mplayer-devel @37869_2: Opportunistic linking to various packages

MacPorts noreply at macports.org
Tue Nov 21 13:08:00 UTC 2017


#55371: mplayer-devel @37869_2: Opportunistic linking to various packages
--------------------+---------------------------
 Reporter:  p-bro   |      Owner:
     Type:  defect  |     Status:  new
 Priority:  Low     |  Milestone:
Component:  ports   |    Version:
 Keywords:          |       Port:  mplayer-devel
--------------------+---------------------------
 The mplayer-devel package in its current version opportunistically links
 to libraries present at build time, which are not formal dependencies.
 When the packages are later removed, this breaks the mplayer-devel
 package.

 On one of my machines, port rev-update finds the following libraries
 missing:
 * /opt/local/lib/libdvdnav.4.dylib
 * /opt/local/lib/librtmp.1.dylib
 * /opt/local/lib/libfaad.2.dylib
 * /opt/local/lib/libdca.0.dylib
 * /opt/local/lib/libmpg123.0.dylib
 * /opt/local/lib/libdvdread.4.dylib

 These libraries are provided by libdvdnav, rtmpdump, faad2, libdca,
 mpg123, libdvdread, none of which are in the dependency list. Those
 packages were present when building mplayer-devel for the first time, but
 have since been removed. This opportunistic linking causes mplayer-devel
 to break. As I did not do any systematic trialling I cannot guarantee that
 this list is complete - there may be other libraries that are
 opportunistically linked, but which I did not attempt to remove.

 According to Rainer Müller on macports-dev list (2017-11-21 11:57:47
 +0000):

       "The configure instructions in the Portfile need to written such
 that the port only uses libraries that are explicitly listed in the
 dependencies. Most configure scripts will just try to link with all
 libraries that are available, but something like 'configures.args
 --disable-foo' should prevent the linking with the library.

       "In case of mplayer-devel, it looks like the port is supposed to
 link with the checked out version of libdvdnav and libdvdread. However,
 nothing in the Portfile or configure script seems to use that at all, so
 it gets the system libraries via pkg-config instead.

       "For the others, it just looks like the corresponding --disable-foo
 flags and variants are missing."

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


More information about the macports-tickets mailing list