Trouble compiling with Python 2.7 on Fedora 31

Hello,

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.