Loading libraries on slaves

Hello,
I spent several days in setting up libraries (of full CMSSW analysis) on slaves of PROOF farm using par file. My analysis code works on single node using PROOF-Lite. But, it failed while running on PROOF farm. It is not able to find some libraries. Please see the output of the command while running it on PROOF farm. The attached file is “output.txt”. I am also attaching the executable "make_minioad_par " for making par file. Please let me know your opinion.

Thanks,
Manoj
make_minioad_par.txt (3.73 KB)
output.txt (85.7 KB)

Hi,

Could you please post the exact command producing output.txt?
Anyhow, I think it has to do with the environment setting on the workers (Proof-Lite inherits the environment from the local ROOT session, so the problem will not show up there).
What is the output of

gProof->Exec(".! echo $LD_LIBRARY_PATH")

?
We have to setup an environment setting script or to add the relevant directives in the XProofd configuration file.

G. Ganis

Hi Ganis,
Thanks for your reply. I am using the command “root -b -q Analysis.c” from user interface to produce the output “output.txt”. The file “Analysis.C” can be found in the folder

/afs/cern.ch/user/j/jha/public/CMS/Proof/CMSSW_7_3_0/src/Selectors/ExampleSelector

Output of the command gProof->Exec(".! echo $LD_LIBRARY_PATH") is following:

“”"
/cvmfs/cms.cern.ch/slc6_amd64_gcc491/lcg/root/5.34.18-cms6//lib:/cvmfs/cms.cern.ch/slc6_amd64_gcc491/cms/cmssw/CMSSW_7_3_0/biglib/slc6_amd64_gcc491:/cvmfs/cms.cern.ch/slc6_amd64_gcc491/cms/cmssw/CMSSW_7_3_0/lib/slc6_amd64_gcc491:/cvmfs/cms.cern.ch/slc6_amd64_gcc491/cms/cmssw/CMSSW_7_3_0/external/slc6_amd64_gcc491/lib:/cvmfs/cms.cern.ch/slc6_amd64_gcc491/external/llvm/3.5/lib:/cvmfs/cms.cern.ch/slc6_amd64_gcc491/external/gcc/4.9.1-cms/lib64:/cvmfs/cms.cern.ch/slc6_amd64_gcc491/external/gcc/4.9.1-cms/lib

“”"
My analysis library reside in “/tmp/jha2/packages/miniaod”. I tried to set this path in the function ‘SETUP.C’ using the file ‘make_minioad_par.sh.’ But, the path “/tmp/jha2/packages/miniaod” is not in LD_LIBRARY_PATH of proof slaves.

Proof config files for master and slaves can be found in the folder
/afs/cern.ch/user/j/jha/public/CMS/Proof/proof_config_files

The proof daemon on slaves and master is started using the command
/afs/cern.ch/user/j/jha/public/CMS/Proof/proof_config_files/proof.sh

Please let me know if you need more information.

Regards,
Manoj

Hi,

Thanks.
So it is the environment, as I thought.
You cannot change it in SETUP.C. It needs to be set before starting proofserv.
There are a couple of ways to do that.
I need to see your start up scripts, but unfortunately I cannot browse the afs files (I can list them but not open): can you change the ACLs?

G

Please find it on “lxplus0028:/tmp/Proof”.

-Manoj

Ok, I can open the files. Thanks.

In Try/Analysis.C I notice that you do not enable the PAR package.
Could you please try enabling that?
See root.cern.ch/drupal/content/wor … -par-files

G

The correct file is

lxplus0028:/tmp/Proof/CMSSW_7_3_0/src/Selectors/ExampleSelector/Analysis.C

In this file, the package has been enabled using PAR.

  • Manoj