[Fedora-packaging] Re: libtool(.la) archive policy proposal

Enrico Scholz enrico.scholz at informatik.tu-chemnitz.de
Thu Oct 12 14:00:24 UTC 2006


Axel.Thimm at ATrpms.net (Axel Thimm) writes:

>> > Revisting the root of evil. What exactly is wrong with not removing
>> > all *.la files?
>> 
>> - .la files must be shipped in main package, not in -devel
>
> Obviously "must" is the wrong word since they are currently nuked
> away.

Sentence was written under the assumption that all .la files will be
shipped (as suggested by your question).


> And the issue seems to be when using the information on the dependent
> libraries inside which only affects *-devel files independent whether
> *.la is part of the main or the *-devel file.

No; modules (which are non-devel files) can contain something like

| dependency_libs='...  /usr/lib/libkickermain.la ...'

--> non-devel file requires .la file
--> .la files must not be in -devel package


> E.g. keep the *.la if you like in the main packge or elsewhere, the
> issue is still only "bloat in BRs in *-devel". Do you agree?

When it would be only the small .la file in -devel, I agree.

But I have problems with shipping a useless file without a good reason
in -lib packages.


>> - they add untracked dependencies to the rpm packages: when B was
>>   built against A which has libA.la, B will stop to work when A does
>>   not ship libA.la anymore (e.g. because it uses now cmake).
>
> It will also break when libA changes the soname, an API, add/remove
> include files and the like.

rpm would bark loudly about broken dependencies in these casees.


>> - .la files are not required
>
> Seems to really depend on the software generating/using them. Or from
> a different viewpoint: if they really were not required (on Linux),
> then why are libtool authors installing them (on Linux)?

I know exactly one case where they are required: when software uses
'lt_dlopen("foo.la")'.

This can be fixed easily by writing 'lt_dlopenext("foo")'.


Installing .la files happens probably only due to legacy reasons.


> We wouldn't be having this thread if the simple statement ".la files
> are not required" would indeed hold true.

See above about lt_dlopen(); KDE (which requires .la) moved away from
.la recently.



Enrico




More information about the Fedora-packaging mailing list