USES = libtool and missing .la files [WAS Re: pkg-plist for devel/glib20]

Graham Todd gtodd at bellanet.org
Mon Sep 8 18:14:01 UTC 2014


On Mon, 8 Sep 2014, Tijl Coosemans wrote:

[snip]

>> 'USES=libtool ' about a week ago. Perhaps pkg-plist files are not
>> including the files due to this change.
>>
>> /usr/port/UPDATING doesn not warn of any problems or fallout from
>> 'USES=libtool'. How best to resolve this?
>
> .la files are being removed because they cause overlinking, i.e. in the
> dependency chain A->B->C they add an extra link from A to C even if
> A doesn't use C directly.  This makes updates to C expensive because
> then both A and B have to be rebuilt instead of just B.
>
> The files have been removed in a specific order such that you should not
> see build problems if you follow normal update guidelines.  That means
> for instance that before updating a port you must make sure that its
> dependencies are up to date.  A tool like portmaster or portupgrade
> handles that for you.
>
> Now that you are seeing build problems you can figure out which packages
> need to be rebuilt like this:
>
> find /usr/local/lib -name '*.la' | xargs grep -l 'libglib-2\.0\.la' | xargs pkg which
>
> This will print a list of .la files that refer to libglib-2.0.la and
> which package they belong to.  Where it says "not found in the database"
> some update in the past must have gone wrong leaving this file behind.
> Just remove that file.  After removing all such .la files, where it says
> "installed by package X", rebuild X.  The list printed by that command
> should eventually be empty.
>
> Whenever you encounter a build error about a missing .la file you need
> to repeat this.  For instance, if you get an error about libiconv.la the
> command you have to run is:
>
> find /usr/local/lib -name '*.la' | xargs grep -l 'libiconv\.la' | xargs pkg which

Tijl, thanks for the pointers (and all your QA work on the ports tree 
BTW).

Would it be worhtwile for me to file some kind of QA PR that could be 
linked to from UPDATING (not sure if this is how the new bugzilla setup is 
meant to be used)?

cheers,


More information about the freebsd-ports mailing list