https://bugzilla.novell.com/show_bug.cgi?id=231816 ------- Comment #6 from andreas.hanke@gmx-topmail.de 2007-01-04 12:13 MST ------- (In reply to comment #5)
When I install (for example!) expat from Opensuse disc, there is no .la. But if I build it from source .la will appear.
Correct.
But then I tried to compile k3b and here libtool is used and it demands .la existence for expat, libstdc++ and libmpcdec. And k3b source is fresh new.
This means that one of the .la files in the chain contains a reference to libexpat.la, and must be rebuilt against an expat package that does not have a libexpat.la in order to lose this reference. As an example, libtool might do the following when linking k3b: libtool --mode=link libA.la libB.la libC.la [...] There is no libexpat.la here directly. But one of your libA.la, libB.la or libC.la references libexpat.la because it has been built against an expat package that has libexpat.la. So you need to find out which one it is, and rebuild it. grep -H libexpat.la /usr/lib/*.la grep -H libexpat.la /opt/kde3/lib/*.la grep -H libexpat.la /opt/gnome/lib/*.la That way you can find the guilty .la file and fix it.
So it is quite surprise for me, that .la files are obsolete (if I understood you correctly).
They are not obsolete, but they are useless on Linux. These .la files are used to track library inter-dependencies. Linux doesn't need that because the dynamic linker on Linux (and Solaris, but IIRC not BSD) handles that on its own, and much better than libtool. On Linux, all you get from .la files are the disadvantages: You're effectively unable to move libraries around because if you e.g. uninstall /usr/lib/libXYZ.la and compile it yourself, it will become /usr/local/lib/libXYZ.la, but libtool doesn't get it because it always records all the absolute paths. It's annoying if you have such a broken .la file in the chain and need to track it down, but afterwards, life will be much better without .la files. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is.