Re: [ROOT] rootcint problems to compile libraries

From: Rene Brun (Rene.Brun@cern.ch)
Date: Fri Feb 01 2002 - 14:59:50 MET


Hi Tommaso,

You should rerun rootcint on your classes and recompile.

Rene Brun

Tommaso Chiarusi wrote:
> 
> Dear Rooters,
> I'm sorry if this mail should have been sent to the cint
> newsgroup.
> I think that it covers some of the  basic ROOT enviroment, that's whi I
> write to you!
> 
> MY PROBLEM:
> 
> I've installed first ROOT v 3.01/06 and then ROOT v 3.02/07.
> 
> With both I got problems with  my 2 link
> library libLastra.so and libTrack.so.
> which I had previously compiled using ROOT v 3.00/06.
> 
> ROOT v 3.01/06 issued the following:
> ------
>   *******************************************
>   *                                         *
>   *        W E L C O M E  to  R O O T       *
>   *                                         *
>   *   Version   3.01/06      23 July 2001   *
>   *                                         *
>   *  You are welcome to visit our Web site  *
>   *          http://root.cern.ch            *
>   *                                         *
>   *******************************************
> 
> Compiled with thread support.
> 
> CINT/ROOT C/C++ Interpreter version 5.15.07, July 7 2001
> Type ? for help. Commands must be C++ statements.
> Enclose multiple statements between { }.
> 
> !!!!!!!!!!!!!!   W A R N I N G    !!!!!!!!!!!!!
> 
> The internal data structures have been changed.
> Please recompile the setup file which contains
> the definition "G__cpp_setupLastraDict()"
> using CINT version 5.15.07, July 7 2001.
> library=30051472 cintbody accepts=30051501,30051599
> and creates 30051503
> 
> !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
> --------
> 
> With ROOT v 3.02/07
> 
> ----
>   *******************************************
>   *                                         *
>   *        W E L C O M E  to  R O O T       *
>   *                                         *
>   *   Version   3.02/07   10 January 2002   *
>   *                                         *
>   *  You are welcome to visit our Web site  *
>   *          http://root.cern.ch            *
>   *                                         *
>   *******************************************
> 
> Compiled for linux with thread support.
> 
> CINT/ROOT C/C++ Interpreter version 5.15.25, Jan 6 2002
> Type ? for help. Commands must be C++ statements.
> Enclose multiple statements between { }.
> dlopen error:
> /lxmacro_home2/chiarusi/zonalavoro_root/./mylib/libLastra.so: undefined
> symbol: Execute__7TObjectPCcT1
> Load Error: Failed to load Dynamic link library
> /lxmacro_home2/chiarusi/zonalavoro_root/./mylib/libLastra.so
> *** Interpreter error recovered ***
> ------
> 
> IT WAS CLEAR I HAD TO RECOMPILE MY TWO LIBRARIES!!!!!!
> 
> So I cd first to my Lastra directory, containing the following files
> 
> ------------
> libCint.so._3.00*  libCint.so._3.01*  libCint.so._3.02*
> libCint.so@
> Lastra.cxx  Lastra.h  LastraLinkDef.h
> Makefile_lastra
> ------------
> 
> where
> 
> ---
> libCint.so._3.00*  libCint.so._3.01*  libCint.so._3.02*
> ---
> 
> are the 3 CINT libraries for the tree version of ROOT and
> 
> ---
> libCint.so
> ---
> 
> a link to one of them (THIS ONE MUST EXIST IN THE DIR WHERE I COMPILE!).
> Naturally in the makefile there is the call to the proper version
> of rootcint.
> 
> OK. If I compiled in the 3.00/06 old fashined enviroment, I succeded:
> 
> ----
> g++ -O -Wall -fPIC -D_REENTRANT
> -I/usr/usersm/chiarusi/zonalavoro/root/include -c Lastra.cxx
> Generating dictionary EventDict...
> g++ -O -Wall -fPIC -D_REENTRANT
> -I/usr/usersm/chiarusi/zonalavoro/root/include -c LastraDict.cxx
> g++ -shared -O Lastra.o LastraDict.o -o  libLastra.so
> libLastra.so done
> ----
> 
> BUT If I compile according to the 3.01/06 and 3.02/07
> I got  error response:
> 
> for example, within the V 3.01/06 enviroment:
> --
> g++ -O -Wall -fPIC -D_REENTRANT
> -I/usr/usersm/chiarusi/zonalavoro/root/include -c Lastra.cxx
> Generating dictionary EventDict...
> /opt/root/bin/rootcint: relocation error:
> /opt/root/bin/rootcint: undefined symbol:
> EnclosingSpace__12G__ClassInfo
> make: *** [LastraDict.cxx] Error 127
> 
> --
> 
> while within the V 3.02/07 I got
> ---
> g++ -O -Wall -fPIC -D_REENTRANT
> -I/usr/usersm/chiarusi/zonalavoro/root/include -c Lastra.cxx
> Generating dictionary EventDict...
> /lxmacro_home2/chiarusi/zonalavoro/root/bin/rootcint: relocation error:
> /lxmacro_home2/chiarusi/zonalavoro/root/bin/rootcint: undefined symbol:
> EnclosingSpace__12G__ClassInfo
> make: *** [LastraDict.cxx] Error 127
>  ---
> 
> So they are similar error:
> 
> So my questions are:
> 
> 1. What really does it means to "recompile the setup file", as expressed
> in the former error message related to V 3.01/06?
> 
> 2. What do I have to do?
> 
> I'm sorry if I perhaps raise again a problem that has been already solved
> in this newsgroup, but I surely missed it, even if I read all the mail of
> roottalk!
> 
> Thanks in advances,
> Tommaso



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