Question on loading a library in PROOF


I have made a library which contains the class I use to process data. But I don’t know how to use a .so instead of .C file in PROOF. Here is my code, it complains when executed:

100812 10:22:04 001 Proofx-E: Conn::Connect: failed to connect to proof://yanght@master:1093//
100812 10:22:04 001 Proofx-E: XrdProofConn: XrdProofConn: severe error occurred while opening a connection to server [master:1093]

Maybe I am not doing it in the right way. Can someone please tell me how to deal with this problem? Thank you!

Best Regards,


#include <TROOT.h>
#include <TProof.h>
#include <TProofLog.h>
#include <TStopwatch.h>
#include <TString.h>
#include <TEnv.h>
#include <algo.h>
#include “CollectionTree.h”
#include “makechain.h”
#include “saveoutput.h”

void execute(const char *list=“list”,const char *output=“test.root”){
gSystem->Load(“”); //Load the library here
cout<<"Starting chain "<<endl;
makechain(list); //Read the root file list and add them to a TChain chain_M
cout<<“chains DONE”<<endl;

TProof* p = 0;
p = TProof::Open("");
chain_M->Process(“MyClass”); //I used to use chain_M->Process(“MyClass.C+”) and it works well
saveoutput(output,true); //Saving output
printf(“File %s has been saved.\n\n”,output);

Dear Hongtao,

Sorry for the late reply.

After looking at your code, this looks strange: are you suer you did not put TProof::Open(“master”) at some point of your testing?

Anyhow, your macro loads the library only locally. The ways to load additional software in a PROOF session are described at … l-software .
If your macro is a single file then you can use TProof::Load . Otherwise you should create a PAR file.
Have a look at the web pages. If you would like to have more detailed help you have to give more details about the way libMyClass is built. Note the PAR files can just contain the and a simple PROOF-INF/SETUP.C macro just loading it.

G. Ganis