ROOT Version: 6. 28/02
Platform: Docker image (linux)
Compiler: Not Provided
Hello,
My question is similar to another post from 2017. I am posting this since I could not find a solution on this forum.
I want to use the latest version (v17.9) of TUnfold. However, latest version of ROOT comes with TUnfold v17 . 6 .
I downloaded the latest package and produced the corresponding library file libunfold .so
.
Now, in the same directory I am using the following lines to load the library -
import ROOT
ROOT .gInterpreter.ProcessLine('#include "TUnfold.h"')
ROOT .gSystem.Load('libunfold.so')
Now if I use ROOT. TUnfold(). GetTUnfoldVersion()
, i get v17.6 (vs v17.9) and the newer methods are also not available.
I am posting the full log with gDebug = 1
below
ROOT.gDebug = 1
ROOT.gInterpreter.ProcessLine('#include "TUnfold.h"')
Output:
Info in TUnixSystem::Load: loaded library /usr/ lib64/ root/ libUnfold.so.6.28.02, status 0
Info in TInterpreter::TCling::AutoLoad: loaded library libUnfold.so for TUnfold.h
ROOT. gSystem. Load('libunfold.so')
Output:
TClass::GetClass: Header Parsing - The representation of Experimental was not found in the type system. A lookup in the interpreter is about to be tried: this can cause parsing. This can be avoided selecting Experimental in the linkdef/selection file. TEnum::GetEnum: Header Parsing - The enumerator Experimental is not known to the typesystem: an interpreter lookup will be performed. This can imply parsing of headers. This can be avoided selecting the numerator in the linkdef/selection file. TClass::GetClass: Header Parsing - The representation of Experimental was not found in the type system. A lookup in the interpreter is about to be tried: this can cause parsing. This can be avoided selecting Experimental in the linkdef/selection file. TEnum::GetEnum: Header Parsing - The enumerator Experimental is not known to the typesystem: an interpreter lookup will be performed. This can imply parsing of headers. This can be avoided selecting the numerator in the linkdef/selection file. TClass::GetClass: Header Parsing - The representation of Experimental was not found in the type system. A lookup in the interpreter is about to be tried: this can cause parsing. This can be avoided selecting Experimental in the linkdef/selection file. TEnum::GetEnum: Header Parsing - The enumerator Experimental is not known to the typesystem: an interpreter lookup will be performed. This can imply parsing of headers. This can be avoided selecting the numerator in the linkdef/selection file.
Info in TUnixSystem::Load: loaded library / work/ unfold/toy_MC/tunfold_v17.9/libunfold. so, status 0
As you can see, TUnfold is being loaded from the old library. I need it to use the new ‘libunfold. so’ instead.
Am I doing something wrong?
Thank you!