Re: [ROOT] rootcint problems to compile libraries

From: Rene Brun (Rene.Brun@cern.ch)
Date: Fri Feb 01 2002 - 15:20:55 MET


Tommaso,

Assume that your dictionary file is called LastraCint.cxx (the file produced
by rootcint), make sure that you
   rm LastraCint.*
and then run again make.
It would be better if your makefile was more clever to do this automatically
like the ROOT makefile is doing.

Rene Brun

Tommaso Chiarusi wrote:
> 
> Hi Rene, could you specify better what you mean
> when you say "rerun rootcint" on my classes?
> The call to rootcint is inside the Makefile.
> So I think I'm already using it!
> Sorry if I make dummy questions!
> Tom
> 
> On Fri, 1 Feb 2002, Rene Brun wrote:
> 
> > 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