Re: undefined reference on linking program using ROOT at RedHat-5.2

From: Rene Brun (Rene.Brun@cern.ch)
Date: Mon Apr 05 1999 - 12:01:05 MEST


Hu ShuWei,
Look in our standard makefiles for the compiler options.
In the case of Linux with egcs, the Root libraries have been
compiled with the options
  -fno-rtti -fno-exceptions
Root can be compiled without specifying these options. However,
we have experienced a huge increase in the size of the object files
when these options are active.
The fact that you see a lot unsatisfied references like TCanvas type_info
node indicates that you have compiled with the default rtti options.
Simply use the standard Root compiler options and you should be able to
run.

Rene Brun


On Fri, 2 Apr 1999, ShuWei Ye wrote:

> 
> Hi,
> 
>     I have been out of the roottalk for a quite long time. I met a problem
> when compile and link a program using ROOT-v2.00/13 at RedHat-5.2 The
> error message is
> 
> Linux/bin/mainRint.o: In function `main':
> /usr/include/g++/streambuf.h:479: undefined reference to `ios virtual
> table'
> Linux/bin/mainRint.o: In function `main':
> /usr/include/g++/iostream.h:122: undefined reference to `istream::ios
> virtual table'
> Linux/bin/mainRint.o: In function `main':
> /usr/include/g++/fstream.h:65: undefined reference to `ifstream::ios
> virtual table'
> Linux/bin/libAMS.so: undefined reference to `TGTransientFrame type_info
> node'
> Linux/bin/libAMS.so: undefined reference to `TMarker3DBox type_info node'
> Linux/bin/libAMS.so: undefined reference to `TCanvas type_info node'
> Linux/bin/libAMS.so: undefined reference to `TButton type_info node'
> Linux/bin/libAMS.so: undefined reference to `TGTransientFrame type_info
> functio
> Linux/bin/libAMS.so: undefined reference to `TPolyLine3D type_info
> function'
> Linux/bin/libAMS.so: undefined reference to `TObject type_info node'
> Linux/bin/libAMS.so: undefined reference to `TPolyLine3D type_info node'
> Linux/bin/libAMS.so: undefined reference to `TPad type_info function'
> Linux/bin/libAMS.so: undefined reference to `TCanvas type_info function'
> Linux/bin/libAMS.so: undefined reference to `THelix type_info node'
> Linux/bin/libAMS.so: undefined reference to `THelix type_info function'
> Linux/bin/libAMS.so: undefined reference to `TObject type_info function'
> Linux/bin/libAMS.so: undefined reference to `TMarker3DBox type_info
> function'
> Linux/bin/libAMS.so: undefined reference to `TPad type_info node'
> Linux/bin/libAMS.so: undefined reference to `TButton type_info function'
> Linux/bin/libAMS.so: undefined reference to `TNamed type_info function'
> Linux/bin/libAMS.so: undefined reference to `TNamed type_info node'
> collect2: ld returned 1 exit status
> gmake: *** [Linux/bin/amsRint] Error 1
> 
> I checked all ROOT libraries, and found no any symbols with "type_info".
> 
> The compiler I used is
> egcs-2.90.29 980515 (egcs-1.0.3 release)
> 
> 
> Any ideas ? Thanks.
> 
> 
> Best regards  --Shuwei
> 



This archive was generated by hypermail 2b29 : Tue Jan 04 2000 - 00:43:31 MET