[Top][All Lists]

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

Libtool does not scale well.

From: Jan D.
Subject: Libtool does not scale well.
Date: Sun, 25 Nov 2001 21:03:30 +0100
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:0.9.4) Gecko/20011019 Netscape6/6.2


ltconfig (GNU libtool) 1.3.5 (1.385.2.206 2000/05/27 11:12:27)

on GNU/Linux. While trying to compile and link KDE 2.2.2, I came to kdebindings-2.2.2, that seems to depend on a lot of .la-files. In directory kdebindings-2.2.2/kdejava/koala, the link command was(lines have been split):

/bin/sh ../../libtool --mode=link --tag=CXX g++  -O2 -O3 -pipe
-fno-exceptions -fno-check-new   -o koala -L/usr/X11R6/lib
-L/opt/qt-2.3.1/lib -L/opt/kde-2.2/lib
-L../../qtjava/javalib/qtjava -R /opt/kde-2.2/lib -R /opt/qt-2.3.1/lib
-R /usr/X11R6/lib main.o ./kdejava/libkdejava.la -lkjs -lmimelib
-lqtjava -lkhtml -lkssl -lkparts -lkmid  -lkab -lkspell -lkfile -lm
-lkab -lkspell -lkfile -lkdeui -lkdecore -lqt -lXext -lX11 -lresolv

On this libtool processed and processed for a very long time (about 30 minutes) until it produced a commandline that was 33564 characters long. This was too much for the linker.

On this command line where:
1718 entries of -lm
1026 entries of -lc
1715 entries of -lgcc
1372 entries of -lgcc_s.

The last 3 (-lc, -lgcc, -lgcc_s) is not even needed on the command line as g++ adds them automatically.

I think libtool needs some filtering function to remove redundant librariers from .la-files (or even not put in them there in the first place). Also, -lc -lgcc and -lgcc_s should not be mentioned at all I think.

        Jan D.

PS. I made a script to trim libraries from .la-files, so I solved the immediate problem. But I see this as a growing problem as more and more libraries are used. I think gnumeric uses more than 60 for instance.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]