🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: gnu.g++.bug
Article #2024

Re: Cannot find crt0+.o

#2024
From: Gordon Joly
Date: Mon, 22 May 1989 09:57
60 lines
2951 bytes
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.
Technical Details
Message-ID: <8905221103.AA10283@AENEAS.MIT.EDU>
Path: arc1-ca.pugleaf.net!utzoo!telly!attcan!utgpu!jarvis.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!NSFNET-RELAY.AC.UK!gordon%stats.ucl.ac.uk

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!telly!attcan!utgpu!jarvis.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!NSFNET-RELAY.AC.UK!gordon%stats.ucl.ac.uk
From: gordon%stats.ucl.ac.uk@NSFNET-RELAY.AC.UK (Gordon Joly)
Newsgroups: gnu.g++.bug
Subject: Re: Cannot find crt0+.o
Message-ID: <8905221103.AA10283@AENEAS.MIT.EDU>
Date: 22 May 89 09:57:27 GMT
Sender: daemon@tut.cis.ohio-state.edu
Distribution: gnu
Organization: GNUs Not Usenet
Lines: 60