Compiling against Libtool's will

Christoph Bartoschek bartosch at or.uni-bonn.de
Tue Sep 30 14:32:02 BST 2003


Hi,

I try to compile a recent kdevelop on my machine. The problem is, that I have 
my own gcc/qt/kde installation in my home directory which is incompatible 
with the system ones.

Compiling kdevelop fails with the error:

*** Warning: Linking the executable r++ against the loadable module
*** libkdevcppsupport.so is not portable!
./.libs/libkdevcppsupport.so: undefined reference to 
`std::__default_alloc_template<(bool)1, (int)0>::_S_force_new at GLIBCPP_3.2.2'
collect2: ld returned 1 exit status
make[4]: *** [r++] Error 1


This is clear because the dammned libtool produced the following line:

g++ -DAST_DEBUG -Wnon-virtual-dtor -Wno-long-long -Wundef -Wall -W 
-Wpointer-arith -Wwrite-strings -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE 
-Wcast-align -Wconversion -Wchar-subscripts -O2 -Wformat-security 
-Wmissing-format-attribute -fno-exceptions -fno-check-new -fno-common 
-DQT_CLEAN_NAMESPACE -DQT_NO_ASCII_CAST -DQT_NO_STL -DQT_NO_COMPAT 
-DQT_NO_TRANSLATION -o .libs/r++ main.o  -L/lfs/user/bartosch/Software/lib 
-L/usr/X11R6/lib -L/lfs/user/bartosch/Software/qt/lib -L/opt/kde3/lib 
./.libs/libkdevcppsupport.so 
-L/lfs/user/bartosch/Software/source/gcc-build/i686-pc-linux-gnu/libstdc++-v3/src 
-L/lfs/user/bartosch/Software/source/gcc-build/i686-pc-linux-gnu/libstdc++-v3/src/.libs 
-L/lfs/user/bartosch/Software/source/gcc-build/gcc -L/usr/lib/qt3/lib 
-L/usr/lib/gcc-lib/i486-suse-linux/3.2 
-L/usr/lib/gcc-lib/i486-suse-linux/3.2/../../../../i486-suse-linux/lib 
-L/usr/lib/gcc-lib/i486-suse-linux/3.2/../../.. -L/usr/lib 
/lfs/user/bartosch/Software/source/kdevelop-030930/lib/.libs/libkdevelop.so 
/lfs/user/bartosch/Software/source/kdevelop-030930/lib/widgets/propeditor/.libs/libpropertyeditor.so 
/opt/kde3/lib/libktexteditor.so /opt/kde3/lib/libkparts.so 
/opt/kde3/lib/libkio.so /opt/kde3/lib/libkdeui.so /opt/kde3/lib/libkdesu.so 
/opt/kde3/lib/libkdecore.so /opt/kde3/lib/libDCOP.so -ldl -lresolv -lXinerama 
/usr/lib/libart_lgpl_2.so /opt/kde3/lib/libkdefx.so -lqt-mt -lpng -lXext 
-lX11 -lSM -lICE -lpthread -lXrender -lutil -lz /usr/lib/libfam.so 
/lfs/user/bartosch/Software/source/kdevelop-030930/lib/catalog/.libs/libkdevcatalog.so 
/lfs/user/bartosch/Software/source/kdevelop-030930/lib/cppparser/.libs/libkdevcppparser.so 
/usr/lib/libstdc++.so ../../lib/catalog/.libs/libkdevcatalog.so -ldb 
../../lib/cppparser/.libs/libkdevcppparser.so 
/lfs/user/bartosch/Software/gcc/lib/./libstdc++.so -lm -lc -lgcc_s 
-Wl,--rpath -Wl,/lfs/user/bartosch/Software/kde/lib/kde3 -Wl,--rpath 
-Wl,/lfs/user/bartosch/Software/kde/lib -Wl,--rpath 
-Wl,/lfs/user/bartosch/Software/gcc/lib/. -Wl,--rpath -Wl,/opt/kde3/lib


There are some lines which should not be there like
-L/usr/lib/gcc-lib/i486-suse-linux/3.2

but the compile fails because of
/usr/lib/libstdc++.so

Why does libtool take this shitty lib und use that link path? 

I found some references to /usr/lib/libstdc++.so in some *.la files, but where 
does it come from? I cannot figure that out.

Can anyone help?

I should be glad that I am not able to express my thoughts about libtool in 
english. I can only say that this is the worst development tool in history of 
mankind.

Christoph Bartoschek

-
to unsubscribe from this list send an email to kdevelop-request at kdevelop.org with the following body:
unsubscribe »your-email-address«



More information about the KDevelop mailing list