Re: libtool archive madness

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

 



Ralf Corsepius wrote:
On Thu, 2006-03-16 at 06:24 -0600, Rex Dieter wrote:

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.


The point about *.la's, you both are seem to be deliberately want to ignore:
* Many aspects about shared libraries are non-portable
* Many aspects about shared libraries are non-standardized.
* Many aspects about mixing shared/static libraries are non-portable.

What libtool tries with it's *.la's is to implement is an additional
layer (API) on top of libraries, which makes many of those aspects
portable.

As Linux is a fairly modern OS it isn't affected by most of the issues,
which affect building shared libraries on other OSes. That's why *.la's,
in the vast majority of cases are not necessary to keep Linux systems
operational and appear as "unnecessarily restrictive and disturbing".

*I* certainly am not ignoring this, and have almost always claimed the same, that "*.la's, in the vast majority of cases are not necessary". However, the point I'm trying to make is that the only case that I know of where .la files cause concrete harm (esp in packaging) are those associated with shared libs. That's why I'm suggesting that the packaging guidelines only include the requirement/hard-recommendation regarding %_libdir}/lib*.la files. Other .la files *probably* aren't needed (in most cases, except for many kde loadable modules/plugins(*)), but neither do they cause harm, so these should be dealt with either on a case-by-case basis and/or at the discretion of the packager

-- Rex

(*) Which I'd argue means there's probably a bug in there somewhere, but AFAIK, is difficult to diagnose/fix.


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

[Index of Archives]     [Fedora General Discussion]     [Fedora Art]     [Fedora Docs]     [Fedora Package Review]     [Fedora Desktop]     [Big List of Linux Books]     [Yosemite Backpacking]     [KDE Users]

  Powered by Linux