Date: Wed, 20 Sep 2000 09:47:03 +0200 (WET) From: Andris Pavenis To: djgpp AT delorie DOT com Subject: Re: V2 update installation problem In-Reply-To: <83pulzbprh.fsf@mercury.st.hmc.edu> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Reply-To: djgpp AT delorie DOT com Errors-To: nobody AT delorie DOT com X-Mailing-List: djgpp AT delorie DOT com X-Unsubscribes-To: listserv AT delorie DOT com Precedence: bulk On 19 Sep 2000, Nate Eldredge wrote: > "!?" writes: > > > I have had version 2 since it came out, and a few months ago, I > > decided to download the whole package again and update. > [snip] > > > C:\DJGPP\tests>makeall > > Bad command or file name > > make.exe: Nothing to be done for `all'. > > gcc -o check.exe check.o slist.o objs.o > > check.o: In function `main': > > check.cc:291: undefined reference to `__throw' > > check.cc:313: undefined reference to `__throw' > > check.cc:355: undefined reference to `__throw' > > check.cc(.text+0x1461): undefined reference to `__throw' > > check.cc(.text+0x1466): undefined reference to `__throw' > > check.cc(.text+0x1516): undefined reference to `terminate(void)' > > objs.o: In function `Object::Object(char *)': > > objs.cc:15: undefined reference to `__throw' > > objs.cc(.text+0xc6): undefined reference to `__throw' > > objs.cc(.text+0xd1): undefined reference to `__throw' > > objs.cc(.text+0x117): undefined reference to `terminate(void)' > > collect2: ld returned 1 exit status > > make.exe: *** [check.exe] Error 1 > > C:\DJGPP\tests> > > Your makefile is broken. C++ files should be linked using `gpp' (or > `g++' on Unix). There may be some other problems as well but this > appears to be the showstopper. > No. Showstopper is broken DJGPP installation. All symbols which are not found live in libgcc.a which should be linked in by both gcc and gpp. Only reason for such problem I can imagine is that gcc found outdated libgcc.a before it's own libgcc.a. For gcc-2.95.2 libgcc.a should be in directory lib/gcc-lib/djgpp/2.952. In this case I suspect old version (from gcc-2.7.2.1 ?) is lurking in lib About gcc and gpp: there no problem to use gcc for C++. One only should add '-lstdcxx -lm' to command line when linking if either of STL or stream I/O is being used. gpp does this automatically and this is only reason why to recommend to use it. Andris