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