Undefined symbol from TSelector

I was using a program similar to the tutorials/tree/h1analysis.C,
which works OK with older versions of ROOT, for example with 5.14.00f.
But when I switch to a recent version, for example 5.18.00f or 5.21.02,
I can compile, but when I try to load this I get:

root [0] gSystem->Load("libRichRingAnalysis.so"); dlopen error: /afs/cern.ch/...mydirectoryName/tmp/libRichRingAnalysis.so: undefined symbol: _ZN9TSelector5AbortEPKcNS_6EAbortE Load Error: Failed to load Dynamic link library /afs/cern.ch/..mydirectoryName/tmp/libRichRingAnalysis.so*

I am guessing this means something changed in TSelector; is
there anything that I can do to avoid this problem?
(I am using cern lxplus:slc4_amd64_gcc34 and I attach an example make
file I used to compile this to create the .so file )

Sajan Easo

GNUmakefileStandAlone.txt (3.51 KB)


You need to insure that libTreePlayer.so is loaded. You can do that automatically by creating a rootmap file or you can do it explicitly gSystem->Load(“libTreePlayer”);