libtool archive madness (was: Re: kchm packaging help needed)

Michael Schwendt bugs.michael at gmx.net
Wed Mar 15 21:48:23 UTC 2006


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. 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.

The rule/guideline ought to be:

  Either ship'em all or omit'em all. Where libtool archives are
  included, they must not create broken dependency chains.




More information about the fedora-extras-list mailing list