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.e. the main purpose of *.la's is the portability related API they implement, and the dependencies they make visible. Most of these dependencies are dynamic under Linux ("Unnecessary"), but are static on many other OSes. Ralf -- fedora-extras-list mailing list fedora-extras-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/fedora-extras-list