Blas dependency of cmake target ROOT::TMVA

Building our software against the lcg dev version dev4 we noticed that libTMVA.so (ldd /cvmfs/sft-nightlies.cern.ch/lcg/nightlies/dev4/<day>/ROOT/v6-14-00-patches/x86_64-centos7-gcc8-opt/lib/libTMVA.so) depends on libopenblas.so.0.
Yet checking /cvmfs/sft-nightlies.cern.ch/lcg/nightlies/dev4/<day>/ROOT/v6-14-00-patches/x86_64-centos7-gcc8-opt/cmake/ROOTConfig-targets.cmake I only see the ROOT internal dependencies:

set_target_properties(ROOT::TMVA PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "ROOT::Core;ROOT::RIO;ROOT::Hist;ROOT::Tree;ROOT::TreePlayer;ROOT::MLP;ROOT::Minuit;ROOT::XMLIO"
)

Now it appears that using the view the dependency does not lead to any issues, but when I try a minimal project that links against libTMVA.so outside the view in an MWE, I fail at link time [CI].

So I’m wondering, shouldn’t ROOTConfig-targets.cmake publish the dependency on BLAS?

PS: not sure if related https://sft.its.cern.ch/jira/browse/ROOT-9217 3.

1 Like

pppppppping @amadio?

Sorry, I did not see this before. It does seem like TMVA has a problem and should pass on interface flags for linking against openblas. I will take a closer look tomorrow and fix it. Cheers,

1 Like