Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 17 Feb 2012 11:54:41 +0100
From:      Alexander Leidinger <Alexander@Leidinger.net>
To:        Alex Dupre <ale@FreeBSD.org>
Cc:        ashish@FreeBSD.org, freebsd-ports@FreeBSD.org, Andriy Gapon <avg@FreeBSD.org>
Subject:   Re: recent portrevision bump for libvpx
Message-ID:  <20120217115441.Horde.mJZLe5jmRSRPPjHxZRgRf2k@webmail.leidinger.net>
In-Reply-To: <4F3E2CED.90601@FreeBSD.org>
References:  <4F3E289D.9050605@FreeBSD.org> <4F3E2CED.90601@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
Quoting Alex Dupre <ale@FreeBSD.org> (from Fri, 17 Feb 2012 11:33:17 +0100):

> Andriy Gapon wrote:
>> Needless to say that all these ports got their port revisions bumped.
>> Was there a good reason for that?  I don't know.
>>
>> I just know that now I need to needlessly reinstall/rebuild about a hundred
>> ports, many of which are not quite light-weight.
>
> It's time to experiment seriously with ${EXPLICIT_PACKAGE_DEPENDS}  
> and libtool patch to not link to indirect dependencies  
> (ports/104877). Ideally a port should include in LIB_DEPENDS all the  
> direct dependencies.

When I made the EXPLICIT_PACKAGE_DEPENDS patch, I noticed that there  
is not only libtool at fault (reaction of the libtool developers was  
IIRC: it's not trivial to fix known problems for the cross-building  
case (for libtool-1.x?)), but also pkg-config and similar things  
(dependencies of dependencies where specified, e.g. your port links  
against liba, the pkg-config for liba also told to link against libb  
which liba depends upon but for which the ABI was not exposed to your  
port by liba, but this caused a record of libb to show up in binaries  
of your port). I do not know if the situation improved in _all_ ports,  
but some look more sane.

You can also have a look at  
/usr/ports/Tools/scripts/explicit_lib_depends.sh, thats a script which  
analyzes the recorded dependencies in binaries for a given port (this  
may be different from what is recorded in LIB_DEPENDS, and it can be  
different from it even if LIB_DEPENDS is 100% correct). So if a lib  
which is listed in the output changes the soversion, you _have_ to  
recompile this port, no matter if the binary has his hands in the ABI  
of the changed lib or not (that's the port->liba->libb case from the  
paragraph above).

Bye,
Alexander.

-- 
There must be at least 500,000,000 rats in the United
States; of course, I never heard the story before.

http://www.Leidinger.net    Alexander @ Leidinger.net: PGP ID = B0063FE7
http://www.FreeBSD.org       netchild @ FreeBSD.org  : PGP ID = 72077137




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20120217115441.Horde.mJZLe5jmRSRPPjHxZRgRf2k>