cvs commit: ports/devel/libvanessa_adt Makefile pkg-plist ports/devel/libvanessa_adt/files

Michael Nottebrock michaelnottebrock at
Wed Mar 24 21:28:05 PST 2004

On Thursday 25 March 2004 05:37, Oliver Eikemeier wrote:
> Michael Nottebrock wrote:
> [...]
> >>So far I followed the former discussions, but I can't remember an example
> >>where something *really* uses the .la files.
> >
> > Yes, although I keep repeating it, nobody seems to ever remember: KDE
> > _really_ uses them, as it _really_ uses lt_dlopen(). Also third party KDE
> > applications will use them (if they happen to load modules or plugins - a
> > simple preferences dialog can be such a module for example), since they
> > use kdelibs which in turn use lt_dlopen().
> Ehm, yes, but this is a case for modules or plugins, which should be easily
> coordinated (since they won't be loaded otherwise).

Yet the .la files are needed - if they weren't, we could just nuke them in the 
KDE ports. Also, the libidn-kdelibs example shows a scenario where 
lt_dlopen() is used on a file installed by a different package.

> I think this is self-evident, but if you want to state it explicit that's
> fine with me. Maybe not in RFC-style, though ;) A comment in the Makefile
> or packing list, stating which ports are clients of the .la files may be a
> nice addition.

I think something like

LIBTOOLFLAGS=   # none, we want to keep

(taken from textproc/wv2) is probably sufficient enough to keep any 
anti-libtool-archive crusaders away (that libtool archive is kept for koffice 

The really funny thing is - I've just looked at the porter's handbook again 
and there simply isn't any good place to add this paragraph to, because there 
is no section dealing with libtool archives or ".la files" and the why/why 
not/whatisitgoodforanyway at all.

From digging in the commitlogs I can reconstruct that the default 
"--disable-ltlibs" argument to ltconfig was added to in revision 
1.319 (that was back in 1999) and the portlint warnings were added a few 
months later (revision 1.30 of devel/portlint/Makefile has the commit 

In none of these commits/commitmessages there is any indication that anybody 
was ever convinced of the fact that libtool archives were useless or unneeded 
- they would just not be created by default for any port that defines 
USE_LIBTOOL (at that time this probably worked - it doesn't really anymore 
today, extra patches and hacks are often needed - in case of textproc/wv2 a 
patch to the configure script), but that behaviour could and can easily be 
overridden by redefining LIBTOOLFLAGS (see above).

Also, from what I can gather from the commit logs, USE_LIBTOOL was _not_ added 
to to get rid of libtool archives - that 'feature' was added 

This, plus the fact that nobody ever created any documentation about libtool 
archives and their (non)-uses leads me to believe that ".la files are not 
needed on FreeBSD" really is just a legend, born out of erroneous statements 
on mailing lists and the fact that ports using lt_dlopen() on 
shared-libraries not installed by themselves are indeed quite rare and thus 
disproof of such claims was not readily available for everybody to observe.

It's quite fascinating how the "convention" of avoiding libtool archives 
established itself out of (almost) thin air, and how nobody ever asked "Where 
is this documented?". Until now, that is.

Anyway, Mark: I will try to write up something about libtool archives, 
libltdl, USE_LIBTOOL, lt_dlopen(), life, the universe and everything and then 
condense it again so it will fit in the porter's handbook somewhere, but it 
might take some time - I suck at writing concise documentation. :)

   ,_,   | Michael Nottebrock               | lofi at
 (/^ ^\) | FreeBSD - The Power to Serve     |
   \u/   | K Desktop Environment on FreeBSD |
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: signature
Url :

More information about the freebsd-ports mailing list