[Gate-users] Installation problems - Root related?

Simon Stute gate.stute at gmail.com
Mon Jan 14 19:56:47 CET 2008


2008/1/14, Marc Chamberland <mchamber at connect.carleton.ca>:
> Thank you for the quick reply, Simon.
> The first time I tried making Gate, ROOTSYS was unknowingly set to a
> newer version of Root and the linking process failed miserably.

If you did not remove the tmp directory in the Gate directory (it contains
all *.d files (dependency files) created during the compilation) since this
time, I am pretty sure that the problem comes from here. Because in this
case, for the first time the compilation found the declarations in the
TTree.h file (from the newer version of Root), so even if you have now fixed
ROOTSYS to the good directory (5.14), the compilation continues to search
the implementation of the functions in the library corresponding to TTree.h.
But the problem is that in the 5.14 version, those implementation are
certainly in an other header file.

So if you have never removed the tmp directory, do so and launch again the
makefile with the appropriate path and ROOTSYS variable pointing to
the 5.14version of ROOT, the compilation will start again from the
beginning. Else,
this is a strange case ! because ROOT5.14 is appropriate for Gate3.1.2.

Then, I changed ROOTSYS and LD_LIBRARY_PATH to point to the Root 5.14
> installation and I got the error message from my previous message. In
> any case, I've tried it again just to make sure (I source env_gate.csh
> beforehand):
> mchamber at surt> printenv ROOTSYS
> /data/data014/HEP/root-5.14
> mchamber at surt> printenv LD_LIBRARY_PATH
> /data/data014/HEP/root-5.14/lib:/local/X11/lib:/local/X11/lib/X11:/usr/
> lib:/lib:/usr/lib/X11:/usr/openwin/lib:/local/lib:/opt/local/lib:/data/
> data014/HEP/Geant4/geant4.9.0.p01/lib/Linux-g++:/data/data014/HEP/
> CLHEP/lib:/data/data014/HEP/Coin/lib:/home/mchamber/geant4/lib/Linux-g++
> mchamber at surt> make
> Using granular libraries ...
> Linking Gate ...
> ./tmp/Linux-g++/Gate/libGate.so: undefined reference to
> `TTree::SetEntryList(TEntryList*, char const*)'
> ./tmp/Linux-g++/Gate/libGate.so: undefined reference to
> `TTree::CopyAddresses(TTree*, bool)'
> ./tmp/Linux-g++/Gate/libGate.so: undefined reference to
> `TTree::ResetBranchAddress(TBranch*)'
> ./tmp/Linux-g++/Gate/libGate.so: undefined reference to
> `TTree::GetEntryList()'
> collect2: ld returned 1 exit status
> make: *** [bin/Linux-g++/Gate] Error 1
> You say those functions should be defined in the header file? Would
> that be TTree.h? Or would they be in another header file? Because in
> TTree.h from root 5.14.00g, those functions are definitely not there.

There's CopyAddresses, but it takes on an additional argument. If you
> have time, please have a look at the attached file. It's from the
> source code of Root 5.14 that I just downloaded from the Root website.
> Thank you again for your time, it's really appreciated!
> ~Marc

De rien !

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.opengatecollaboration.org/mailman/private/gate-users/attachments/20080114/0b9ae8ce/attachment.htm>

More information about the Gate-users mailing list