Trouble compiling with Python 2.7 on Fedora 31


I’ve just upgraded to Fedora 31 and I am trying to recompile ROOT. Python 3 became the default on Fedora 31, however, I would like to compile ROOT with python 2.7. I did

cmake -DPYTHON_EXECUTABLE=python2.7 -DPYTHON_LIBRARY=/usr/lib64/libpython2.7 -DPYTHON_INCLUDE_DIR=/usr/include/python2.7 /opt/root-6.18.04_src -D NUMPY_INCLUDE_DIR="/usr/lib64/python2.7/site-packages/numpy/core/include"

However, cmake fails with

– Constructing LLVMBuild project information
CMake Error at interpreter/llvm/src/CMakeLists.txt:665 (message):
Unexpected failure executing llvm-build:

– Configuring incomplete, errors occurred!

If I don’t do any python modification and cmake uses default python 3, it goes through. It seems in case I specify python2, it can’t find numpy and has problems with tmva. However, disabling tmva does not change the result.

I would be grateful for help. I attach the logs

Please read tips for efficient and successful posting and posting code

_ROOT Version:6.18.04
_Platform:Fedora 31
Compiler: Not Provided

out.txt (7.5 KB) CMakeError.log.gz (2.2 KB) CMakeOutput.log.gz (12.6 KB)

Problem solved. -D PYTHON_EXECUTABLE requires absolute path. It would be helpful if no path was causing an error or there was information about this requirement in the documentation.

I don’t know whether you are aware of it, but ROOT 6.18.04 is available through the package manager on Fedora, as well as bindings for Python 2 and 3 – which can be installed in parallel. A simple sudo dnf install root python2-root will save you the hassle of compiling and updating everything yourself.

Edit: I just remembered that I installed that in Fedora 30 and haven’t checked yet after the upgrade.

I know. But compiling ROOT myself for more than 10 years now, I somehow don’t trust the package in this case :slight_smile:

I had another look yesterday and the python2-root package was removed in Fedora 31. So even if you did trust the package manager, you would have had to compile it yourself.

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