[ROOT] solved: __gnu_cxx not defined error message

From: Alexandr Malusek (Alexandr.Malusek@imv.liu.se)
Date: Tue Oct 22 2002 - 18:29:53 MEST


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