Mailinglist Archive: opensuse-packaging (107 mails)

< Previous Next >
Re: [opensuse-packaging] When a -devel package should require another -devel package?
  • From: Michael Matz <matz@xxxxxxx>
  • Date: Fri, 29 May 2009 05:56:01 +0200 (CEST)
  • Message-id: <Pine.LNX.4.64.0905290520460.29566@xxxxxxxxxxxxx>
Hi,

.la check: This is an another story. When .la file is present, you have
to have all .la files listed there, otherwise linking fails. That is why
it is better to remove .la files if you are not packaging static library
nor use libltdl.

This, by the way, can't be emphasized enough. As a rule of thumb, don't,
in any case, package .la files.

As this is a rule of thumb you will see some cases where it's difficult to
follow it, as it's meant to describe the ideal world, which of course
sometimes conflicts with the real world. But you should go to great
lengths to make it happen, including bitching to other package
maintainers, those might be the reason why "your" .la can't go away.

I say that as a past time developer of libtool, but .la files are not
useful in the linux eco-system, so don't package them, they only create
problems.

Amongst the problems they create are (despite their total uselessness for
shared libraries in ELF systems):
1) hardcoded dependency libraries (no matter if necessary or not)
2) hardcoded paths (link-time or run-time) for search paths to libraries,
again no matter if necessary or not, those often have to be fixed up
during package build time

In a way that's basically it. But these problems lead to further
deficiencies: too long search paths lead to longer load times of libraries
(hence executables), because non-existing libraries have to be "searched".
Useless dependencies for shared libraries lead to rebuilds that are not
necessary, and generally to a skewed view on the dependency situation
between packages. And obviously useless library dependencies have an
influence also on package dependencies (creating equally artificial and
hence useless ones).

And as a side-effect they even lead to longer build times because libtool
investigates the information in .la files very thoroughly (to use an
euphemism).

So, try to get rid of .la files in your packages at great costs. There
are some reasons to retain them (static libs come to mind; not much else,
not even plugins), but all of these reasons are special cases (we try to
get rid of static libs too), so in general they don't apply. Get rid of
them.


Ciao,
Michael.
--
To unsubscribe, e-mail: opensuse-packaging+unsubscribe@xxxxxxxxxxxx
For additional commands, e-mail: opensuse-packaging+help@xxxxxxxxxxxx

< Previous Next >
Follow Ups