Slc5 versions to be run from afs

Dear all,

I would like to ask you from which afs directory I should run ROOT (e.g. version 5.26.00b) on lxplus slc5 machines and my 32bit slc5 machine.

On lxplus:

$ uname -a
Linux lxplus428.cern.ch 2.6.18-194.17.4.el5 #1 SMP Tue Oct 26 12:01:33 CEST 2010 x86_64 x86_64 x86_64 GNU/Linux
$ gcc -dumpversion
4.1.2

My machine:

$ uname -a
Linux aterno 2.6.18-194.26.1.el5 #1 SMP Wed Nov 10 09:51:11 CET 2010 i686 i686 i386 GNU/Linux
$ gcc -dumpversion
4.1.2

Should I use the following builds in /afs/cern.ch/sw/lcg/app/releases/ROOT/5.26.00b, even if the gcc version does not match?
i686-slc5-gcc43-opt for my machine
x86_64-slc5-gcc43-opt -or- x86_64-slc5-gcc44-opt for lxplus

Thanks,
Matteo

Hi Matteo,

This is explained in the download pages of Root. See for example at this page under AFS
You have to setup the environment for the compiler first, and then for Root. The way to do it depends on your shell. So to work on lxplus (slc5 x86_64) with Root 5.26.00b:
With bash:

. /afs/cern.ch/sw/lcg/contrib/gcc/4.3/x86_64-slc5/setup.sh . /afs/cern.ch/sw/lcg/app/releases/ROOT/5.26.00b/x86_64-slc5-gcc43-opt/root/bin/thisroot.sh
With [t]csh

source /afs/cern.ch/sw/lcg/external/gcc/4.3/x86_64-slc5/setup.csh source /afs/cern.ch/sw/lcg/app/releases/ROOT/5.26.00b/x86_64-slc5-gcc43-opt/root/bin/thisroot.csh
And to work on your local computer (slc5 i686):
With bash:

. /afs/cern.ch/sw/lcg/contrib/gcc/4.3/i686-slc5/setup.sh . /afs/cern.ch/sw/lcg/app/releases/ROOT/5.26.00b/i686-slc5-gcc43-opt/root/bin/thisroot.sh
With [t]csh

source /afs/cern.ch/sw/lcg/external/gcc/4.3/i686-slc5/setup.csh source /afs/cern.ch/sw/lcg/app/releases/ROOT/5.26.00b/i686-slc5-gcc43-opt/root/bin/thisroot.csh
Cheers, Bertrand.

Thanks a lot. I was still using the old manual setting of $ROOTSYS and friends.

Just a note concerning the two scripts. If I try to include them in a caller script (e.g. in .tcshrc) I get a weird result that completely screw up my path:

$ source rootsetup.csh                                      #this is a script that just calls the other two 
/afs/cern.ch/user/m/bin/drop_from_path: Command not found.
/afs/cern.ch/user/m/bin/drop_from_path: Command not found.
/afs/cern.ch/user/m/bin/drop_from_path: Command not found.
/afs/cern.ch/user/m/bin/drop_from_path: Command not found.
dirname: Command not found.
$ ls
ls: Command not found.
$ more
more: Command not found.

maybe due to the use of “$_” to get the dir name.
Same problem if a put in sequence in an alias.

It seems that the second script must really run as a direct subprogram of the current shell.