[ROOT] rootcint problems to compile libraries

From: Tommaso Chiarusi (Tommaso.Chiarusi@bo.infn.it)
Date: Fri Feb 01 2002 - 14:16:41 MET


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