PROOF Lite linking issues

Hello,

I am trying to use PROOF-Lite to process a tree. It seems to run correctly (it fills histograms), but when I look at the log files for the individual workers I see a variety of linking errors. I see things like:
/usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): relocation 9 has invalid symbol index 2

/usr/lib/gcc/x86_64-linux-gnu/4.7/…/…/…/x86_64-linux-gnu/crt1.o: In function _start': (.text+0x20): undefined reference tomain’
collect2: error: ld returned 1 exit status

The general flow of my code is:

myChain->Add( FILES );
gROOT->ProcessLine(".L MyTSelector.cc++g");
TProof::Open(“lite://”);
gProof->Exec("gSystem->Load(“MyTSelector_cc.so”));
myChain->SetProof(kTRUE);
myChain->Process(“MyTSelector.cc++g”);

Are these linking errors a problem?

Thanks,

Hi,

This is because the first .so creation adds the local main symbol in the shared lib.
Which system is this and which version of ROOT?

Anyhow, try this and let me know:

myChain->Add( FILES );
// gROOT->ProcessLine(".L MyTSelector.cc++g");
TProof::Open("lite://");
// gProof->Exec("gSystem->Load(\"MyTSelector_cc.so\"));
gProof->Load("MyTSelector.cc++g");
myChain->SetProof(kTRUE);
// myChain->Process("MyTSelector.cc++g");
myChain->Process("MyTSelector");

or directly

myChain->Add( FILES );
TProof::Open("lite://");
myChain->SetProof(kTRUE);
myChain->Process("MyTSelector.cc++g");

Hope it helps.

G. Ganis

Thanks for getting back to me.

I’ve switched over to using

TSelector::GetSelctor() and it seems to have fixed.
For posterity I am on:
uname -a
Linux pike 3.2.0-4-amd64 #1 SMP Debian 3.2.63-2 x86_64 GNU/Linux

with ROOT 5.34.09