Hi,<br><br><div><span class="gmail_quote">2008/1/14, Marc Chamberland <<a href="mailto:mchamber@connect.carleton.ca">mchamber@connect.carleton.ca</a>>:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Thank you for the quick reply, Simon.<br><br>The first time I tried making Gate, ROOTSYS was unknowingly set to a<br>newer version of Root and the linking process failed miserably.</blockquote><div><br>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.<br><br>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.14 version 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.<br></div><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Then, I changed ROOTSYS and LD_LIBRARY_PATH to point to the Root 5.14<br>installation and I got the error message from my previous message. In<br>any case, I've tried it again just to make sure (I source env_gate.csh<br>
beforehand):<br><br>mchamber@surt> printenv ROOTSYS<br>/data/data014/HEP/root-5.14<br>mchamber@surt> printenv LD_LIBRARY_PATH<br>/data/data014/HEP/root-5.14/lib:/local/X11/lib:/local/X11/lib/X11:/usr/<br>lib:/lib:/usr/lib/X11:/usr/openwin/lib:/local/lib:/opt/local/lib:/data/
<br>data014/HEP/Geant4/geant4.9.0.p01/lib/Linux-g++:/data/data014/HEP/<br>CLHEP/lib:/data/data014/HEP/Coin/lib:/home/mchamber/geant4/lib/Linux-g++<br>mchamber@surt> make<br>Using granular libraries ...<br>Linking Gate ...
<br>./tmp/Linux-g++/Gate/libGate.so: undefined reference to<br>`TTree::SetEntryList(TEntryList*, char const*)'<br>./tmp/Linux-g++/Gate/libGate.so: undefined reference to<br>`TTree::CopyAddresses(TTree*, bool)'<br>
./tmp/Linux-g++/Gate/libGate.so: undefined reference to<br>`TTree::ResetBranchAddress(TBranch*)'<br>./tmp/Linux-g++/Gate/libGate.so: undefined reference to<br>`TTree::GetEntryList()'<br>collect2: ld returned 1 exit status
<br>make: *** [bin/Linux-g++/Gate] Error 1<br><br>You say those functions should be defined in the header file? Would<br>that be TTree.h? Or would they be in another header file? Because in<br>TTree.h from root 5.14.00g, those functions are definitely not there.
</blockquote><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">There's CopyAddresses, but it takes on an additional argument. If you<br>have time, please have a look at the attached file. It's from the
<br>source code of Root 5.14 that I just downloaded from the Root website.<br><br>Thank you again for your time, it's really appreciated!<br><br>~Marc</blockquote><div><br>De rien !<br><br>Simon <br></div><br></div><br>