[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: PROPOSAL: libtool archive (`*.la) files in `-dev' packages



Hi Ben and Joey,

I got answers to your questions from one of the libtool team members,
Gary V. Vaughan.  I've added him to the Cc list, with his permission.

The answers to concerns stated below are from Gary.

----------------------------------------------
On  4 May, Ben Collins wrote:
 > On Tue, May 04, 1999 at 12:56:06PM -0500, Ossama Othman wrote:
 > > Opinions?  Would this be something we could add to our packing
 > > policies?
 > 
 > Just a simple question, how many packages (percentage guess) does this
 > stand to _help_? Even if most libraries are compiled with libtool, most
 > programs which link with it are not. I'm just a little concerned that
 > we will polute the /lib and /usr/lib directories for little advantage.

An ever increasing number of packages are using libtool to do their linking,
and I would estimate that about 20-40% of GNU packages already do so.  The
main advantage of libtool's .la files is that it allows libtool to store and
subsequently access metadata with respect to the libraries it builds.

On  4 May, Joey Hess wrote:
> Can you get more details? I'm concerned that though .la files may be useful
> on some architectures libtool supports, they may be quite useless in debian.
> Reading some .la files, they seem to contain only things like libraries the
> library depends on and versioning info.  Is there really any info in
> those files that cannot be obtained in other ways on linux?

Certainly libtool is fully capable of linking against shared libraries which
don't have .la files, but being a mere shell script it can add considerably
to the build time of a libtool using package if that shellscript has to derive
all this infomation from first principles for each library every time it is
linked.

With the advent of libtool-1.4 (and to a lesser extent libtool-1.3), the .la
files will also store information about inter-library dependencies which
cannot necessarily be derived after the .la file is deleted.  Thomas can
probably explain this a lot better than I can, so I won't muddy the waters
with a poor example of my own.

> On linux, ldd of a .so file can automatically find out dependancy info. I
> don't know how to find out versioning info by examining a .so. (if someone
> knows, please tell me; debhelper could use a clean way to get sonames!) This
> could be an advantage to providing .la files, but then again maybe it's
> do-able without them. 

objdump will get soname information from an elf library, and version numbers
are encoded in the filenames.  Of course, this doesn't help much if the
version numbering system is not known, or is inconsistent (say with mixed
libtool and non-libtool versioned libs where the .la files have been removed).




Reply to: