ROOT version 5.27 and above

Dear all,

I’d like to use a ROOT version 5.27 or above from lxplus and afs.

Therefore I put in my startup script:

setenv ROOTSYS /afs/cern.ch/sw/lcg/app/releases/ROOT/5.27.02/x86_64-slc5-gcc43-opt/root/

Logged in from lxplus313:


  • LXPLUS Public Login Service Website: cern.ch/plus *
  • Scientific Linux CERN 5.7 x86_64 Support: cern.ch/service-portal *
  •                                                                         *
    
  • Reminder: You have agreed to comply with the CERN computing rules *
  •                                      [cern.ch/ComputingRules](http://cern.ch/ComputingRules)      *
    

Mon 6th Feb 2012: Old /etc/motd messages moved to /etc/motd-archive/
Mon 6th Feb 2012: SLC5 update including acroread, busybox, distcc, firefox,
iftop, libxml2, openssl, php-cli, ruby, t1lib, thunderbird,
and xulrunner.
Mon 13th Feb 2012: python26-mysqldb installed. Python 2.6 MySQL access.
Tue 28th Feb 2012: SLC5 update including ghostscript, glibc, mysql and
kernel (2.6.8-274.17.1)
Wed 14th Mar 2012: libxml++, libsigc++ and glibmm22 installed.


when I open a ROOT session, I get the following error message:

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

It’s not clear to me what I’m doing wrong. Any suggestion?

Thanks a lot in advance!

Hi,

See for example this thread

Cheers, Bertrand.

Thanks a lot, it worked!

But now when I try to compile the code:

g++ code.cpp -g -O2 -fPIC -o code.exec -I root-config --incdir root-config --libs root-config --ldflags

I get:

/afs/cern.ch/sw/lcg/contrib/gcc/4.3.2/x86_64-slc5-gcc34-opt/bin/…/libexec/gcc/x86_64-unknown-linux-gnu/4.3.2/cc1plus: error while loading shared libraries: libmpfr.so.1: cannot open shared object file: No such file or directory

Any suggestion?

Thanks a lot again!

Hi,

It looks like a problem with your installation/configuration/setup of the compiler (libmpfr is not directly used in ROOT and the error comes from the compiler’s cc1plus). (For example did you properly run /afs/cern.ch/sw/lcg/contrib/gcc/4.3.2/x86_64-slc5-gcc34-opt/setup.sh ?).

Cheers,
Philippe.

Hi Philippe,

what do you mean with ‘properly’? Actually, I’m not sure if what I’m doing in my startup script is right:

source /afs/cern.ch/sw/lcg/contrib/gcc/4.3.2/x86_64-slc5-gcc34-opt/setup.csh
setenv ROOTSYS /afs/cern.ch/sw/lcg/app/releases/ROOT/5.33.02/x86_64-slc5-gcc43-opt/root/
setenv LD_LIBRARY_PATH /lib
setenv PATH ${PATH}:$ROOTSYS/bin:/afs/.cern.ch/project/gd/LCG-share/3.1.0-1/globus/sbin
setenv PATH /afs/cern.ch/sw/XML/TL2004/bin/i386-linux:{$PATH}

Do you see anything wrong?

Thanks a lot in advance.

Hi,

Well something is odd with you environment (and I don’t know what it). For me, on lxplus, doing{code]source /afs/cern.ch/sw/lcg/contrib/gcc/4.3.2/x86_64-slc5-gcc34-opt/setup.csh
touch a.cxx
g++ -c a.cxx[/code]works. For you I am guessing that doing:touch a.cxx g++ -c a.cxxwill leads to the error you reported.

I would recommend to ‘empty’ your startup script and run just the lines above and see if it fixes the problem. If it does not fix the problem, then you ought to contact your system administrator and/or support at cern to help you out.

Cheers,
Philippe.

My 5 cents … :unamused:
Don’t you think that you should:
source /afs/cern.ch/sw/lcg/contrib/gcc/4.3.2/x86_64-slc5-gcc43-opt/setup.csh
instead of:
source /afs/cern.ch/sw/lcg/contrib/gcc/4.3.2/x86_64-slc5-gcc34-opt/setup.csh

Hi,

Pepe has a point that even if the compiler was working for you, you select:source /afs/cern.ch/sw/lcg/contrib/gcc/4.3.2/x86_64-slc5-gcc34-opt/setup.csh setenv ROOTSYS /afs/cern.ch/sw/lcg/app/releases/ROOT/5.33.02/x86_64-slc5-gcc43-opt/root/ i.e. The compiler is not the one used to compiled ROOT are mixing the two would be (most time) fatal … i.e v3.4 instead of v4.3 of gcc.

Cheers,
Philippe.

There is also another thing that looks suspicious to me. :-k
You seem to destroy: #-o
setenv LD_LIBRARY_PATH /lib
For example, I believe that the “/afs/…/lcg/contrib/…/setup.csh” script modified it (and created it, if it was not present) so you should really be careful with it. 8-[

In order to set ROOT related variables you could simply:

source /afs/cern.ch/sw/lcg/app/releases/ROOT/5.33.02/x86_64-slc5-gcc43-opt/root/bin/thisroot.csh

or do it the hard way (note: PREPEND ROOT related paths, NOT APPEND):

setenv ROOTSYS /afs/cern.ch/sw/lcg/app/releases/ROOT/5.33.02/x86_64-slc5-gcc43-opt/root setenv PATH ${ROOTSYS}/bin:${PATH} setenv LD_LIBRARY_PATH ${ROOTSYS}/lib:${LD_LIBRARY_PATH}
Also, in order to compile and link your code, try:

`root-config --cxx --cflags` -g -O2 -fPIC -o code.exec code.cpp `root-config --libs`

Dear all,

the last suggestions from Pepe seems to work. I’ll get back to you if I need some other help.

Thanks a lot.

For the moment I’d say that this thread is closed :slight_smile:

See you!