ROOT Version: 6.20.04
Compiler: Devtoolsel7 (gcc 7.3.1)
CMake: 3.12 compiled from source
Python: 3.8.0 compiled from source
Since I couldn’t find the right answer and it took a bit of digging in order to find what the actual issue was:
Root fails to find the standalone version of python3 despite explicitely passing them to CMake
+ cmake -Dgdml=ON -Dexplicitlink=ON -Dpython3=ON -DPYTHON_EXECUTABLE=/opt/python3.8/python3 -DPYTHON_INCLUDE_DIR=/opt/python3.8/include/python3.8/ -DPYTHON_LIBRARY=/opt/python3.8/lib/libpython3.so -DCMAKE_INSTALL_PREFIX=/opt/root-6.20.04 -Dcxx17=ON ../root-6.20.04 -- The C compiler identification is GNU 7.3.1 -- The CXX compiler identification is GNU 7.3.1 -- Check for working C compiler: /opt/rh/devtoolset-7/root/usr/bin/cc -- Check for working C compiler: /opt/rh/devtoolset-7/root/usr/bin/cc -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Detecting C compile features -- Detecting C compile features - done -- Check for working CXX compiler: /opt/rh/devtoolset-7/root/usr/bin/c++ -- Check for working CXX compiler: /opt/rh/devtoolset-7/root/usr/bin/c++ -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Detecting CXX compile features -- Detecting CXX compile features - done -- Found Git: /bin/git (found version "220.127.116.11") -- Looking for python -- Found PythonInterp: /opt/python3.8/python3 (found version "1.4") -- Found PythonLibs: /opt/python3.8/lib/libpython3.so (found version "3.8.0") CMake Error at cmake/modules/SearchRootCoreDeps.cmake:90 (message): Version mismatch between Python interpreter (1.4) and libraries (3.8.0). ROOT cannot work with this configuration. Please specify only PYTHON_EXECUTABLE to CMake with an absolute path to ensure matching versions are found. Call Stack (most recent call first): CMakeLists.txt:120 (include) -- Configuring incomplete, errors occurred! See also "/buildroot/root-cmake-build/CMakeFiles/CMakeOutput.log". FATAL: failed to execute %post proc: exit status 1 FATAL: While performing build: while running engine: while running /usr/libexec/singularity/bin/starter: exit status 255
Note that even giving the executable didn’t work in this case (hence why I added the exact location of all the libraries)
This bug is occurring when using an older version of CMake, for some reason it was picking a nonsensical version of the interpreter (1.4), to solve it, use a newer version of CMake, I don’t have an exact version number where it’s starting to work since I jumped directly to CMake 3.17.3 which solved all issues.
So the solution is, upgrade CMake.