[Fedora-packaging] Re: libtool(.la) archive policy proposal

Axel Thimm Axel.Thimm at ATrpms.net
Mon Oct 2 13:45:31 UTC 2006


On Mon, Oct 02, 2006 at 03:34:09PM +0200, Enrico Scholz wrote:
> Axel.Thimm at ATrpms.net (Axel Thimm) writes:
> 
> >> E.g. a dep-tree of
> >> 
> >>   liba.so -> libb.so -> libc.so  ->  app
> >> 
> >> would suffice. Having the '-la' in libb.la and '-lb' in libc.la would
> >> cause a tree like
> >> 
> >>          ---------------------------
> >>         /         ,----------------  \
> >>        /         /                 `v v
> >>   liba.so -> libb.so -> libc.so  ->  app
> >>         \                 ^
> >>          `----------------' 
> >> 
> >> 
> >> Unfortunately, widely used tools like 'libtool' or 'cmake' are creating
> >> such trees (at least when the libs and apps are in the same project). For
> >> 'cmake' there is a workaround to put '-Wl,--as-needed' into the linker
> >> flags but for 'libtool' you have to patch ltmain.
> >
> > E.g. you argue that this is a bug in libtool.
> >
> > So, if libtool were to simply ignore dependency_libs when building
> > against shared libs wouldn't that solve all issues?
> 
> I do not know whether it would solve all issues, but the bad library-deps
> should be solved. But how shall such a fix be applied in practice?
> 
> 1. somebody has to write a patch against ltmain.sh and probably
>    libtool.m4. Quick look into ltmain.sh indicates that this is not
>    a trivial job (some archs do not support indirect linking and
>    need a graph like above).

We currently care about Linux, so we'd need that patch for Linux at
the beginning. More platforms could add themselves to the whitelist as
they see fit.

> 2. somebody has to convince libtool people to apply this patch. Does not
>    seem to be trivial either (look at the more or less trivial multilib
>    patch in the Red Hat libtool-package which is still not applied).

I wouldn't derive from one patch to another. What you perhaps consider
trivial and acceptable may be different for the upstream authors and
vice versa. I also didn't notice any discussion about the multilib
patch on the libtool list, so perhaps this wasn't even submitted?

>    Because this change is more an improvement than a bugfix and changes
>    behavior significantly, it will be a candidate for upcoming libtool-2
>    but not for current libtool-1.5.
> 
> 3. Most upstream authors will not use a beta versions of libtool. Hence,
>    a huge amount of packages will need a 'libtoolize' (or 'autoreconf')
>    against the patched libtool. This is heavily discouraged.

This is just our policy. If we decide it serves us better, then it
will be changed.

> It seems to be much easier to omit *.la files completely because they do
> not offer anything (which might be relevant for dynamic linking).
> 
> 
> > If so the patch looks almost trivial and is far better than to setup
> > workflows on whether removing some *.la files and still have some
> > false positives/negatives.
> 
> I do not see which workflows are affected. *.la files are an holdover of
> the last millennium. No recent system requires them.

You missed the beginning of this discussion: There *are* packages of
this millenium that break when *.la files are blindly
removed. Therefore Rex is trying to setup a workflow of when to omit
or not *.la files.

Better fix something than deal with broken stuff after the fact is my
opinion. Even if *.la files would had turned out to be completely
unneccessary - which they are not, but let's suppose - then it would
be better to had libtool patched up.
-- 
Axel.Thimm at ATrpms.net
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/fedora-packaging/attachments/20061002/c0641054/attachment.sig>


More information about the Fedora-packaging mailing list