Re: libtool(.la) archive policy proposal

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Oct 02, 2006 at 02:11:58PM +0200, Enrico Scholz wrote:
> Axel.Thimm@xxxxxxxxxx (Axel Thimm) writes:
> 
> > | Here's a crazy-but-not-too-far-from-reality example: Build shared-lib
> > | pkg 'b' which links against 'a'. b's .la files now include references
> > | to 'liba.la' (so now depends on it). Build shared-lib pkg 'c' which
> > | links against 'b', whose own libc.la file includes
> > | references(+dependancy) on libb.la. Rinse, lather, repeat. You'll end
> > | up with a pkg z, and a libz.la, which, when all is said and done,
> > | 
> > |     * will have a direct dependancy upon y's liby.la
> > |     * and because of liby.la file references/dependances, will have
> > |     (indirect) dependancies upon liba.la, libb.la, ..., libx.la
> > | 
> > | When, generally, *none* of these are really required nor desired.
> >
> > I'm not sure about that, but maybe I understand something wrongly:
> >
> > - If -la was needed for building libb, then there exists a real
> >   dependency between liba and libb and libb.la is correct about that.
> 
> No, this dependency does not need to be handled explicitly with dynamic
> libraries.
> 
> 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? 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.
-- 
Axel.Thimm at ATrpms.net

Attachment: pgpJuUpMLBwEc.pgp
Description: PGP signature

--
Fedora-packaging mailing list
Fedora-packaging@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/fedora-packaging

[Index of Archives]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite Forum]     [KDE Users]

  Powered by Linux