[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: Fri, 07 Nov 2008 08:25:25 -0800
User-agent: Gnus/5.11 (Gnus v5.11) Emacs/22.2 (gnu/linux)

Ralf Wildenhues <address@hidden> writes:
> Hello Russ,
> * Russ Allbery wrote on Fri, Nov 07, 2008 at 01:20:28AM CET:

>> The most frequent problem caused by *.la files is that they add a pile
>> of unnecessary dependencies to shared libraries, which further
>> entangles package dependencies and makes upgrades unnecessarily hard.
>> (This is the long-standing problem of including all dependencies
>> required for static libraries, which aren't needed for shared libraries
>> on systems that handle transitive dependency closures when loading
>> shared libraries.)

> Which is nicely solved with --as-needed, as long as you don't need to
> stick in extra, seemingly-unneeded library dependencies that only become
> useful for dlopen'ed modules.

Debian's experience to date is that --as-needed is buggy and breaks a lot
of software, and overall is not a particularly stable solution.  Removing
*.la files so that the unneeded shared libraries aren't linked in the
first place works considerably better at the moment.

For me, it's not a religious argument.  I just want to do something that
works on the platforms that Debian supports for a Debian package and
removes unnecessary shared library dependencies.  Currently, removing *.la
files does and --as-needed doesn't always.

(Note that personally I keep *.la files unless there's a specific problem
that comes to light that I'm trying to fix, and would recommend that
others generally do the same thing.  I'm not advocating Fedora's
approach; I think they're occasionally useful, particularly if you care at
all about static linking.)

Russ Allbery (address@hidden)             <>

reply via email to

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