Re: [ROOT] solved: __gnu_cxx not defined error message

From: Rene Brun (Rene.Brun@cern.ch)
Date: Tue Oct 22 2002 - 18:38:18 MEST


Hi Alexandr,

Your fix is correct when using STL vectors, etc with gcc3.2 and
Root3.03/09.

This problem has already been fixed in the devleopment version in CVS.

Rene Brun



On 22 Oct 2002, Alexandr Malusek wrote:

> Hi,
> 
> With root-3.03.09 and gcc-3.2 I got the following error:
> 
> root [0] gSystem->Load("libRCTmod.so");
> Error: class,struct,union or type __gnu_cxx not defined  FILE:/home/malusek/src/ctmod/lib/libRCTmod.so LINE:1
> 
> I found the following line in the ROOT source code:
> 
> $ find root-3.03.09 -name '*.h' -exec grep -H gnu_cxx {} \;
> root-3.03.09/cint/lib/dll_stl/vec.h:#pragma link C++ namespace __gnu_cxx;
> 
> I added
> 
> #pragma link C++ namespace __gnu_cxx;
> 
> to my ctmodLinkDef.h file, recompiled, and the shared library can be
> loaded in ROOT again. Nevertheless, I do not understand the line's
> meaning.
> 
> I use both g++ and icc so I'll also test:
> 
> #if (G__GNUC>=3 && G__GNUC_MINOR>=1)
> #pragma link C++ namespace __gnu_cxx;
> #endif
> 
> which comes from cint/lib/dll_stl/vec.h.
> 
> --
> Alexandr.Malusek@imv.liu.se
> 



This archive was generated by hypermail 2b29 : Sat Jan 04 2003 - 23:51:15 MET