It used to work fine for pyroot and proof, but this afternoon suddenly encountering the following error in both pyroot and proof :
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
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?
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 .
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:
[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
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.
[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
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?