🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

Re: Undefined symbol error

#1395
From: Ulrich Grepel
Date: Thu, 21 Jan 1993 23:21
51 lines
2523 bytes
In article <9212291815.AA06057@hrt213.brooks.af.mil> you write:
|> 	I've been working on compiling RogueWave's Tools.h++ library
|> using g++; the lib compiled flawlessly under gcc 2.3.3, with libg++-2.3.
|> However, when linking a test program, I get the following:
|> 
|> ld: Undefined symbol 
|>    __vt$10ostrstream$3ios 
|> collect: /usr/bin/ld returned 2 exit status
|> *** Error code 1
|> 
|> 	I called RogueWave and confirmed it's not a symbol in their
|> library.  Tech support was able to confirm that they use calls to ios
|> which should be supplied by libg++, so it's something wrong with
|> libg++-2.3.  Anyone have any insight, or (hopefully) a fix?
|> 
|> -- Cerebus <tjm@hrt213.brooks.af.mil>
|> "Learning C++ as I go..."
|> 
|> 


We have almost the same problem here: We try to compile InterViews 3.1
and some of the larger programs fail due to

    __vt$7istream$3ios

missing. As far as we can guess this is a virtual function table for the
iostream-Library. The libg++-2.3-WHATSNEW file says that they changed
the inheritance structure of the iostream library. They now use multiple
inheritance with virtual base classes. If you look into iostream.h, you
can see that each of istream and ostream are declared as using ios as
it's virtual base class. So any other class inheriting both of istream
and ostream (like iostream) share a single copy of the ios object, and
not two, one for each of it's parents. Somehow I think the compiler
(gcc 2.3.3) can't cope with that concept and 'forgets' to put the virtual
function table for the ios functions of the istream class into the
appropriate object file that then finds its way into libg++.a. Anyhow,
unfortunately we do not have a solution, but we desperately need one.
If you got any reply with more help than ours, please mail 

alex@intellektik.informatik.th-darmstadt.de

AND

uli@intellektik.....

(not everyone of us is here at every time, and it's kind of urgent...)

Thanks,

Alex & Uli
Technical Details
Message-ID: <9301211726.AA26505@aida.intellektik.informatik.th-darmstadt.de>
Path: arc1-ca.pugleaf.net!sparky!uunet!zaphod.mps.ohio-state.edu!pacific.mps.ohio-state.edu!cis.ohio-state.edu!intellektik.INformatik.TH-darmstadt.DE!uli

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!sparky!uunet!zaphod.mps.ohio-state.edu!pacific.mps.ohio-state.edu!cis.ohio-state.edu!intellektik.INformatik.TH-darmstadt.DE!uli
From: uli@intellektik.INformatik.TH-darmstadt.DE (Ulrich Grepel)
Newsgroups: gnu.g++.bug
Subject: Re: Undefined symbol error
Date: 21 Jan 1993 18:21:50 -0500
Organization: GNUs Not Usenet
Lines: 52
Sender: daemon@cis.ohio-state.edu
Approved: bug-g++@prep.ai.mit.edu
Distribution: gnu
Message-ID: <9301211726.AA26505@aida.intellektik.informatik.th-darmstadt.de>