compiling gcc-3.0.4 on Tru64 v4.0G: dies with 'Can't locate file for: -lstdc++'

Toni L. Harbaugh-Blackford harbaugh@nciaxp.ncifcrf.gov
Sat Mar 9 11:20:00 GMT 2002


Hi-

The build of gcc-3.0.4 goes fine until it gets to the part that
compiles libstc++-v3.  For some reason, the final link uses g++
instead of gcc, so '-lstdc++' gets added as flag.  Since libstdc++
does not exist yet, the build fails with 'Can't locate file for: -lstdc++'
How do I fix this?

I have seen this same error posted to the list on several occasions
without any reply, so it is probably some simple mistake I've made
in the build.  If so, please let me know what I have missed.

Here is part of the build log shortly before the error:

.
.
.
/bin/sh ../libtool --tag CXX --mode=compile /tmp/harbaugh/gcc-3.0.4/gcc/g++ -B/tmp/harbaugh/gcc-3.0.4/gcc/ -nostdinc++  -L/tmp/harbaugh/gcc-3.0.4/alphaev56-dec-osf4.0g/libstdc++-v3/src -L/tmp/harbaugh/gcc-3.0.4/alphaev56-dec-osf4.0g/libstdc++-v3/src/.libs -B/usr/local/inst/gcc-3.0.4/alphaev56-dec-osf4.0g/bin/ -B/usr/local/inst/gcc-3.0.4/alphaev56-dec-osf4.0g/lib/ -isystem /usr/local/inst/gcc-3.0.4/alphaev56-dec-osf4.0g/include -nostdinc++  -I/tmp/harbaugh/gcc-3.0.4/alphaev56-dec-osf4.0g/libstdc++-v3/include/alphaev56-dec-osf4.0g -I/tmp/harbaugh/gcc-3.0.4/alphaev56-dec-osf4.0g/libstdc++-v3/include  -I../libsupc++  -I../libmath      -g -O2 -fno-implicit-templates    -Wall -Wno-format -W -Wwrite-strings -Winline  -fdiagnostics-show-location=once    -g    -c wstring-inst.cc
/tmp/harbaugh/gcc-3.0.4/gcc/g++ -B/tmp/harbaugh/gcc-3.0.4/gcc/ -nostdinc++ -L/tmp/harbaugh/gcc-3.0.4/alphaev56-dec-osf4.0g/libstdc++-v3/src -L/tmp/harbaugh/gcc-3.0.4/alphaev56-dec-osf4.0g/libstdc++-v3/src/.libs -B/usr/local/inst/gcc-3.0.4/alphaev56-dec-osf4.0g/bin/ -B/usr/local/inst/gcc-3.0.4/alphaev56-dec-osf4.0g/lib/ -isystem /usr/local/inst/gcc-3.0.4/alphaev56-dec-osf4.0g/include -nostdinc++ -I/tmp/harbaugh/gcc-3.0.4/alphaev56-dec-osf4.0g/libstdc++-v3/include/alphaev56-dec-osf4.0g -I/tmp/harbaugh/gcc-3.0.4/alphaev56-dec-osf4.0g/libstdc++-v3/include -I../libsupc++ -I../libmath -g -O2 -fno-implicit-templates -Wall -Wno-format -W -Wwrite-strings -Winline -fdiagnostics-show-location=once -g -c wstring-inst.cc   -DPIC -o .libs/wstring-inst.o
/tmp/harbaugh/gcc-3.0.4/gcc/g++ -B/tmp/harbaugh/gcc-3.0.4/gcc/ -nostdinc++ -L/tmp/harbaugh/gcc-3.0.4/alphaev56-dec-osf4.0g/libstdc++-v3/src -L/tmp/harbaugh/gcc-3.0.4/alphaev56-dec-osf4.0g/libstdc++-v3/src/.libs -B/usr/local/inst/gcc-3.0.4/alphaev56-dec-osf4.0g/bin/ -B/usr/local/inst/gcc-3.0.4/alphaev56-dec-osf4.0g/lib/ -isystem /usr/local/inst/gcc-3.0.4/alphaev56-dec-osf4.0g/include -nostdinc++ -I/tmp/harbaugh/gcc-3.0.4/alphaev56-dec-osf4.0g/libstdc++-v3/include/alphaev56-dec-osf4.0g -I/tmp/harbaugh/gcc-3.0.4/alphaev56-dec-osf4.0g/libstdc++-v3/include -I../libsupc++ -I../libmath -g -O2 -fno-implicit-templates -Wall -Wno-format -W -Wwrite-strings -Winline -fdiagnostics-show-location=once -g -c wstring-inst.cc -o wstring-inst.o >/dev/null 2>&1
/bin/sh ../libtool --tag CXX --mode=link /tmp/harbaugh/gcc-3.0.4/gcc/g++ -B/tmp/harbaugh/gcc-3.0.4/gcc/ -nostdinc++  -L/tmp/harbaugh/gcc-3.0.4/alphaev56-dec-osf4.0g/libstdc++-v3/src -L/tmp/harbaugh/gcc-3.0.4/alphaev56-dec-osf4.0g/libstdc++-v3/src/.libs -B/usr/local/inst/gcc-3.0.4/alphaev56-dec-osf4.0g/bin/ -B/usr/local/inst/gcc-3.0.4/alphaev56-dec-osf4.0g/lib/ -isystem /usr/local/inst/gcc-3.0.4/alphaev56-dec-osf4.0g/include  -fno-implicit-templates    -Wall -Wno-format -W -Wwrite-strings -Winline  -fdiagnostics-show-location=once    -g    -o libstdc++.la -rpath /usr/local/inst/gcc-3.0.4/lib -version-info 3:4:0 -lm basic_file.lo bitset.lo c++locale.lo cmath.lo  codecvt.lo complex_io.lo functexcept.lo globals.lo ios.lo limits.lo  locale.lo locale-inst.lo localename.lo misc-inst.lo stdexcept.lo  stl-inst.lo string-inst.lo strstream.lo valarray-inst.lo  wstring-inst.lo ../libmath/libmath.la   ../libsupc++/libsupc++convenience.la -lm 
rm -fr .libs/libstdc++.lax
mkdir .libs/libstdc++.lax
rm -fr .libs/libstdc++.lax/libmath.a
mkdir .libs/libstdc++.lax/libmath.a
(cd .libs/libstdc++.lax/libmath.a && ar x /tmp/harbaugh/gcc-3.0.4/alphaev56-dec-osf4.0g/libstdc++-v3/src/../libmath/.libs/libmath.a)
rm -fr .libs/libstdc++.lax/libsupc++convenience.a
mkdir .libs/libstdc++.lax/libsupc++convenience.a
(cd .libs/libstdc++.lax/libsupc++convenience.a && ar x /tmp/harbaugh/gcc-3.0.4/alphaev56-dec-osf4.0g/libstdc++-v3/src/../libsupc++/.libs/libsupc++convenience.a)
/tmp/harbaugh/gcc-3.0.4/gcc/g++ -B/tmp/harbaugh/gcc-3.0.4/gcc/ -nostdinc++  -L/tmp/harbaugh/gcc-3.0.4/alphaev56-dec-osf4.0g/libstdc++-v3/src -L/tmp/harbaugh/gcc-3.0.4/alphaev56-dec-osf4.0g/libstdc++-v3/src/.libs -B/usr/local/inst/gcc-3.0.4/alphaev56-dec-osf4.0g/bin/ -B/usr/local/inst/gcc-3.0.4/alphaev56-dec-osf4.0g/lib/ -isystem /usr/local/inst/gcc-3.0.4/alphaev56-dec-osf4.0g/include -shared -nostdlib  ${wl}-expect_unresolved ${wl}\*   .libs/basic_file.o .libs/bitset.o .libs/c++locale.o .libs/cmath.o .libs/codecvt.o .libs/complex_io.o .libs/functexcept.o .libs/globals.o .libs/ios.o .libs/limits.o .libs/locale.o .libs/locale-inst.o .libs/localename.o .libs/misc-inst.o .libs/stdexcept.o .libs/stl-inst.o .libs/string-inst.o .libs/strstream.o .libs/valarray-inst.o .libs/wstring-inst.o .libs/libstdc++.lax/libmath.a/signbit.o .libs/libstdc++.lax/libmath.a/signbitf.o .libs/libstdc++.lax/libmath.a/stubs.o  .libs/libstdc++.lax/libsupc++convenience.a/del_op.o .libs/libstdc++.lax/libsupc++convenience.a/del_opnt.o .libs/libstdc++.lax/libsupc++convenience.a/del_opv.o .libs/libstdc++.lax/libsupc++convenience.a/del_opvnt.o .libs/libstdc++.lax/libsupc++convenience.a/eh_alloc.o .libs/libstdc++.lax/libsupc++convenience.a/eh_aux_runtime.o .libs/libstdc++.lax/libsupc++convenience.a/eh_catch.o .libs/libstdc++.lax/libsupc++convenience.a/eh_exception.o .libs/libstdc++.lax/libsupc++convenience.a/eh_globals.o .libs/libstdc++.lax/libsupc++convenience.a/eh_personality.o .libs/libstdc++.lax/libsupc++convenience.a/eh_terminate.o .libs/libstdc++.lax/libsupc++convenience.a/eh_throw.o .libs/libstdc++.lax/libsupc++convenience.a/new_handler.o .libs/libstdc++.lax/libsupc++convenience.a/new_op.o .libs/libstdc++.lax/libsupc++convenience.a/new_opnt.o .libs/libstdc++.lax/libsupc++convenience.a/new_opv.o .libs/libstdc++.lax/libsupc++convenience.a/new_opvnt.o .libs/libstdc++.lax/libsupc++convenience.a/pure.o .libs/libstdc++.lax/libsupc++convenience.a/tinfo.o .libs/libstdc++.lax/libsupc++convenience.a/tinfo2.o .libs/libstdc++.lax/libsupc++convenience.a
/vec.o   -L/tmp/harbaugh/gcc-3.0.4/alphaev56-dec-osf4.0g/libstdc++-v3/src -L/tmp/harbaugh/gcc-3.0.4/alphaev56-dec-osf4.0g/libstdc++-v3/src/.libs -lm ../libmath/.libs/libmath.a -lm ../libsupc++/.libs/libsupc++convenience.a -lm -L/tmp/harbaugh/gcc-3.0.4/gcc -L/usr/lib/cmplrs/cc -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc -lm -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc     -Wl,-msym -Wl,-soname -Wl,libstdc++.so `test -n "3.0.4:3.0" && echo -Wl,-set_version -Wl,3.0.4:3.0` -Wl,-update_registry -Wl,.libs/so_locations -o .libs/libstdc++.so.3.0.4
/usr/bin/ld:
.libs/complex_io.o: std::allocator<char>::~allocator(): weak symbol multiply defined
.libs/complex_io.o: std::string::_Alloc_hider::~_Alloc_hider(): weak symbol multiply defined
.libs/functexcept.o: std::allocator<char>::~allocator(): weak symbol multiply defined
.libs/functexcept.o: std::string::_Alloc_hider::~_Alloc_hider(): weak symbol multiply defined
.libs/ios.o: std::basic_ios<char, std::char_traits<char> >::~basic_ios(): weak symbol multiply defined
.libs/ios.o: typeinfo for std::ios_base::failure: weak symbol multiply defined
.libs/ios.o: typeinfo name for std::ios_base::failure: weak symbol multiply defined
.libs/ios.o: typeinfo for std::exception: weak symbol multiply defined
.
.
.

.libs/libstdc++.lax/libsupc++convenience.a/new_opv.o: typeinfo for std::exception: weak symbol multiply defined
.libs/libstdc++.lax/libsupc++convenience.a/new_opv.o: typeinfo name for std::exception: weak symbol multiply defined
.libs/libstdc++.lax/libsupc++convenience.a/tinfo.o: typeinfo for std::bad_typeid: weak symbol multiply defined
.libs/libstdc++.lax/libsupc++convenience.a/tinfo.o: typeinfo for std::bad_cast: weak symbol multiply defined
.libs/libstdc++.lax/libsupc++convenience.a/tinfo.o: typeinfo name for std::bad_typeid: weak symbol multiply defined
.libs/libstdc++.lax/libsupc++convenience.a/tinfo.o: typeinfo for std::exception: weak symbol multiply defined
.libs/libstdc++.lax/libsupc++convenience.a/tinfo.o: typeinfo name for std::bad_cast: weak symbol multiply defined
.libs/libstdc++.lax/libsupc++convenience.a/tinfo.o: typeinfo name for std::exception: weak symbol multiply defined
.libs/libstdc++.lax/libsupc++convenience.a/tinfo2.o: typeinfo for std::type_info: weak symbol multiply defined
.libs/libstdc++.lax/libsupc++convenience.a/tinfo2.o: typeinfo name for std::type_info: weak symbol multiply defined
Can't locate file for: -lstdc++
collect2: ld returned 1 exit status
*** Exit 1
Stop.
*** Exit 1
Stop.
*** Exit 1
Stop.
*** Exit 1
Stop.
*** Exit 1
Stop.

-------------------------
Thanks,
Toni

-----------------------------------------------------------------------
Toni Harbaugh-Blackford                     harbaugh@nciaxp.ncifcrf.gov
AlphaServer 8400 System Administrator
SAIC/NCI Frederick Advanced Biomedical Computing Center



More information about the Gcc-help mailing list