AIX, g++, collect2? & JAde

Subject: AIX, g++, collect2? & JAde
From: Honza Beranek <beranek@xxxxxxxxxxxx>
Date: Mon, 20 Oct 1997 09:12:59 +0100 (CET)
Hi,
Help! I've got problem with linking jade.

Operating system: AIX 3.2.5 or AIX 4.1
GNU C version:    2.7.2 (or 2.7.2.3) + collect2.
Jade:             0.9, 1.0

...
c++ -fno-implicit-templates -O2 -ansi -s -Wall -Wno-reorder -Wwrite-strings -Wpointer-arith -Wnested-externs -Woverloaded-virtual -Wbad-function-cast -I. -I./../include -I./../grove -I./../spgrove -I./../style -DSP_HAVE_BOOL -DSP_ANSI_CLASS_INST -DSP_MULTI_BYTE -DSP_MULTI_BYTE -DSP_HAVE_SOCKET  -o jade jade.o SgmlFOTBuilder.o RtfFOTBuilder.o HtmlFOTBuilder.o TeXFOTBuilder.o TransformFOTBuilder.o GroffFOTBuilder.o   ../style/libstyle.a ../spgrove/libspgrove.a ../grove/libgrove.a ../lib/libsp.a -lm
collect2: ld returned 8 exit status
0706-317 ERROR: Unresolved or undefined symbols detected:
		 Symbols in error (followed by references) are
		 dumped to the load map.
		 The -bloadmap:<filename> option will create a load map.
Collector::ObjectDynamicRoot virtual table
...

GNU C++ FAQ wrote:
...
Code that does not use #pragma interface/implementation will most
likely shrink dramatically, as g++ now only emits the vtable
for a class in the translation unit where its first non-inline,
non-abstract virtual function is defined.
...

I "fixed" Collector.{h,cxx}.  Move 

//inline
//void Collector::ObjectDynamicRoot::trace(Collector &c) const
//{
//  c.trace(obj_);
//}

from style/Collector.h
to   ./style/Collector.cxx as NON inline:

//inline
void Collector::ObjectDynamicRoot::trace(Collector &c) const
{
  c.trace(obj_);
}

Linking succesfully, but "core dumped".

I can't speak C++.

P.S. Linux 2.0.0, IRIX4, IRIX5 O.K.
-- 
Jan "Ber&aacute;nek" Vl&ccaron;ek, Jan.Vlcek@xxxxxxxxx, SAaS Ostrava


 DSSSList info and archive:  http://www.mulberrytech.com/dsssl/dssslist


Current Thread