[Top][All Lists]

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

Three problems with libtools

From: Marc Espie
Subject: Three problems with libtools
Date: Mon, 2 Oct 2000 10:41:12 +0200

I've noticed these problems with kde2 (beta 1.94), I'm not sure these are 
solved in current. At least one isn't.

* when invoking gcc to produce shared libraries, always pass pic_flag
around. On some a.out systems, gcc goes through collect2 before attacking
ld, and collect2 does create stub code that it passes off to a gcc instance...
using the exact same flags that gcc -shared was invoked with, including
(or not) any pic flags (note that collect2 can't decide for itself, as this
can be -fpic or -fPIC).

* on OpenBSD, it is quite possible to compile shared libraries, and test
for their presence. However, libtool does insist that libgcc ought to be
a shared library as well... Is there a way to disable that ?
I can always use pass_all instead, but... it would be cleaner.

* the link lines output by libtool are ludicrously long. Since our linker
does NOT prune excess libraries, but reloads the symbols each time, this
is a fairly large problem... Observe:
.libs/kdeinit kinit.o setproctitle.o  -L/usr/local/lib/qt2 -L/usr/X11R6/lib 
-L/usr/local/lib -L../dcop/.libs -lSM -lICE -lICE -lSM -lICE 
-L/usr/lib/gcc-lib/i386-unknown-openbsd2.7/2.95.3 -L../kparts/.libs -lkparts 
-L/var/www/work/home/espie/kde/libs/kdelibs-1.94/kfile/.libs -lkfile 
-L/var/www/work/home/espie/kde/libs/kdelibs-1.94/kio/.libs -lSM -lICE -lICE 
-lSM -lICE -lSM -lICE -lICE -lSM -lICE -lSM -lICE -lICE -lSM -lICE -lSM -lICE 
-lICE -lSM -lICE -L../kio/.libs -lksycoca -lSM -lICE -lICE -lSM -lICE -lSM 
-lICE -lICE -lSM -lICE -L../kdeui/.libs -lSM -lICE -lICE -lSM -lICE -lkio 
-L/var/www/work/home/espie/kde/libs/kdelibs-1.94/kdeui/.libs -lkdeui -lSM -lICE 
-lICE -lSM -lICE -L/var/www/work/home/espie/kde/libs/kdelibs-1.94/kdesu/.libs 
-lkdesu -L/var/www/work/home/espie/kde/libs/kdelibs-1.94/kdecore/.libs -lSM 
-lICE -lICE -lSM -lICE -L../kdecore/.libs -lkdecore 
94/dcop/.libs -lDCOP -lSM -lICE -lICE -lqt -lpng -lz -ljpeg -lXext -lX11 -lSM 
-lICE -lstdc++ -lm -lgcc -lutil -R/usr/local/lib -R/usr/local/lib/qt2 

Notice the multiple instances of ICE and SM... this leads to ld taking 90Mb
to link the above program...

        Marc Espie              
|anime, sf, juggling, unicycle, acrobatics, comics...
|AmigaOS, OpenBSD, C++, perl, Icon, PostScript...
| `real programmers don't die, they just get out of beta'

reply via email to

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