libtool archive madness

Rex Dieter rdieter at math.unl.edu
Thu Mar 16 12:24:21 UTC 2006


Michael Schwendt wrote:
> On Mon, 13 Mar 2006 15:03:24 -0600, Rex Dieter wrote:
> 
>>> I have found the solution after a strace session.
>>>
>>> Don't remove the *.la files which will be installed by the make
>>> install step into the '%install' stanza.. Both .la files, the
>>> Kpart and the kio_slave will be needed.
>>>
>>> Conclussion: IN opposite to the packaging guidelines it may be
>>> make sense to put .la files into rpms for KDE programs.
>> If the packaging guidelines don't already say it, the omission of .la 
>> files should be limited to shared libraries in %{_libdir}/
> 
> This is insufficient and creates broken inter-library dependency chains.
> 
> It seems that pieces within KDE still _require_ .la files to be present in
> %{_libdir}/kde3 in order to find/load plugins. E.g. k3b needs .la files
> for its plugins. However, these .la files contain dependencies to other
> .la files in %_libdir. So if you don't package .la files in %_libdir, but
> include other .la files which contain a dependency on the excluded files,
> this breaks the dependency chain. 

Turns out that the missing dependancies of loadable modules, in 100% of
cases that *I* have seen, is harmless.  So, I'm of the opinion that
unless a concrete example of broken-ness (ie, an app that doesn't work
after removing *only %_libdir/lib*.la), then I'd say don't worry about it.

> This is a time-bomb. Whatever in KDE
> still looks for .la files, maybe it doesn't _use_ everything that's in the
> files, maybe it only needs them to locate available plugins, but shipping
> incomplete libtool archive dependency chains is bad.

It's really not that bad.  In my experience, loadable modules/plugins
using .la files aren't nearly as fragile (nor cause dependancy problems)
 like .la files associated with shared libs.

-- Rex




More information about the fedora-extras-list mailing list