ARTS compile error / wrong libstdc++

"Greg Singer" <[email protected]>
Newsgroups gmane.linux.gentoo.newbies
Message-ID <[email protected]>
Hello all:

I've been trying to upgrade KDE3.0.2 to 3.0.3, which includes an upgrade to 
the ARTS package. Unfortunately the compile process dies when trying to link 
together mcopidl:

/bin/sh ../libtool --silent --mode=link --tag=CXX g++  -Wnon-virtual-dtor 
-Wno-long-long -Wbad-function-cast -Wundef -Wall -pedantic -W 
-Wpointer-arith -Wmissing-prototypes -Wwrite-strings -ansi 
-D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion -O2 
-fno-exceptions -fno-check-new  -ftemplate-depth-99 -O0    -o mcopidl 
-L/usr/X11R6/lib -L/usr/qt/3/lib -L/usr/kde/3/lib  mcopidl.o yacc.o 
scanner.o namespace.o ../mcop/libmcop.la

mcopidl.o: In function `std::basic_string<char, std::char_traits<char>, 
std::allocator<char> >& std::basic_string<char, std::char_traits<char>, 
std::allocator<char> >::append<char const*>(char const*, char const*)':
mcopidl.o(.gnu.linkonce.t._ZNSs6appendIPKcEERSsT_S3_+0x53): undefined 
reference to `std::basic_string<char, std::char_traits<char>, 
std::allocator<char> >::replace(__gnu_cxx::__normal_iterator<char*, 
std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, 
__gnu_cxx::__normal_iterator<char*, std::basic_string<char, 
std::char_traits<char>, std::allocator<char> > >, char const*, char const*)'

If I manually run libtool without the --silent option, I get this ugly 
thing, followed by the same error message:

g++ -Wnon-virtual-dtor -Wno-long-long -Wbad-function-cast -Wundef -Wall 
-pedantic -W -Wpointer-arith -Wmissing-prototypes -Wwrite-strings -ansi 
-D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion -O2 
-fno-exceptions -fno-check-new -ftemplate-depth-99 -O0 -o .libs/mcopidl 
mcopidl.o yacc.o scanner.o namespace.o  -L/usr/X11R6/lib -L/usr/qt/3/lib 
-L/usr/kde/3/lib ../mcop/.libs/libmcop.so -L/lib 
-L/usr/lib/gcc-lib/i686-pc-linux-gnu/3.1.1 
-L/usr/lib/gcc-lib/i686-pc-linux-gnu/3.1.1/../../../../i686-pc-linux-gnu/lib 
-L/usr/lib/gcc-lib/i686-pc-linux-gnu/3.1.1/../../.. 
-L/var/tmp/portage/gcc-3.1-r7/work/build/i686-pc-linux-gnu/libstdc++-v3/src 
-L/var/tmp/portage/gcc-3.1-r7/work/build/i686-pc-linux-gnu/libstdc++-v3/src/.libs 
-L/var/tmp/portage/gcc-3.1-r7/work/build/gcc -L/usr/i686-pc-linux-gnu/bin 
-L/usr/i686-pc-linux-gnu/lib 
-L/usr/lib/gcc-lib/i686-pc-linux-gnu/3.1/gcc-lib/i686-pc-linux-gnu/3.1 
-L/usr/lib/gcc-lib/i686-pc-linux-gnu/3.1/../../../../i686-pc-linux-gnu/lib 
-lresolv -ldl /usr/lib/gcc-lib/i686-pc-linux-gnu/3.1/libstdc++.so -lm -lc 
-lgcc_s -Wl,--rpath -Wl,/usr/kde/3/lib -Wl,--rpath 
-Wl,/usr/lib/gcc-lib/i686-pc-linux-gnu/3.1

Now, I've got GCC3.1.1 installed, but I note that libtool is trying to link 
to the libstdc++.so in my 3.1 directory. Sure enough, if I directly run the 
above command with the correct path to 3.1.1's libstdc++ the linking process 
completes. BUT, I'm trying to figure out why it's got the wrong path to 
begin with. I also note that a lot of the -L directives point to directories 
in /var/tmp/portage. Surely that is not correct. Where is libtool getting 
these weird paths from?

Thanks,
Greg

_________________________________________________________________
MSN Photos is the easiest way to share and print your photos: 
http://photos.msn.com/support/worldwide.aspx
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.