Problem with Installing PyRoot

You should not specify PYTHON_INCDIR and PYTHON_LIBDIR by hand. That’s why your configuration is not working. You are using python from one place (/usr), and the libraries from another (/usr/local). You should only use -DPYTHON_EXECUTABLE=/full/path/to/python, then only use ROOT with that particular python. Python libraries are not compatible for different versions. In addition, you need to use the same compiler (or a compatible one) to the one that was used to compile the python you want to use. This is because ROOT needs to link against libstdc++ and libpythonX.Y, and they need to be ABI compatible, or libPyROOT will be broken. When you set only PYTHON_EXECUTABLE, the calls to find_package(PythonInerp) and find_package(PythonLibs) ensure that only matching versions are found. If you set by hand, you force CMake to find incompatible versions. In your CMake output, you should see which ones were selected, like this:

-- Found PythonInterp: /usr/bin/python3.7 (found version "3.7") 
-- Found PythonLibs: /usr/lib/libpython3.7m.so (found version "3.7.0") 
-- Found NUMPY: /usr/lib/python3.7/site-packages/numpy/core/include (found version "1.14.5") 

If any of the above doesn’t match, then ROOT will be broken in the end.