ROOT on lxplus5 machines?

What version of ROOT should I use for the lxplus5.cern.ch machines?

> echo $SCRAM_ARCH slc5_ia32_gcc434

I know ROOT versions are kept in

/afs/cern.ch/sw/lcg/app/releases/ROOT

But I don’t see versions of root for that available, for example:

that shows a “slc4_ia32_gcc43” version but no slc5_ia32* version.

Hi,

The naming convention is slightly different for slc5 (not a ROOT decision)… You can take i686-slc5-gcc43-opt or i686-slc5-gcc43-dbg (for optimized or debug build)

Cheers, Bertrand.

I put in my ~/.bash_profile:

export ROOTSYS=/afs/cern.ch/sw/lcg/app/releases/ROOT/5.26.00/i686-slc5-gcc43-opt/root export PATH=$PATH:$ROOTSYS/bin export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ROOTSYS/lib

And then I try to run root and get an error:

[code]
$ ssh -Y anderson@lxplus5.cern.ch

$ which root
/afs/cern.ch/sw/lcg/app/releases/ROOT/5.26.00/i686-slc5-gcc43-opt/root/bin/root

$ root -l
/afs/cern.ch/sw/lcg/app/releases/ROOT/5.26.00/i686-slc5-gcc43-opt/root/bin/root.exe: /usr/lib/libstdc++.so.6: version GLIBCXX_3.4.9' not found (required by /afs/cern.ch/sw/lcg/app/releases/ROOT/5.26.00/i686-slc5-gcc43-opt/root/lib/libCore.so) /afs/cern.ch/sw/lcg/app/releases/ROOT/5.26.00/i686-slc5-gcc43-opt/root/bin/root.exe: /usr/lib/libstdc++.so.6: versionGLIBCXX_3.4.9’ not found (required by /afs/cern.ch/sw/lcg/app/releases/ROOT/5.26.00/i686-slc5-gcc43-opt/root/lib/libCint.so)
/afs/cern.ch/sw/lcg/app/releases/ROOT/5.26.00/i686-slc5-gcc43-opt/root/bin/root.exe: /usr/lib/libstdc++.so.6: version GLIBCXX_3.4.9' not found (required by /afs/cern.ch/sw/lcg/app/releases/ROOT/5.26.00/i686-slc5-gcc43-opt/root/lib/libMathCore.so) /afs/cern.ch/sw/lcg/app/releases/ROOT/5.26.00/i686-slc5-gcc43-opt/root/bin/root.exe: /usr/lib/libstdc++.so.6: versionGLIBCXX_3.4.9’ not found (required by /afs/cern.ch/sw/lcg/app/releases/ROOT/5.26.00/i686-slc5-gcc43-opt/root/lib/libRint.so)[/code]

Hi,

Well, the default version for lxplus5 machines is x86_64-slc5-gcc34-opt. You can use any of these ROOT versions directly:

/afs/cern.ch/sw/lcg/app/releases/ROOT/5.26.00/i686-slc5-gcc34-opt /afs/cern.ch/sw/lcg/app/releases/ROOT/5.26.00/x86_64-slc5-gcc34-opt
Now, if you want to use different compiler version, you first have to setup your environment. For gcc4.3 compiler and runtime libraries, you can one of these scripts (depending on your shell):source /afs/cern.ch/sw/lcg/contrib/gcc/4.3/i686-slc5-gcc43-opt/setup.csh source /afs/cern.ch/sw/lcg/contrib/gcc/4.3/i686-slc5-gcc43-opt/setup.shOr, for 64 bits:

source /afs/cern.ch/sw/lcg/contrib/gcc/4.3/x86_64-slc5-gcc43-opt/setup.csh source /afs/cern.ch/sw/lcg/contrib/gcc/4.3/x86_64-slc5-gcc43-opt/setup.sh
But if you don’t have special requirements, I would suggest to use a ROOT version matching the lxplus5 architecture (x86_64-slc5-gcc34-xxx)

Cheers, Bertrand.

I’m confused. In my original post I saw this when type this on lxplus5:

> echo $SCRAM_ARCH slc5_ia32_gcc434

so you recommended

But now you say I should use x86_64-slc5-gcc34-opt, not i686 for lxplus5 machines?

Mike

For future reference for lxplus5 users.

I put this in my ~/.bash_profile and now I can use ROOT 5.26.00:

source /afs/cern.ch/sw/lcg/contrib/gcc/4.3/x86_64-slc5-gcc43-opt/setup.sh export ROOTSYS=/afs/cern.ch/sw/lcg/app/releases/ROOT/5.26.00/x86_64-slc5-gcc34-opt/root export PATH=$PATH:$ROOTSYS/bin export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ROOTSYS/lib

Hi,

Please don’t give wrong information!
This line:source /afs/cern.ch/sw/lcg/contrib/gcc/4.3/x86_64-slc5-gcc43-opt/setup.sh is not needed if you don’t need gcc4.3 :exclamation:
This is sufficient:

export ROOTSYS=/afs/cern.ch/sw/lcg/app/releases/ROOT/5.26.00/x86_64-slc5-gcc34-opt/root export PATH=$PATH:$ROOTSYS/bin export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ROOTSYS/lib

Then

Well, yes, as I was referring to your orignal post:

[quote]> echo $SCRAM_ARCH
slc5_ia32_gcc434[/quote]
As you explicitely asked for slc5_ia32_gcc434 (slc5 32bit gcc4.3), to be able to use this specific version you need to set up your environment, as explained previously.
Otherwise, you don’t need to. If you just want to use bare Root, you can use x86_64-slc5-gcc34-xxx (the 32bit version i686-slc5-gcc34-xxx should work as well).

For example, login to lxplus5, it says “Scientific Linux CERN 5.3 x86_64”:
And for more informations:

[lxplus312] ~ $ uname -a Linux lxplus312.cern.ch 2.6.18-164.11.1.el5 #1 SMP Wed Jan 20 12:36:24 CET 2010 x86_64 x86_64 x86_64 GNU/Linux [lxplus312] ~ $ gcc --version gcc (GCC) 4.1.2 20080704 (Red Hat 4.1.2-46)
So it is a 64 bit machine with gcc4.1.2 (compatible with gcc34 but not with gcc43). Now up to you to decide what you want (or need) to use. If you use SCRAM (I don’t) maybe you have special requirements…

Bertrand.

Yeah, sorry for the confusion.

The reality is I don’t know what SCRAM is, I’m not an expert on compilers or processors. Just a user. I just thought that scram variable was the value to ask for to find out more about the architecture of the machine I’m on.

So really, I should have just said I wanted the newest version of ROOT that works on an lxplus5 machine.

OK, I understand, don’t worry. And yes, it is better to ask e.g. default configuration for lxplus (or lxplus5).
Cheers, Bertrand.