delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/2000/09/20/03:55:08

Date: Wed, 20 Sep 2000 09:47:03 +0200 (WET)
From: Andris Pavenis <pavenis AT lanet DOT lv>
To: djgpp AT delorie DOT com
Subject: Re: V2 update installation problem
In-Reply-To: <83pulzbprh.fsf@mercury.st.hmc.edu>
Message-ID: <Pine.A41.4.05.10009200940060.143692-100000@ieva06.lanet.lv>
MIME-Version: 1.0
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


On 19 Sep 2000, Nate Eldredge wrote:

> "!?" <lwp04147 AT bayou DOT uh DOT edu> 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

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019