Red Hat Bugzilla – Bug 172639
libidn: remove libidn.la
Last modified: 2007-11-30 17:11:16 EST
Description of problem:
.la files aren't strictly needed on Linux and causes a lot of problems when
compiling since they hardcode absolute paths to dependent libraries.
Version-Release number of selected component (if applicable):
Steps to Reproduce:
See also other NOTABUGs.
Hi Joe, Bug #145879 seems to be the only other NOTABUG for libidn. It is
unclear to me from this why keeping the .la file is desired. Is there some
other report that you meant?
There reference was to the other identical bugs Kjartan was filing against my
packages. This is not a bug. Removing the .la file will break KDE, which
ltdlopen()s this library. The libidn.la file should continue to be packaged.
Joe, including .la files generally goes against the now-to-be-used Packaging
Guidelines (http://fedoraproject.org/wiki/Packaging/Guidelines, "14. Exclusion
of static libraries". Reopening.
And no, it won't break KDE (kde-redhat has been omitting libidn.la for *ages*).
At most KDE would need to be rebuilt after libidn omitted the .la file. See
also bug #170602 for another easy way for KDE to avoid breakage *without* having
Even if you're hesitant to make this change for *current* FC releases (it would
introduce binary incompatibility from existing/previous libidn pkg releases),
please seriously consider this for devel/fc6.
It is not the fact that any KDE .la file references libidn.la which makes this
problematic. My understanding is that KDE uses ltdlopen() to load libidn at
runtime, which requires the presence of the .la file - at runtime - to work
correctly. Please convince me that is not the case.
AFAIK, kdelibs simply links against libusb, no ltdlopen() involved. Regardless,
even *if* ltdlopen is used, it will look for libusb.la first, and if not found,
try to load libusb.so, but, oops, that's in libusb-devel (right?). Lemme go
check my facts.
On second thought, I'm 99% sure you're wrong. If you were right, any KDE user
without libidn-devel installed (ie, where libidn.la is), would have a broken
system (ie, not being able to ltdlopen() libidn.la), right?
Oops, nevermind, you include libidn.la in the core pkg... because of the runtime
Yes, that is my understanding. Education welcome.
* Tue Jun 22 2004 Than Ngo <email@example.com> 0.4.9-2
- add prereq: /sbin/ldconfig
- move la file in main package
Can't find any references to loading libidn at runtime in kdelibs, only standard
linking. Than, comment?
If you're still concerned about the runtime loading, you could still omit
libidn.la and include libidn.so in the main pkg to accomplish the same thing.
Joe, due to Than's silence, my opinion is "just do it", and see if anything
breaks, and I don't think anything will.
Joe, you can remove *.la from libidn for FC6. Thanks
OK, thanks guys.