CERN PYROOT environement changed?

Dear Pyroot expert:

My PyROOT environment setup is here:

source /afs/cern.ch/sw/lcg/external/gcc/4.3.2/x86_64-slc5/setup.sh
export ROOTSYS=/afs/cern.ch/sw/lcg/app/releases/ROOT/5.34.01/x86_64-slc5-gcc43-opt/root
export PATH=/afs/cern.ch/sw/lcg/external/Python/2.5.4p2/x86_64-slc5-gcc43-opt/bin:$ROOTSYS/bin:$PATH
export LD_LIBRARY_PATH=$ROOTSYS/lib:/afs/cern.ch/sw/lcg/external/Python/2.5.4p2/x86_64-slc5-gcc43-opt/lib:$LD_LIBRARY_PATH
export PYTHONPATH=$PYTHONPATH:$ROOTSYS/lib

It used to work fine for pyroot and proof, but this afternoon suddenly encountering the following error in both pyroot and proof :

  1. pyroot does not work, saying missing libPyROOT

[valtical00] /work/users/qing/data5/qing/SAM_proof > python sam_proof.py
Traceback (most recent call last):
File “sam_proof.py”, line 2, in
from ROOT import *
File “/afs/cern.ch/sw/lcg/app/releases/ROOT/5.34.07/x86_64-slc5-gcc43-opt/root/lib/ROOT.py”, line 100, in
import libPyROOT as _root
ImportError: libpython2.6.so.1.0: cannot open shared object file: No such file or directory

  1. proof does not work , saying missing libXrdUtils.so.1:

root [0] TProof *proof = TProof::Open(“valtical.cern.ch”);
dlopen error: libXrdUtils.so.1: cannot open shared object file: No such file or directory
Load Error: Failed to load Dynamic link library /afs/cern.ch/sw/lcg/app/releases/ROOT/5.34.01/x86_64-slc5-gcc43-opt/root/lib/libProofx.so
Error in TProofMgr::GetXProofMgrCtor: can’t load libProofx
Starting master: opening connection …
SysError in TUnixSystem::UnixRecv: recv (Connection reset by peer)
Error in TProof::Open: new session could not be created

Is this related with the SLC6 upgrade? how should I change my environment setting now to use proof and pyroot now?

Cheers,Gang

Gang,

the setup above for PyROOT is not as it should be: it sets up p2.5, but ROOT on afs is build against p2.6 (and has been for a long time, although on Linux, using p2.5 might have worked if either a) no shared lib is used or b) the shared lib isn’t versioned, as the API differences between p2.5 and p2.6 are minor).

So, just use /afs/cern.ch/sw/lcg/external/Python/2.6.5p2/x86_64-slc5-gcc43-opt .

Cheers,
WIm

Dear Wlav:

Thanks for the prompt reply, I changed the ROOTSYS value between 5.30.02, 5.27.02, 5.26.00 and also a few versions but still encountering the same error:

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.30.02/x86_64-slc5-gcc43-opt/root
export PATH=/afs/cern.ch/sw/lcg/external/Python/2.6.5p2/x86_64-slc5-gcc43-opt/bin:$ROOTSYS/bin:$PATH
export LD_LIBRARY_PATH=$ROOTSYS/lib:/afs/cern.ch/sw/lcg/external/Python/2.6.5p2/x86_64-slc5-gcc43-opt/lib:$LD_LIBRARY_PATH
export PYTHONPATH=$PYTHONPATH:$ROOTSYS/lib

[valtical00] /afs/cern.ch/user/q/qing > python
Python 2.6.5 (r265:79063, Jan 23 2012, 16:26:09)
[GCC 4.3.5] on linux2
Type “help”, “copyright”, “credits” or “license” for more information.

from ROOT import *
Traceback (most recent call last):
File “”, line 1, in
File “/afs/cern.ch/sw/lcg/app/releases/ROOT/5.26.00/x86_64-slc5-gcc43-opt/root/lib/ROOT.py”, line 86, in
import libPyROOT as _root
ImportError: libpython2.5.so: cannot open shared object file: No such file or directory

Cheers,Gang

Gang,

that’s not the same error. If you setup p2.6 and then use an older ROOT that was build against p2.5, then yes, you’ll now get a missing 2.5 shared lib.

You have to match up the version of python with the version of ROOT that was build against that python version. You can do:$ ldd $ROOTSYS/lib/libPyROOT.so | grep pythonto quickly see which is needed.

Cheers,
Wim

Dear Wlav:

[valtical00] /afs/cern.ch/user/q/qing/test_environment > ldd /afs/cern.ch/sw/lcg/app/releases/ROOT/5.34.04/x86_64-slc5-gcc43-opt/root/lib/libPyROOT.so | grep python
/afs/cern.ch/sw/lcg/app/releases/ROOT/5.34.04/x86_64-slc5-gcc43-opt/root/lib/libPyROOT.so: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.9’ not found (required by /afs/cern.ch/sw/lcg/app/releases/ROOT/5.34.04/x86_64-slc5-gcc43-opt/root/lib/libPyROOT.so)
libpython2.6.so.1.0 => not found

This reminds me to use python 2.6.*, so I set up:

[valtical00] /afs/cern.ch/user/q/qing/test_environment > export PATH=/afs/cern.ch/sw/lcg/external/Python/2.6.5p2/x86_64-slc5-gcc43-opt/bin:$ROOTSYS/bin:$PATH

[valtical00] /afs/cern.ch/user/q/qing/test_environment > export LD_LIBRARY_PATH=$ROOTSYS/lib:/afs/cern.ch/sw/lcg/external/Python/2.6.5p2/x86_64-slc5-gcc43-opt/lib:$LD_LIBRARY_PATH

[valtical00] /afs/cern.ch/user/q/qing/test_environment > export PYTHONPATH=$PYTHONPATH:$ROOTSYS/lib

[valtical00] /afs/cern.ch/user/q/qing/test_environment > python -V
Python 2.6.5

Now I am using python2.6.5 and run ldd again but still the same error:

[valtical00] /afs/cern.ch/user/q/qing/test_environment > ldd /afs/cern.ch/sw/lcg/app/releases/ROOT/5.34.04/x86_64-slc5-gcc43-opt/root/lib/libPyROOT.so | grep python
/afs/cern.ch/sw/lcg/app/releases/ROOT/5.34.04/x86_64-slc5-gcc43-opt/root/lib/libPyROOT.so: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.9’ not found (required by /afs/cern.ch/sw/lcg/app/releases/ROOT/5.34.04/x86_64-slc5-gcc43-opt/root/lib/libPyROOT.so)
libpython2.6.so.1.0 => /afs/cern.ch/sw/lcg/external/Python/2.6.5p2/x86_64-slc5-gcc43-opt/lib/libpython2.6.so.1.0 (0x00002b6fc9f79000)

Cheers,Gang

Gang,

that’s not what I get on lxplus. And in fact:$ nm -D /usr/lib64/libstdc++.so.6 | grep GLIBCXX_3.4.9 0000000000000000 A GLIBCXX_3.4.9
Which machine did you use?

Cheers,
Wim