[Top][All Lists]

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

Re: [PATCH] Don't install .la files when --no-la-files is used

From: Russ Allbery
Subject: Re: [PATCH] Don't install .la files when --no-la-files is used
Date: Sat, 08 Nov 2008 11:06:14 -0800
User-agent: Gnus/5.11 (Gnus v5.11) Emacs/22.2 (gnu/linux)

Roumen Petrov <address@hidden> writes:
> Russ Allbery wrote:

>> When you create a libtool library, libtool records every library
>> against which that library was linked into the *.la file.  If you then
>> link another shared library against that shared library using libtool,
>> libtool reads that list of libraries from the *.la file and links the
>> new library against them as well.

> But problem is not in the libtool.

Yes.  It is.

>> This is not necessary.  For distribution packages, it's actually
>> harmful.

> This depend from platform.

Yes.  I said that.  But it's harmful for the platforms that are in most
common use (anything that uses ELF, for example).

>> To see why, consider some library libfoo which uses readline.  Suppose
>> that libreadline is linked and installed with libtool, so it has a *.la
>> file saying that it depends on libncurses.  When you link libfoo
>> against libreadline using libtool, libtool will also link it against
>> libncurses, so it now acquires a dependency on libncurses as well.

> This is one of the good samples.  Libtool don't add dependency if is not
> specified by project makefiles, i.e. LDFLAGS/LDADD.

> But if readline project make rule specify that library has to linked
> with a particular curses library, libtool has to use this rule, when
> link an application with readline.

Only on non-ELF platforms.

> Also removing la-files won't help.

My practical experience disagrees with your theory.

> Libtool is for multi-platform use and list with complete dependent
> libraries help me to build binaries on platform that don't support
> unresolved symbols, as example windows.

Yes, I understand why libtool does this in general.  It's more portable.
However, it causes practical problems for distribution packages, which is
why distributors delete the *.la files to fix those problems in the
absence of a better solution.  Which is where this thread started.

Russ Allbery (address@hidden)             <>

reply via email to

[Prev in Thread] Current Thread [Next in Thread]