[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 |
Hello.
Running
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.
DS.
- Libtool does not scale well.,
Jan D. <=