Home | News | Documentation | Download

Cannot load RooHypatia2

RooHypatia2 appears not to be correctly included, at least in the conda-forge distribution. When I attempt to load it, it complains failure loading library libRooFitMore.so for RooHypatia2 and says the function definition is probably missing. Is there some trick I’m missing or is RooHypatia2 just not available?

Reproducer below.


ROOT Version: 6.22/06
Platform: macOS
Compiler: conda-forge


import ROOT as r

x = r.RooRealVar("x", "x", 0, 100)
lam = r.RooRealVar("lam", "lam", -4)
zeta = r.RooRealVar("zeta", "zeta", 0.001)
beta = r.RooRealVar("beta", "beta", 0)
sigma = r.RooRealVar("sigma", "sigma", 6.8)
mu = r.RooRealVar("mu", "mu", 50)
a1 = r.RooRealVar("a1", "a1", 2.5)
n1 = r.RooRealVar("n1", "n1", 4)
a2 = r.RooRealVar("a2", "a2", 5)
n2 = r.RooRealVar("n2", "n2", 5)

pdf = r.RooHypatia2("pdf", "pdf", x, lam, zeta, beta, sigma, mu, a1, n1, a2, n2)

Output:

---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-2-c5c67a9427ae> in <module>
----> 1 pdf = r.RooHypatia2("pdf", "pdf", x, lam, zet, bet, sig, mu, a1, n1, a2, n2)

TypeError: none of the 3 overloaded methods succeeded. Full details:
  RooHypatia2 constructor failed
  RooHypatia2::RooHypatia2() =>
    TypeError: takes at most 0 arguments (12 given)
  RooHypatia2::RooHypatia2(const RooHypatia2& other, const char* name = 0) =>
    TypeError: takes at most 2 arguments (12 given)cling::DynamicLibraryManager::loadLibrary(): dlopen(/<path/to/>lib/libRooFitMore.6.22.06.so, 9): Library not loaded: @rpath/libgsl.25.dylib
  Referenced from: /<path/to/>lib/libMathMore.6.22.06.so
  Reason: image not found
Error in <TInterpreter::TCling::AutoLoad>: failure loading library libRooFitMore.so for RooHypatia2
cling::DynamicLibraryManager::loadLibrary(): dlopen(/<path/to/>lib/libRooFitMore.6.22.06.so, 9): Library not loaded: @rpath/libgsl.25.dylib
  Referenced from: /<path/to/>lib/libMathMore.6.22.06.so
  Reason: image not found
Error in <TInterpreter::TCling::AutoLoad>: failure loading library libRooFitMore.so for RooHypatia2
cling::DynamicLibraryManager::loadLibrary(): dlopen(/<path/to/>lib/libRooFitMore.6.22.06.so, 9): Library not loaded: @rpath/libgsl.25.dylib
  Referenced from: /<path/to/>lib/libMathMore.6.22.06.so
  Reason: image not found
Error in <TInterpreter::TCling::AutoLoad>: failure loading library libRooFitMore.so for RooHypatia2
cling::DynamicLibraryManager::loadLibrary(): dlopen(/<path/to/>lib/libRooFitMore.6.22.06.so, 9): Library not loaded: @rpath/libgsl.25.dylib
  Referenced from: /<path/to/>lib/libMathMore.6.22.06.so
  Reason: image not found
Error in <TInterpreter::TCling::AutoLoad>: failure loading library libRooFitMore.so for RooHypatia2
cling::DynamicLibraryManager::loadLibrary(): dlopen(/<path/to/>lib/libRooFitMore.6.22.06.so, 9): Library not loaded: @rpath/libgsl.25.dylib
  Referenced from: /<path/to/>lib/libMathMore.6.22.06.so
  Reason: image not found
cling::DynamicLibraryManager::loadLibrary(): dlopen(/<path/to/>lib/libRooFitMore.6.22.06.so, 9): Library not loaded: @rpath/libgsl.25.dylib
  Referenced from: /<path/to/>lib/libMathMore.6.22.06.so
  Reason: image not found
IncrementalExecutor::executeFunction: symbol '_ZN11RooHypatia2C1EPKcS1_R10RooAbsRealS3_S3_S3_S3_S3_S3_S3_S3_S3_' unresolved while linking symbol '__cf_15'!
You are probably missing the definition of RooHypatia2::RooHypatia2(char const*, char const*, RooAbsReal&, RooAbsReal&, RooAbsReal&, RooAbsReal&, RooAbsReal&, RooAbsReal&, RooAbsReal&, RooAbsReal&, RooAbsReal&, RooAbsReal&)
Maybe you need to load the corresponding shared library?

I think we need @moneta for this one.

Hi
You need to build ROOT with mathmore support ( option -Dmathmore=On).

Lorenzo

1 Like

Ah, yes, mathmore doesn’t appear to be included in conda-forge’s root_base, which I was using. Instead, one must use the full root for the environment.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.