root icon indicating copy to clipboard operation
root copied to clipboard

3 TMVA test requires BLAS library but run even when it was not found.

Open pcanal opened this issue 1 year ago • 4 comments

See https://github.com/root-project/root/issues/16553

The following 3 tests fails consistently with missing BLAS symbols

984:tutorial-tmva-TMVA_SOFIE_GNN_Application
988:tutorial-tmva-TMVA_SOFIE_RDataFrame
990:tutorial-tmva-TMVA_SOFIE_RSofieReader
353-gtest-tmva-pymva-TestRModelParserKeras

pcanal avatar Oct 19 '24 18:10 pcanal

Unassigning and reassigning to @lmoneta

dpiparo avatar Oct 19 '24 21:10 dpiparo

I am not sure I understand the problem. If I look at 984:tutorial-tmva-TMVA_SOFIE_GNN_Application, the tests run fine in the CI for alma9: the reason for the failure could be due to the local setup.

As for

988:tutorial-tmva-TMVA_SOFIE_RDataFrame
990:tutorial-tmva-TMVA_SOFIE_RSofieReader
353-gtest-tmva-pymva-TestRModelParserKeras

If I understand correctly, they do not run in any of platforms of the CI since PyKeras is not available anywhere, e.g. in the requirements.txt file.

dpiparo avatar Oct 19 '24 21:10 dpiparo

Apologies, I said something in error. All the aforementioned tests can be found successfully running in the CI. I think we are dealing with a difference between the container setup of the CI and the local setup. @pcanal could you double-check your setup against the one of the container (see here and the requirements.txt file)?

dpiparo avatar Oct 19 '24 21:10 dpiparo

Yes, it is clearly a difference is setup. In the failing one the BLAS library is not installed (or not found) and the real problem is that this result in a very obscure and hard to understand failure:

IncrementalExecutor::executeFunction: symbol 'saxpy_' unresolved while linking [cling interface function]!
IncrementalExecutor::executeFunction: symbol 'sgemm_' unresolved while linking [cling interface function]!

Instead we should either

  • fail to configure if BLAS is missing or
  • disable the components that require BLAS when configuring whe BLAS is missing or
  • disable the test that require BLAS when BLAS is not there.

and at the very least we should list somewhere (if not already done so, but I don't see it) that the BLAS library is required to successfully run the tests and some of the features.

pcanal avatar Oct 20 '24 15:10 pcanal