gordon%stats.ucl.ac.uk@NSFNET-RELAY.AC.UK (Gordon Joly) (05/22/89)
mdt> karl:/stats/staff/karl/gordon/BAIES/WOOD[14] make mdt> g++ -v mdt> g++ version 1.35.0 mdt> g++ wood.o table.o oper.o -o wood -g -lg++ -lm -v mdt> g++ version 1.35.0 mdt> /stats/staff/karl/lib/gcc-ld++ -o wood -C -dc -dp -Bstatic /lib/crt0.o mdt> /lib/Mcrt1.o wood.o table.o oper.o -lg++ /stats/staff/karl/lib/gcc-gnulib -lg -lc mdt> /stats/staff/karl/lib/gcc-ld++: text symbol `___DTOR_LIST__' redefined as set vector. Files: mdt> C++.hacksa12670 mdt> /stats/staff/karl/lib/libg++.a(stream.o) mdt> /stats/staff/karl/lib/gcc-ld++: text symbol `___CTOR_LIST__' redefined as set vector. Files: mdt> C++.hacksa12670 mdt> /stats/staff/karl/lib/libg++.a(stream.o) mdt> /lib/crt0.o: Undefined symbol __DYNAMIC referenced from text mdt> mdt> This indicates two problems. First, you have not recompiled all your mdt> files with GNU C++ 1.35.0. If you had, there would be no stabs trying mdt> to make __DTOR_LIST__ a set vector. mdt> mdt> Secondly, your tm.h file is getting wrong information. If it is mdt> tm-sun3.h, you need tm-sun3+.h. If it is tm-xxx.h, where tm-xxx.h mdt> looks like this: mdt> mdt> /* GNU Blurb. */ mdt> mdt> #define SITE_SPECIFIC_OPTIONS (1 << lose) mdt> mdt> #include "tm-sun3.h" mdt> mdt> then you have the problem that the config script is not smart enough mdt> to change the include to include tm-sun3+.h, nor to make tm-sun3+.h mdt> for you in the first place. Make it so that tm-xxx.h winds up with mdt> the right STARTFILE_SPEC (i.e., it references crt0+.o instead of mdt> crt0.o). mdt> mdt> Michael I solved the first by installing libg++.a 1.35.0 compiled with GNU C++ 1.35.0, so that [...] karl:/stats/staff/karl/gordon/BAIES/WOOD[7] make wood g++ -v g++ version 1.35.0 g++ wood.o table.o oper.o -o wood -g -v g++ version 1.35.0 /stats/staff/karl/lib/gcc-ld++ -o wood -C -dc -dp -Bstatic /lib/crt0.o /lib/Mcrt1.o wood.o table.o oper.o -lg++ /stats/staff/karl/lib/gcc-gnulib -lg -lc /lib/crt0.o: Undefined symbol __DYNAMIC referenced from text make: *** Error 1 karl:/stats/staff/karl/gordon/BAIES/WOOD[8] [...] only the /lib/crt0.o (should be /stats/staff/karl/lib/crt0+.o) problem remains. I trace the error thru g++:find_file with gdb, but this was not very revealing. In fact I did ``cp ./config/tm-sun3+.h tm.h'', anc changed two lines in the Makefile, namely CONFIG_H = config.h tm.h # CONFIG_H Next; try a complete rm *.o ; make [...] Gordon.