Hi, I’m trying to install ROOT 5.34.10 on a Debian 7 x86_64 system. For some reason I built and installed in my home folder a custom version of python (2.7.5) which I’m using in place of the system default 2.7.3:
$ python --version
Python 2.7.5
When running configure I get this error:
$ ./configure
Checking for source directory ... /home/bonechil/ProvaInstaller/source/root_v5.34.10
Configuring for linuxx8664gcc
Traceback (most recent call last):
File "/home/bonechil/ProvaInstaller/install/PYTHON_2.7.5/lib/python2.7/site.py", line 548, in <module>
main()
File "/home/bonechil/ProvaInstaller/install/PYTHON_2.7.5/lib/python2.7/site.py", line 530, in main
known_paths = addusersitepackages(known_paths)
File "/home/bonechil/ProvaInstaller/install/PYTHON_2.7.5/lib/python2.7/site.py", line 266, in addusersitepackages
user_site = getusersitepackages()
File "/home/bonechil/ProvaInstaller/install/PYTHON_2.7.5/lib/python2.7/site.py", line 241, in getusersitepackages
user_base = getuserbase() # this will also set USER_BASE
File "/home/bonechil/ProvaInstaller/install/PYTHON_2.7.5/lib/python2.7/site.py", line 231, in getuserbase
USER_BASE = get_config_var('userbase')
File "/home/bonechil/ProvaInstaller/install/PYTHON_2.7.5/lib/python2.7/sysconfig.py", line 516, in get_config_var
return get_config_vars().get(name)
File "/home/bonechil/ProvaInstaller/install/PYTHON_2.7.5/lib/python2.7/sysconfig.py", line 449, in get_config_vars
import re
File "/home/bonechil/ProvaInstaller/install/PYTHON_2.7.5/lib/python2.7/re.py", line 105, in <module>
import sre_compile
File "/home/bonechil/ProvaInstaller/install/PYTHON_2.7.5/lib/python2.7/sre_compile.py", line 14, in <module>
import sre_parse
File "/home/bonechil/ProvaInstaller/install/PYTHON_2.7.5/lib/python2.7/sre_parse.py", line 17, in <module>
from sre_constants import *
File "/home/bonechil/ProvaInstaller/install/PYTHON_2.7.5/lib/python2.7/sre_constants.py", line 18, in <module>
from _sre import MAXREPEAT
ImportError: cannot import name MAXREPEAT
Traceback (most recent call last):
File "/home/bonechil/ProvaInstaller/install/PYTHON_2.7.5/lib/python2.7/site.py", line 548, in <module>
main()
File "/home/bonechil/ProvaInstaller/install/PYTHON_2.7.5/lib/python2.7/site.py", line 530, in main
known_paths = addusersitepackages(known_paths)
File "/home/bonechil/ProvaInstaller/install/PYTHON_2.7.5/lib/python2.7/site.py", line 266, in addusersitepackages
user_site = getusersitepackages()
File "/home/bonechil/ProvaInstaller/install/PYTHON_2.7.5/lib/python2.7/site.py", line 241, in getusersitepackages
user_base = getuserbase() # this will also set USER_BASE
File "/home/bonechil/ProvaInstaller/install/PYTHON_2.7.5/lib/python2.7/site.py", line 231, in getuserbase
USER_BASE = get_config_var('userbase')
File "/home/bonechil/ProvaInstaller/install/PYTHON_2.7.5/lib/python2.7/sysconfig.py", line 516, in get_config_var
return get_config_vars().get(name)
File "/home/bonechil/ProvaInstaller/install/PYTHON_2.7.5/lib/python2.7/sysconfig.py", line 449, in get_config_vars
import re
File "/home/bonechil/ProvaInstaller/install/PYTHON_2.7.5/lib/python2.7/re.py", line 105, in <module>
import sre_compile
File "/home/bonechil/ProvaInstaller/install/PYTHON_2.7.5/lib/python2.7/sre_compile.py", line 14, in <module>
import sre_parse
File "/home/bonechil/ProvaInstaller/install/PYTHON_2.7.5/lib/python2.7/sre_parse.py", line 17, in <module>
from sre_constants import *
File "/home/bonechil/ProvaInstaller/install/PYTHON_2.7.5/lib/python2.7/sre_constants.py", line 18, in <module>
from _sre import MAXREPEAT
ImportError: cannot import name MAXREPEAT
Traceback (most recent call last):
File "/home/bonechil/ProvaInstaller/install/PYTHON_2.7.5/lib/python2.7/site.py", line 548, in <module>
main()
File "/home/bonechil/ProvaInstaller/install/PYTHON_2.7.5/lib/python2.7/site.py", line 530, in main
known_paths = addusersitepackages(known_paths)
File "/home/bonechil/ProvaInstaller/install/PYTHON_2.7.5/lib/python2.7/site.py", line 266, in addusersitepackages
user_site = getusersitepackages()
File "/home/bonechil/ProvaInstaller/install/PYTHON_2.7.5/lib/python2.7/site.py", line 241, in getusersitepackages
user_base = getuserbase() # this will also set USER_BASE
File "/home/bonechil/ProvaInstaller/install/PYTHON_2.7.5/lib/python2.7/site.py", line 231, in getuserbase
USER_BASE = get_config_var('userbase')
File "/home/bonechil/ProvaInstaller/install/PYTHON_2.7.5/lib/python2.7/sysconfig.py", line 516, in get_config_var
return get_config_vars().get(name)
File "/home/bonechil/ProvaInstaller/install/PYTHON_2.7.5/lib/python2.7/sysconfig.py", line 449, in get_config_vars
import re
File "/home/bonechil/ProvaInstaller/install/PYTHON_2.7.5/lib/python2.7/re.py", line 105, in <module>
import sre_compile
File "/home/bonechil/ProvaInstaller/install/PYTHON_2.7.5/lib/python2.7/sre_compile.py", line 14, in <module>
import sre_parse
File "/home/bonechil/ProvaInstaller/install/PYTHON_2.7.5/lib/python2.7/sre_parse.py", line 17, in <module>
from sre_constants import *
File "/home/bonechil/ProvaInstaller/install/PYTHON_2.7.5/lib/python2.7/sre_constants.py", line 18, in <module>
from _sre import MAXREPEAT
ImportError: cannot import name MAXREPEAT
Checking for GNU Make version >= 3.80 ... ok
Checking for C compiler ... gcc
Checking for C++ compiler ... g++
Checking for linker (LD) ... g++
Checking for F77 compiler ... gfortran
Checking for libX11 ... no
configure: libX11 MUST be installed
See http://root.cern.ch/drupal/content/build-prerequisites
Apart from the final libX11 failure, I get errors related to the python interpreter. These messages come out because at some point the script executes the default system python executable, i.e. /usr/bin/python, instead of the custom one I’ve installed, but since PYTHONPATH points to my custom installation it fails to load libraries:
$ /usr/bin/python --version
Python 2.7.3
$ /usr/bin/python
Traceback (most recent call last):
File "/home/bonechil/ProvaInstaller/install/PYTHON_2.7.5/lib/python2.7/site.py", line 548, in <module>
main()
File "/home/bonechil/ProvaInstaller/install/PYTHON_2.7.5/lib/python2.7/site.py", line 530, in main
known_paths = addusersitepackages(known_paths)
File "/home/bonechil/ProvaInstaller/install/PYTHON_2.7.5/lib/python2.7/site.py", line 266, in addusersitepackages
user_site = getusersitepackages()
File "/home/bonechil/ProvaInstaller/install/PYTHON_2.7.5/lib/python2.7/site.py", line 241, in getusersitepackages
user_base = getuserbase() # this will also set USER_BASE
File "/home/bonechil/ProvaInstaller/install/PYTHON_2.7.5/lib/python2.7/site.py", line 231, in getuserbase
USER_BASE = get_config_var('userbase')
File "/home/bonechil/ProvaInstaller/install/PYTHON_2.7.5/lib/python2.7/sysconfig.py", line 516, in get_config_var
return get_config_vars().get(name)
File "/home/bonechil/ProvaInstaller/install/PYTHON_2.7.5/lib/python2.7/sysconfig.py", line 449, in get_config_vars
import re
File "/home/bonechil/ProvaInstaller/install/PYTHON_2.7.5/lib/python2.7/re.py", line 105, in <module>
import sre_compile
File "/home/bonechil/ProvaInstaller/install/PYTHON_2.7.5/lib/python2.7/sre_compile.py", line 14, in <module>
import sre_parse
File "/home/bonechil/ProvaInstaller/install/PYTHON_2.7.5/lib/python2.7/sre_parse.py", line 17, in <module>
from sre_constants import *
File "/home/bonechil/ProvaInstaller/install/PYTHON_2.7.5/lib/python2.7/sre_constants.py", line 18, in <module>
from _sre import MAXREPEAT
ImportError: cannot import name MAXREPEAT
$ unset PYTHONPATH
$ /usr/bin/python
Python 2.7.3 (default, Jan 2 2013, 13:56:14)
[GCC 4.7.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>
To understand which python executable it uses I put a “python --version” line at the beginning of configure which returns 2.7.5. I don’t clearly understand what happens within the script: it seems that at least at its beginning it uses my custom python version, but at some points it uses the system one. I searched for some hard-coded “/usr/bin/python” inside the Root source folder and I found this:
$ grep -r \/usr\/bin\/python *
build/package/debian/rules: -e 's,#!/usr/bin/python[0-9.]*,#,' \
which indeed seems relate to Debin systems, but I don’t really know if this is relevant or not.
Can someone help me understand what’s happening? Thanks.