Proof ARchive and undefined symbol: _ZTI4TH1F

Hello everybody,
I have a code using TSelector wich works fine with PROOF (ROOT 5.16.00)
Now I try to use Proof ARchive file following the twiki page : root.cern.ch/twiki/bin/view/ROOT … ddSoftware

(same kind of files for the Makefile, make_event_par.sh)

TProof::Open(“master”)
Starting master: opening connection …
Starting master: OK
PROOF set to parallel mode (36 workers)

root [1] gProof->ClearPackage(“Tree1.par”)
(Int_t)(0)
root [2] gProof->UploadPackage(“Tree1.par”)
(Int_t)(0)
root [3] gProof->EnablePackage(“Tree1”)
g++ -O2 -Wall -fPIC -pthread -m32 -I/afs/usatlas.bnl.gov/cernsw/lcg/external/root/5.16.00-PROOF.00/slc4_ia32_gcc34/root/include -c -o Tree1.o Tree1.C
Generating dictionary Tree1Dict.cxx…
g++ -O2 -Wall -fPIC -pthread -m32 -I/afs/usatlas.bnl.gov/cernsw/lcg/external/root/5.16.00-PROOF.00/slc4_ia32_gcc34/root/include -c Tree1Dict.cxx
g++ -shared -O2 -m32 Tree1.o Tree1Dict.o -o libTree1.so
libTree1.so done
master-0: building Tree1 …
master-0: g++ -O2 -Wall -fPIC -pthread -m32 -I/afs/usatlas.bnl.gov/cernsw/lcg/external/root/5.16.00-PROOF.00/slc4_ia32_gcc34/root/include -c -o Tree1.o Tree1.C
master-0: Generating dictionary Tree1Dict.cxx…
master-0: g++ -O2 -Wall -fPIC -pthread -m32 -I/afs/usatlas.bnl.gov/cernsw/lcg/external/root/5.16.00-PROOF.00/slc4_ia32_gcc34/root/include -c Tree1Dict.cxx
master-0: g++ -shared -O2 -m32 Tree1.o Tree1Dict.o -o libTree1.so
master-0: libTree1.so done

worker-0.0: building Tree1 …
worker-0.0: g++ -O2 -Wall -fPIC -pthread -m32 -I/afs/usatlas.bnl.gov/cernsw/lcg/external/root/5.16.00-PROOF.00/slc4_ia32_gcc34/root/include -c -o Tree1.o Tree1.C
worker-0.0: Generating dictionary Tree1Dict.cxx…
worker-0.0: g++ -O2 -Wall -fPIC -pthread -m32 -I/afs/usatlas.bnl.gov/cernsw/lcg/external/root/5.16.00-PROOF.00/slc4_ia32_gcc34/root/include -c Tree1Dict.cxx
worker-0.0: g++ -shared -O2 -m32 Tree1.o Tree1Dict.o -o libTree1.so
worker-0.0: libTree1.so done

(int)0

worker-0.0: failure loading Tree1 …
dlopen error: /data/proofbox/tarrade/packages/Tree1/./libTree1.so: undefined symbol: _ZTI4TH1F
Load Error: Failed to load Dynamic link library /data/proofbox/tarrade/packages/Tree1/./libTree1.so
*** Interpreter error recovered ***
(int)0

Any idea about this problem ?

Now if I have few pieces of code (like Tree1, Tree2) do I need to do a Proof ARchive file for every pieces of code (Tree1, Tree2) ?

If Tree2 depend of Tree1, do I just need to add Tree1.h when I do a Proof ARchive file ?

Thanks a lot for your help
Cheers
Fabien

Hi,

The PAR file should contain all the code needed, so Tree1.h, Tree2.h, Tree1.cxx, Tree2.cxx, …

Could you post Tree1.par so that I can check where the problem comes from?

G. Ganis

I had a similar problem when trying to upload packages in the
production reelase 5.16. The package to upload is a basic tree
(empty baseSelector class), but at EnablePackage(“DstLibrary”) which only loads an shared compile image within SETUP.C a message the load error message shows up.

Added libHist.so and libGX11TFF.so explicitely resolves the issue. It seems from the SETUP.C print info that only the root libs

Core Cint and Rint are know up front.

This solved the issue, but may not be the best or proper solution…

*** additional information **

Loaded

pSession->EnablePackage(“DstLibrary”)

// messages from SETUP.C

shared libraries

-lCore
-lCint
-lRint

3 libraries loaded

total 88
0 drwxr-sr-x 3 videbaek rhbrahms 96 Aug 14 2006 .
4 drwxr-sr-x 5 videbaek rhbrahms 4096 Aug 24 13:19 …
4 -rw-r–r-- 1 videbaek rhbrahms 3420 Aug 14 2006 baseSelector.C
80 -rw-r–r-- 1 videbaek rhbrahms 80666 Aug 14 2006 baseSelector.h
0 drwxr-sr-x 2 videbaek rhbrahms 96 Aug 24 11:54 PROOF-INF
(Int_t)(1)
worker-0.8: failure loading DstLibrary …
worker-0.9: failure loading DstLibrary …
worker-0.6: failure loading DstLibrary …
worker-0.7: failure loading DstLibrary …
worker-0.5: failure loading DstLibrary …
worker-0.4: failure loading DstLibrary …
worker-0.2: failure loading DstLibrary …
worker-0.3: failure loading DstLibrary …
worker-0.1: failure loading DstLibrary …
worker-0.0: failure loading DstLibrary …
.:/brahms/u/videbaek/lib/:/brahms/u/videbaek/lib/banapp/:/usr/lib:/afs/rhic/opt/brahms/pro/lib:/usr/local/lib
dlopen error: /afs/rhic/opt/brahms/pro/lib/libTreePlayer.so.5.16: undefined symbol: _ZTI3TH1
Load Error: Failed to load Dynamic link library /brahms/u/videbaek/brahms_app/fv_app/analysis/pp06/baseSelector_C.so
*** Interpreter error recovered ***

after added libHist.so explicitely…
.
.:/brahms/u/videbaek/lib/:/brahms/u/videbaek/lib/banapp/:/usr/lib:/afs/rhic/opt/brahms/pro/lib:/usr/local/lib
dlopen error: /afs/rhic/opt/brahms/pro/lib/libGX11TTF.so.5.16: undefined symbol: _ZN3TTF11fgSmoothingE
Load Error: Failed to load Dynamic link library /brahms/u/videbaek/brahms_app/fv_app/analysis/pp06/baseSelector_C.so
*** Interpreter error recovered ***

After adding libXG11TFF.so proof enables the package and subsequently
executes corretly reading the trees.

//SETUP.C
Int_t SETUP(){
Printf(Form("%s", gSystem->GetDynamicPath()));
TString Ipath(Form("-I%s -I%s
%s","/brahms/u/videbaek/brahms_app_fv_app/analysis/pp06/",gSystem->pwd(),gSystem->GetIncludePath()));
gSystem->Load("/opt/brahms/pro/lib/libHist.so");
gSystem->Load("/opt/brahms/pro/lib/libGX11TTF.so");

gSystem->Load("/brahms/u/videbaek/brahms_app/fv_app/analysis/pp06/baseSelector_C");
gSystem->Load("/brahms/u/videbaek/lib/libBratUtil.so");
… // more loads

gSystem->ListLibraries("*");
gSystem->Exec(“ls -las”);
return 1;
}

Hi,

For startup efficiency reasons the PROOF sessions load by default only a minimal set of libraries. However, for your simple selector you should not
need to load explicitely the libraries.
En passant, I see that SETUP.C is trying to load code using absolute paths, e.g.

gSystem->Load("/brahms/u/videbaek/brahms_app/fv_app/analysis/pp06/baseSelector_C")

This macro is run in the package directory; the idea is that packages are self-contained, so they should refer only to code available there.

I have attached an example of PAR file (save it as emptsel.par) to enable an empty selector (called emptySel) with a TH1F member.
SETUP.C loads it using TROOT->ProcessLine and does not need to specifically load libHist before.

Please try and let me know.

G. Ganis
emptysel.gz (2.97 KB)

Hi Ganis,
Sorry to reply too late.
Now it works with a simply code:
First I need to clean my area :
remove everything in the following directory (create by PROOF)
$HOME/proof/packages/

in $HOME/MacroForPROOF/ keep only Tree1.C and Tree1.h

Then I create a .par :
source make_Tree1_par.csh

open ROOT and I send my macro :
.x Send_PROOF_withPAR.C

the output is PROOF.output

It works fine now.

I am not sure if I understand why I need to clean everything and especially the proof/packages contents .

Now let me try with a main code which depend to some other piece of code.

Thanks a lot
Cheers
Fabien
PROOF_output.txt (9.09 KB)
Send_PROOF_withPAR.C.txt (657 Bytes)
make_Tree1_par.csh.txt (1.07 KB)
Tree1.h.txt (163 KB)
Tree1.C.txt (6.04 KB)

Hello,
I try again this morning (I copy all the necessary code to a new directory and remove the directory : $HOME/proof/packages/
The code works fine but I still have the same message of error ! :

gProof->ClearPackage(“Tree1.par”)
(Int_t)(0)
root [4] .x Send_PROOF_withPAR.C
Connected to: acas0420.usatlas.bnl.gov (valid)
Port number: 1093
User: tarrade
ROOT version: 5.16/100
Architecture-Compiler: linux-gcc346
Proofd protocol version: 15
Client protocol version: 15
Remote protocol version: 15
Log level: 0
Session unique tag: acas0420-1190109019-1019
Default data pool: root://acas0420.usatlas.bnl.gov//data/proofpool
*** Master server 0 (parallel mode, 9 slaves):
Master host name: acas0420.usatlas.bnl.gov
Port number: 1093
User/Group: tarrade/default
ROOT version: 5.16/100-5.16/100
Architecture-Compiler: linux-gcc346
Protocol version: 15
Image name: acas0420.usatlas.bnl.gov
Working directory: /data/proofbox/tarrade/session-acas0420-1190109019-1019/master-0-acas0420-1190109019-1019
Config directory: /afs/usatlas.bnl.gov/cernsw/lcg/external/root/5.16.00-PROOF.00/slc4_ia32_gcc34/root
Config file: proof.conf
Log level: 0
Number of workers: 9
Number of active workers: 9
Number of unique workers: 9
Number of inactive workers: 0
Number of bad workers: 0
Total MB’s processed: 0.00
Total real time used (s): 0.182
Total CPU time used (s): 0.010
Existing DataSets:
*** Package cache client:/usatlas/u/tarrade/proof/packages ***
total 0
*** Package cache acas0420.usatlas.bnl.gov:/data/proofbox/tarrade/packages ***
total 0
*** Package cache client:/usatlas/u/tarrade/proof/packages ***
total 0
*** Package cache acas0420.usatlas.bnl.gov:/data/proofbox/tarrade/packages ***
total 0
g++ -O2 -Wall -fPIC -pthread -m32 -I/afs/usatlas.bnl.gov/cernsw/lcg/external/root/5.16.00-PROOF.00/slc4_ia32_gcc34/root/include -c -o Tree1.o Tree1.C
Generating dictionary Tree1Dict.cxx…
g++ -O2 -Wall -fPIC -pthread -m32 -I/afs/usatlas.bnl.gov/cernsw/lcg/external/root/5.16.00-PROOF.00/slc4_ia32_gcc34/root/include -c Tree1Dict.cxx
g++ -shared -O2 -m32 Tree1.o Tree1Dict.o -o libTree1.so
libTree1.so done
master-0: building Tree1 …
master-0: g++ -O2 -Wall -fPIC -pthread -m32 -I/afs/usatlas.bnl.gov/cernsw/lcg/external/root/5.16.00-PROOF.00/slc4_ia32_gcc34/root/include -c -o Tree1.o Tree1.C
master-0: Generating dictionary Tree1Dict.cxx…
master-0: g++ -O2 -Wall -fPIC -pthread -m32 -I/afs/usatlas.bnl.gov/cernsw/lcg/external/root/5.16.00-PROOF.00/slc4_ia32_gcc34/root/include -c Tree1Dict.cxx
master-0: g++ -shared -O2 -m32 Tree1.o Tree1Dict.o -o libTree1.so
master-0: libTree1.so done
worker-0.7: building Tree1 …
worker-0.7: g++ -O2 -Wall -fPIC -pthread -m32 -I/afs/usatlas.bnl.gov/cernsw/lcg/external/root/5.16.00-PROOF.00/slc4_ia32_gcc34/root/include -c -o Tree1.o Tree1.C
worker-0.7: Generating dictionary Tree1Dict.cxx…
worker-0.7: g++ -O2 -Wall -fPIC -pthread -m32 -I/afs/usatlas.bnl.gov/cernsw/lcg/external/root/5.16.00-PROOF.00/slc4_ia32_gcc34/root/include -c Tree1Dict.cxx
worker-0.7: g++ -shared -O2 -m32 Tree1.o Tree1Dict.o -o libTree1.so
worker-0.8: building Tree1 …
worker-0.8: g++ -O2 -Wall -fPIC -pthread -m32 -I/afs/usatlas.bnl.gov/cernsw/lcg/external/root/5.16.00-PROOF.00/slc4_ia32_gcc34/root/include -c -o Tree1.o Tree1.C
worker-0.8: Generating dictionary Tree1Dict.cxx…
worker-0.8: g++ -O2 -Wall -fPIC -pthread -m32 -I/afs/usatlas.bnl.gov/cernsw/lcg/external/root/5.16.00-PROOF.00/slc4_ia32_gcc34/root/include -c Tree1Dict.cxx
worker-0.8: g++ -shared -O2 -m32 Tree1.o Tree1Dict.o -o libTree1.so
worker-0.8: libTree1.so done
worker-0.4: building Tree1 …
worker-0.4: g++ -O2 -Wall -fPIC -pthread -m32 -I/afs/usatlas.bnl.gov/cernsw/lcg/external/root/5.16.00-PROOF.00/slc4_ia32_gcc34/root/include -c -o Tree1.o Tree1.C
worker-0.4: Generating dictionary Tree1Dict.cxx…
worker-0.4: g++ -O2 -Wall -fPIC -pthread -m32 -I/afs/usatlas.bnl.gov/cernsw/lcg/external/root/5.16.00-PROOF.00/slc4_ia32_gcc34/root/include -c Tree1Dict.cxx
worker-0.4: g++ -shared -O2 -m32 Tree1.o Tree1Dict.o -o libTree1.so
worker-0.4: libTree1.so done
worker-0.5: building Tree1 …
worker-0.5: g++ -O2 -Wall -fPIC -pthread -m32 -I/afs/usatlas.bnl.gov/cernsw/lcg/external/root/5.16.00-PROOF.00/slc4_ia32_gcc34/root/include -c -o Tree1.o Tree1.C
worker-0.5: Generating dictionary Tree1Dict.cxx…
worker-0.5: g++ -O2 -Wall -fPIC -pthread -m32 -I/afs/usatlas.bnl.gov/cernsw/lcg/external/root/5.16.00-PROOF.00/slc4_ia32_gcc34/root/include -c Tree1Dict.cxx
worker-0.5: g++ -shared -O2 -m32 Tree1.o Tree1Dict.o -o libTree1.so
worker-0.5: libTree1.so done
worker-0.2: building Tree1 …
worker-0.2: g++ -O2 -Wall -fPIC -pthread -m32 -I/afs/usatlas.bnl.gov/cernsw/lcg/external/root/5.16.00-PROOF.00/slc4_ia32_gcc34/root/include -c -o Tree1.o Tree1.C
worker-0.2: Generating dictionary Tree1Dict.cxx…
worker-0.2: g++ -O2 -Wall -fPIC -pthread -m32 -I/afs/usatlas.bnl.gov/cernsw/lcg/external/root/5.16.00-PROOF.00/slc4_ia32_gcc34/root/include -c Tree1Dict.cxx
worker-0.2: g++ -shared -O2 -m32 Tree1.o Tree1Dict.o -o libTree1.so
worker-0.2: libTree1.so done
worker-0.6: building Tree1 …
worker-0.6: g++ -O2 -Wall -fPIC -pthread -m32 -I/afs/usatlas.bnl.gov/cernsw/lcg/external/root/5.16.00-PROOF.00/slc4_ia32_gcc34/root/include -c -o Tree1.o Tree1.C
worker-0.6: Generating dictionary Tree1Dict.cxx…
worker-0.6: g++ -O2 -Wall -fPIC -pthread -m32 -I/afs/usatlas.bnl.gov/cernsw/lcg/external/root/5.16.00-PROOF.00/slc4_ia32_gcc34/root/include -c Tree1Dict.cxx
worker-0.6: g++ -shared -O2 -m32 Tree1.o Tree1Dict.o -o libTree1.so
worker-0.6: libTree1.so done
worker-0.3: building Tree1 …
worker-0.3: g++ -O2 -Wall -fPIC -pthread -m32 -I/afs/usatlas.bnl.gov/cernsw/lcg/external/root/5.16.00-PROOF.00/slc4_ia32_gcc34/root/include -c -o Tree1.o Tree1.C
worker-0.3: Generating dictionary Tree1Dict.cxx…
worker-0.3: g++ -O2 -Wall -fPIC -pthread -m32 -I/afs/usatlas.bnl.gov/cernsw/lcg/external/root/5.16.00-PROOF.00/slc4_ia32_gcc34/root/include -c Tree1Dict.cxx
worker-0.3: g++ -shared -O2 -m32 Tree1.o Tree1Dict.o -o libTree1.so
worker-0.3: libTree1.so done
worker-0.0: building Tree1 …
worker-0.0: g++ -O2 -Wall -fPIC -pthread -m32 -I/afs/usatlas.bnl.gov/cernsw/lcg/external/root/5.16.00-PROOF.00/slc4_ia32_gcc34/root/include -c -o Tree1.o Tree1.C
worker-0.0: Generating dictionary Tree1Dict.cxx…
worker-0.0: g++ -O2 -Wall -fPIC -pthread -m32 -I/afs/usatlas.bnl.gov/cernsw/lcg/external/root/5.16.00-PROOF.00/slc4_ia32_gcc34/root/include -c Tree1Dict.cxx
worker-0.1: building Tree1 …
worker-0.1: g++ -O2 -Wall -fPIC -pthread -m32 -I/afs/usatlas.bnl.gov/cernsw/lcg/external/root/5.16.00-PROOF.00/slc4_ia32_gcc34/root/include -c -o Tree1.o Tree1.C
worker-0.1: Generating dictionary Tree1Dict.cxx…
worker-0.1: g++ -O2 -Wall -fPIC -pthread -m32 -I/afs/usatlas.bnl.gov/cernsw/lcg/external/root/5.16.00-PROOF.00/slc4_ia32_gcc34/root/include -c Tree1Dict.cxx
worker-0.7: libTree1.so done
worker-0.0: g++ -shared -O2 -m32 Tree1.o Tree1Dict.o -o libTree1.so
worker-0.0: libTree1.so done
worker-0.1: g++ -shared -O2 -m32 Tree1.o Tree1Dict.o -o libTree1.so
worker-0.1: libTree1.so done
(int)0
worker-0.0: failure loading Tree1 …
worker-0.1: failure loading Tree1 …
worker-0.2: failure loading Tree1 …
worker-0.5: failure loading Tree1 …
worker-0.4: failure loading Tree1 …
worker-0.7: failure loading Tree1 …
worker-0.8: failure loading Tree1 …
worker-0.3: failure loading Tree1 …
worker-0.6: failure loading Tree1 …
dlopen error: /data/proofbox/tarrade/packages/Tree1/./libTree1.so: undefined symbol: _ZTI4TH1F
Load Error: Failed to load Dynamic link library /data/proofbox/tarrade/packages/Tree1/./libTree1.so
*** Interpreter error recovered ***
(int)0
*** Package cache client:/usatlas/u/tarrade/proof/packages ***
total 4
drwxr-xr-x 3 tarrade usatlas 4096 Sep 18 05:54 Tree1
lrwxrwxrwx 1 tarrade usatlas 59 Sep 18 05:53 Tree1.par -> /direct/usatlas+u/tarrade/MacroForPROOF/MultiTree/Tree1.par
*** Package cache acas0420.usatlas.bnl.gov:/data/proofbox/tarrade/packages ***
total 32
drwxr-xr-x 3 tarrade usatlas 4096 Sep 18 05:54 Tree1
-rw-r–r-- 1 tarrade usatlas 26964 Sep 18 05:53 Tree1.par
Info in TUnixSystem::ACLiC: creating shared library /direct/usatlas+u/tarrade/MacroForPROOF/MultiTree/./Tree1_C.so
Warning in TClassTable::Add: class Tree1 already in TClassTable
Starting the main code (Tree1) with process option:
Looking up for exact location of files: OK (3 files)
Validating files: OK (3 files)
master-0: grand total: sent 4 objects, size: 2254 bytes
Real time 0:04:24, CP time 1.030

I don’t understand what I did yesterday to have no message of error !!!
Cheers
Fabien

Hi,

I think the problem is that you include TH1.h but you are creating explicitely TH1F, for which you need the type definition (the undefined symbol _ZTI4TH1F is the typeinfo for TH1F).
Sorry for not having realized this before.
I attach a tar ball with a few modifications:
1. In Tree1.h, forward declare TH1F and remove inclusion of TH1.h
2. In Tree1.C, include TH1F.h instead of TH1.h
3. In Send_PROOF_withPAR.C, invoke chain->Process(“Tree1”), i.e. just the name (otherwise you send and compile the code Tree1.C, i.e. you ignore the par).

Note that your first “successful” attempt (the one from yesterday) was in reality not successful: it worked only because you had somehow already the class Tree1 in memory.

Please try with this modifications and let me know.

G. Ganis
tarrade.tar.gz (23.1 KB)

Hi,
Thanks a lot for your answer and your corrections.
I tried again with your corrections :

Clean everything :
source make_Tree1_par.csh
Tree1/
Tree1/Tree1.C
Tree1/Tree1.h
Tree1/Makefile
Tree1/Makefile.arch
Tree1/Tree1LinkDef.h
Tree1/PROOF-INF/
Tree1/PROOF-INF/BUILD.sh
Tree1/PROOF-INF/SETUP.C

now I use : chain->Process(“Tree1”);

root [0] .x Send_PROOF_withPAR.C
Starting master: opening connection …
Starting master: OK
Opening connections to workers: OK (9 workers)
Setting up worker servers: OK (9 workers)
PROOF set to parallel mode (9 workers)
Show Package
*** Package cache client:/usatlas/u/tarrade/proof/packages ***
total 0
*** Package cache acas0420.usatlas.bnl.gov:/data/proofbox/tarrade/packages ***
total 32
drwxr-xr-x 3 tarrade usatlas 4096 Sep 19 05:34 Tree1
-rw-r–r-- 1 tarrade usatlas 27030 Sep 19 05:33 Tree1.par
Clean Package
*** Package cache client:/usatlas/u/tarrade/proof/packages ***
total 0
*** Package cache acas0420.usatlas.bnl.gov:/data/proofbox/tarrade/packages ***
total 0
Upload and Enable Package
g++ -O2 -Wall -fPIC -pthread -m32 -I/afs/usatlas.bnl.gov/cernsw/lcg/external/root/5.16.00-PROOF.00/slc4_ia32_gcc34/root/include -c -o Tree1.o Tree1.C
Generating dictionary Tree1Dict.cxx…
g++ -O2 -Wall -fPIC -pthread -m32 -I/afs/usatlas.bnl.gov/cernsw/lcg/external/root/5.16.00-PROOF.00/slc4_ia32_gcc34/root/include -c Tree1Dict.cxx
g++ -shared -O2 -m32 Tree1.o Tree1Dict.o -o libTree1.so
libTree1.so done
master-0: building Tree1 …
master-0: g++ -O2 -Wall -fPIC -pthread -m32 -I/afs/usatlas.bnl.gov/cernsw/lcg/external/root/5.16.00-PROOF.00/slc4_ia32_gcc34/root/include -c -o Tree1.o Tree1.C
master-0: Generating dictionary Tree1Dict.cxx…
master-0: g++ -O2 -Wall -fPIC -pthread -m32 -I/afs/usatlas.bnl.gov/cernsw/lcg/external/root/5.16.00-PROOF.00/slc4_ia32_gcc34/root/include -c Tree1Dict.cxx
master-0: g++ -shared -O2 -m32 Tree1.o Tree1Dict.o -o libTree1.so
master-0: libTree1.so done
worker-0.0: building Tree1 …
worker-0.0: g++ -O2 -Wall -fPIC -pthread -m32 -I/afs/usatlas.bnl.gov/cernsw/lcg/external/root/5.16.00-PROOF.00/slc4_ia32_gcc34/root/include -c -o Tree1.o Tree1.C
worker-0.0: Generating dictionary Tree1Dict.cxx…
worker-0.0: g++ -O2 -Wall -fPIC -pthread -m32 -I/afs/usatlas.bnl.gov/cernsw/lcg/external/root/5.16.00-PROOF.00/slc4_ia32_gcc34/root/include -c Tree1Dict.cxx
worker-0.1: building Tree1 …
worker-0.1: g++ -O2 -Wall -fPIC -pthread -m32 -I/afs/usatlas.bnl.gov/cernsw/lcg/external/root/5.16.00-PROOF.00/slc4_ia32_gcc34/root/include -c -o Tree1.o Tree1.C
worker-0.1: Generating dictionary Tree1Dict.cxx…
worker-0.1: g++ -O2 -Wall -fPIC -pthread -m32 -I/afs/usatlas.bnl.gov/cernsw/lcg/external/root/5.16.00-PROOF.00/slc4_ia32_gcc34/root/include -c Tree1Dict.cxx
worker-0.7: building Tree1 …
worker-0.7: g++ -O2 -Wall -fPIC -pthread -m32 -I/afs/usatlas.bnl.gov/cernsw/lcg/external/root/5.16.00-PROOF.00/slc4_ia32_gcc34/root/include -c -o Tree1.o Tree1.C
worker-0.7: Generating dictionary Tree1Dict.cxx…
worker-0.7: g++ -O2 -Wall -fPIC -pthread -m32 -I/afs/usatlas.bnl.gov/cernsw/lcg/external/root/5.16.00-PROOF.00/slc4_ia32_gcc34/root/include -c Tree1Dict.cxx
worker-0.8: building Tree1 …
worker-0.8: g++ -O2 -Wall -fPIC -pthread -m32 -I/afs/usatlas.bnl.gov/cernsw/lcg/external/root/5.16.00-PROOF.00/slc4_ia32_gcc34/root/include -c -o Tree1.o Tree1.C
worker-0.8: Generating dictionary Tree1Dict.cxx…
worker-0.8: g++ -O2 -Wall -fPIC -pthread -m32 -I/afs/usatlas.bnl.gov/cernsw/lcg/external/root/5.16.00-PROOF.00/slc4_ia32_gcc34/root/include -c Tree1Dict.cxx
worker-0.3: building Tree1 …
worker-0.3: g++ -O2 -Wall -fPIC -pthread -m32 -I/afs/usatlas.bnl.gov/cernsw/lcg/external/root/5.16.00-PROOF.00/slc4_ia32_gcc34/root/include -c -o Tree1.o Tree1.C
worker-0.3: Generating dictionary Tree1Dict.cxx…
worker-0.3: g++ -O2 -Wall -fPIC -pthread -m32 -I/afs/usatlas.bnl.gov/cernsw/lcg/external/root/5.16.00-PROOF.00/slc4_ia32_gcc34/root/include -c Tree1Dict.cxx
worker-0.2: building Tree1 …
worker-0.2: g++ -O2 -Wall -fPIC -pthread -m32 -I/afs/usatlas.bnl.gov/cernsw/lcg/external/root/5.16.00-PROOF.00/slc4_ia32_gcc34/root/include -c -o Tree1.o Tree1.C
worker-0.2: Generating dictionary Tree1Dict.cxx…
worker-0.2: g++ -O2 -Wall -fPIC -pthread -m32 -I/afs/usatlas.bnl.gov/cernsw/lcg/external/root/5.16.00-PROOF.00/slc4_ia32_gcc34/root/include -c Tree1Dict.cxx
worker-0.6: building Tree1 …
worker-0.6: g++ -O2 -Wall -fPIC -pthread -m32 -I/afs/usatlas.bnl.gov/cernsw/lcg/external/root/5.16.00-PROOF.00/slc4_ia32_gcc34/root/include -c -o Tree1.o Tree1.C
worker-0.6: Generating dictionary Tree1Dict.cxx…
worker-0.6: g++ -O2 -Wall -fPIC -pthread -m32 -I/afs/usatlas.bnl.gov/cernsw/lcg/external/root/5.16.00-PROOF.00/slc4_ia32_gcc34/root/include -c Tree1Dict.cxx
worker-0.4: building Tree1 …
worker-0.4: g++ -O2 -Wall -fPIC -pthread -m32 -I/afs/usatlas.bnl.gov/cernsw/lcg/external/root/5.16.00-PROOF.00/slc4_ia32_gcc34/root/include -c -o Tree1.o Tree1.C
worker-0.4: Generating dictionary Tree1Dict.cxx…
worker-0.4: g++ -O2 -Wall -fPIC -pthread -m32 -I/afs/usatlas.bnl.gov/cernsw/lcg/external/root/5.16.00-PROOF.00/slc4_ia32_gcc34/root/include -c Tree1Dict.cxx
worker-0.5: building Tree1 …
worker-0.5: g++ -O2 -Wall -fPIC -pthread -m32 -I/afs/usatlas.bnl.gov/cernsw/lcg/external/root/5.16.00-PROOF.00/slc4_ia32_gcc34/root/include -c -o Tree1.o Tree1.C
worker-0.5: Generating dictionary Tree1Dict.cxx…
worker-0.5: g++ -O2 -Wall -fPIC -pthread -m32 -I/afs/usatlas.bnl.gov/cernsw/lcg/external/root/5.16.00-PROOF.00/slc4_ia32_gcc34/root/include -c Tree1Dict.cxx
worker-0.2: g++ -shared -O2 -m32 Tree1.o Tree1Dict.o -o libTree1.so
worker-0.6: g++ -shared -O2 -m32 Tree1.o Tree1Dict.o -o libTree1.so
worker-0.2: libTree1.so done
worker-0.6: libTree1.so done
worker-0.4: g++ -shared -O2 -m32 Tree1.o Tree1Dict.o -o libTree1.so
worker-0.1: g++ -shared -O2 -m32 Tree1.o Tree1Dict.o -o libTree1.so
worker-0.0: g++ -shared -O2 -m32 Tree1.o Tree1Dict.o -o libTree1.so
worker-0.4: libTree1.so done
worker-0.8: g++ -shared -O2 -m32 Tree1.o Tree1Dict.o -o libTree1.so
worker-0.7: g++ -shared -O2 -m32 Tree1.o Tree1Dict.o -o libTree1.so
worker-0.1: libTree1.so done
worker-0.0: libTree1.so done
worker-0.8: libTree1.so done
worker-0.7: libTree1.so done
worker-0.5: g++ -shared -O2 -m32 Tree1.o Tree1Dict.o -o libTree1.so
worker-0.3: g++ -shared -O2 -m32 Tree1.o Tree1Dict.o -o libTree1.so
worker-0.5: libTree1.so done
worker-0.3: libTree1.so done
(int)0
worker-0.2: failure loading Tree1 …
worker-0.1: failure loading Tree1 …
worker-0.3: failure loading Tree1 …
worker-0.0: failure loading Tree1 …
worker-0.4: failure loading Tree1 …
worker-0.5: failure loading Tree1 …
worker-0.6: failure loading Tree1 …
worker-0.7: failure loading Tree1 …
worker-0.8: failure loading Tree1 …
dlopen error: /data/proofbox/tarrade/packages/Tree1/./libTree1.so: undefined symbol: _ZTI4TH1F
Load Error: Failed to load Dynamic link library /data/proofbox/tarrade/packages/Tree1/./libTree1.so
*** Interpreter error recovered ***
dlopen error: /data/proofbox/tarrade/packages/Tree1/./libTree1.so: undefined symbol: _ZTI4TH1F
Load Error: Failed to load Dynamic link library /data/proofbox/tarrade/packages/Tree1/./libTree1.so
*** Interpreter error recovered ***
(int)0
Show Package
*** Package cache client:/usatlas/u/tarrade/proof/packages ***
total 4
drwxr-xr-x 3 tarrade usatlas 4096 Sep 19 07:09 Tree1
lrwxrwxrwx 1 tarrade usatlas 59 Sep 19 07:08 Tree1.par -> /direct/usatlas+u/tarrade/MacroForPROOF/MultiTree/Tree1.par
*** Package cache acas0420.usatlas.bnl.gov:/data/proofbox/tarrade/packages ***
total 32
drwxr-xr-x 3 tarrade usatlas 4096 Sep 19 07:09 Tree1
-rw-r–r-- 1 tarrade usatlas 26986 Sep 19 07:08 Tree1.par
start : chain->Process(Tree)
Starting the main code (Tree1) with process option:
Looking up for exact location of files: OK (3 files)
Validating files: OK (3 files)
master-0: grand total: sent 0 objects, size: 0 bytes

*** Break *** segmentation violation
(no debugging symbols found)
Using host libthread_db library “/lib/tls/libthread_db.so.1”.
Attaching to program: /proc/6032/exe, process 6032
(no debugging symbols found)…done.
[Thread debugging using libthread_db enabled]

Clean everything :
source make_Tree1_par.csh
Now If I use : chain->Process(“Tree1.C+”);

same error :
dlopen error: /data/proofbox/tarrade/packages/Tree1/./libTree1.so: undefined symbol: _ZTI4TH1F
Load Error: Failed to load Dynamic link library /data/proofbox/tarrade/packages/Tree1/./libTree1.so

but it works and it is what I was doing yesterday and before :frowning:

If I use my code I can run without problem with PROOF with chain->Process(“Tree1.C+”) :
PROOF set to parallel mode (9 workers)
Starting the main code (Tree1) with process option:
Looking up for exact location of files: OK (3 files)
Validating files: OK (3 files)
master-0: grand total: sent 4 objects, size: 2254 bytes
Real time 0:18:20, CP time 2.820

I can compile the code Tree1.C & Tree1.h with the Makefile, Makefile.arch and Tree1LinkDef.h :
make
g++ -O2 -Wall -fPIC -pthread -m32 -I/afs/usatlas.bnl.gov/cernsw/lcg/external/root/5.16.00-PROOF.00/slc4_ia32_gcc34/root/include -c -o Tree1.o Tree1.C
Generating dictionary Tree1Dict.cxx…
g++ -O2 -Wall -fPIC -pthread -m32 -I/afs/usatlas.bnl.gov/cernsw/lcg/external/root/5.16.00-PROOF.00/slc4_ia32_gcc34/root/include -c Tree1Dict.cxx
g++ -shared -O2 -m32 Tree1.o Tree1Dict.o -o libTree1.so
libTree1.so done

something is wrong and related to TH1F !
Do I need to add something in Tree1LinkDef.h ? :
#ifdef CINT

#pragma link off all globals;
#pragma link off all classes;
#pragma link off all functions;

#pragma link C++ class Tree1+;

#endif

Any idea ?
Thanks a lot
Cheers
Fabien

Hi,

Can you post Tree1.par ?

G. Ganis

Hi,
I post the Tree1.par file. I use ROOT 5.16.00.
Thanks a lot
Cheers
Fabien
Tree1.par (26.5 KB)

Hi,

The PAR looks corrupted: it cannot be open:

pcepsft43:~$ tar tzvf Tree1.par
drwxr-xr-x tarrade/usatlas   0 2007-09-19 13:15:09 Tree1/
-rw-r--r-- tarrade/usatlas 6010 2007-09-19 13:15:09 Tree1/Tree1.C
tar: Skipping to next header

gzip: stdin: invalid compressed data--crc error

gzip: stdin: invalid compressed data--length error
tar: Archive contains obsolescent base-64 headers
tar: Child returned status 1
tar: Error exit delayed from previous errors

I even tried by uncompressing with gunzip first.

Could you please re-submit it?

Thanks,
G. Ganis

Hi,
Sorry for that.
I will try again.
It is also on the web :
usatlas.bnl.gov/~tarrade/

and on /afs/ :
/afs/usatlas.bnl.gov/users/tarrade/WWW/Tree1.par

Thanks a lot
Cheers
Fabien
Tree1.par (26.4 KB)