[114693] trunk/dports/sysutils/macportsscripts/Portfile
Joshua Root
jmr at macports.org
Sat Dec 14 01:08:34 PST 2013
On 2013-12-14 17:59 , Ryan Schmidt wrote:
>
> On Dec 13, 2013, at 21:14, Craig Treleaven wrote:
>
>> I gave the new version of port-depcheck.sh a try...with VLC, see following. Very different results from the prior version. As I've said, I'm not a C/C++ developer--the prior version reported a bunch of false positives due to "over-linking"? In layman's terms, what's that?
>
> Example:
>
> php55 links with a library from the libxml2 port (libxml2.dylib)
> libxml2 links with a library from the xz port (liblzma.dylib)
>
> Under MacPorts 2.1.x and earlier, php55 might be linked to liblzma.dylib also, just because libxml2 is linked with it, even though php55 does not itself use liblzma. I don’t happen to have a MacPorts 2.1 installation handy anymore so I don’t know if these specific ports were actually affected by this issue, but this is the general principle of what we call overlinking.
>
> We fixed the problem in MacPorts 2.2 by clearing the dependency_libs line of .la files as they’re installed, or as of Mavericks by deleting the .la files entirely,
Libtool dependency_libs are not the only way overlinking can happen. It
happens any time you use -lfoo when linking but don't actually use any
symbols from libfoo.
> but you will not be completely rid of overlinking in all ports you have installed until some distant future time when all ports have coincidentally been updated to newer versions in the right order, or until you uninstall and reinstall all ports from source. (Installing from a binary might get you an overlinked binary from our packages server.)
Updating libpng (and removing all the false dependencies that were
previously added in response to the overlinking) would probably get us
most of the way there.
- Josh
More information about the macports-dev
mailing list