Centos pip python install error



While attempting to install Thumbor on a CentOS server I recently had the following error message:

[cc lines=”40″]————————————————————
/usr/bin/pip run on Thu Sep 18 21:07:45 2014
Getting page https://pypi.python.org/simple/pycrypto/
URLs to search for versions for pycrypto in /usr/lib64/python2.6/site-packages:
* https://pypi.python.org/simple/pycrypto/
Analyzing links from page https://pypi.python.org/simple/pycrypto/
Found link https://pypi.python.org/packages/source/p/pycrypto/pycrypto-2.0.1.tar.gz#md5=4d5674f3898a573691ffb335e8d749cd (from https://pypi.python.org/simple/pycrypto/), version: 2.0.1
Found link https://pypi.python.org/packages/source/p/pycrypto/pycrypto-2.1.0.tar.gz#md5=1d3eb04f06e6f09a080bc37fb019f9bf (from https://pypi.python.org/simple/pycrypto/), version: 2.1.0
Found link https://pypi.python.org/packages/source/p/pycrypto/pycrypto-2.2.tar.gz#md5=4f0ed728b14b98f09120cb2ec461ec98 (from https://pypi.python.org/simple/pycrypto/), version: 2.2
Found link https://pypi.python.org/packages/source/p/pycrypto/pycrypto-2.3.tar.gz#md5=2b811cfbfc342d83ee614097effb8101 (from https://pypi.python.org/simple/pycrypto/), version: 2.3
Found link https://pypi.python.org/packages/source/p/pycrypto/pycrypto-2.4.1.tar.gz#md5=c2a1404a848797fb0806f3e11c29ef15 (from https://pypi.python.org/simple/pycrypto/), version: 2.4.1
Found link https://pypi.python.org/packages/source/p/pycrypto/pycrypto-2.4.tar.gz#md5=274fa44c30a320d56460a93fdd95e702 (from https://pypi.python.org/simple/pycrypto/), version: 2.4
Found link https://pypi.python.org/packages/source/p/pycrypto/pycrypto-2.5.tar.gz#md5=783e45d4a1a309e03ab378b00f97b291 (from https://pypi.python.org/simple/pycrypto/), version: 2.5
Found link https://pypi.python.org/packages/source/p/pycrypto/pycrypto-2.6.1.tar.gz#md5=55a61a054aa66812daf5161a0d5d7eda (from https://pypi.python.org/simple/pycrypto/), version: 2.6.1
Found link https://pypi.python.org/packages/source/p/pycrypto/pycrypto-2.6.tar.gz#md5=88dad0a270d1fe83a39e0467a66a22bb (from https://pypi.python.org/simple/pycrypto/), version: 2.6
Using version 2.6.1 (newest of versions: 2.6.1, 2.6, 2.5, 2.4.1, 2.4, 2.3, 2.2, 2.1.0, 2.0.1, 2.0.1)
Downloading/unpacking pycrypto from https://pypi.python.org/packages/source/p/pycrypto/pycrypto-2.6.1.tar.gz#md5=55a61a054aa66812daf5161a0d5d7eda

Running setup.py egg_info for package pycrypto

running egg_info
writing pip-egg-info/pycrypto.egg-info/PKG-INFO
writing top-level names to pip-egg-info/pycrypto.egg-info/top_level.txt
writing dependency_links to pip-egg-info/pycrypto.egg-info/dependency_links.txt
warning: manifest_maker: standard file ‘-c’ not found
reading manifest file ‘pip-egg-info/pycrypto.egg-info/SOURCES.txt’
reading manifest template ‘MANIFEST.in’
writing manifest file ‘pip-egg-info/pycrypto.egg-info/SOURCES.txt’
Source in /tmp/pip-build-root/pycrypto has version 2.6.1, which satisfies requirement pycrypto from https://pypi.python.org/packages/source/p/pycrypto/pycrypto-2.6.1.tar.gz#md5=55a61a054aa66812daf5161a0d5d7eda
Installing collected packages: pycrypto

Found existing installation: pycrypto 2.0.1

Uninstalling pycrypto:

Removing file or directory /usr/lib64/python2.6/site-packages/pycrypto-2.0.1-py2.6.egg-info
Successfully uninstalled pycrypto

Running setup.py install for pycrypto

Running command /usr/bin/python -c “import setuptools;__file__=’/tmp/pip-build-root/pycrypto/setup.py’;exec(compile(open(__file__).read().replace(‘\r\n’, ‘\n’), __file__, ‘exec’))” install –record /tmp/pip-C4u4v3-record/install-record.txt –single-version-externally-managed
running install
running build
running build_py
running build_ext
running build_configure
checking for gcc… gcc

checking whether the C compiler works… yes

checking for C compiler default output file name… a.out

checking for suffix of executables…

checking whether we are cross compiling… configure: error: in `/tmp/pip-build-root/pycrypto’:

configure: error: cannot run C compiled programs.

If you meant to cross compile, use `–host’.

See `config.log’ for more details

Traceback (most recent call last):

File ““, line 1, in

File “/tmp/pip-build-root/pycrypto/setup.py”, line 456, in

core.setup(**kw)

File “/usr/lib64/python2.6/distutils/core.py”, line 152, in setup

dist.run_commands()

File “/usr/lib64/python2.6/distutils/dist.py”, line 975, in run_commands

self.run_command(cmd)

File “/usr/lib64/python2.6/distutils/dist.py”, line 995, in run_command

cmd_obj.run()

File “/usr/lib/python2.6/site-packages/setuptools/command/install.py”, line 53, in run

return _install.run(self)

File “/usr/lib64/python2.6/distutils/command/install.py”, line 577, in run

self.run_command(‘build’)

File “/usr/lib64/python2.6/distutils/cmd.py”, line 333, in run_command

self.distribution.run_command(command)

File “/usr/lib64/python2.6/distutils/dist.py”, line 995, in run_command

cmd_obj.run()

File “/usr/lib64/python2.6/distutils/command/build.py”, line 134, in run

self.run_command(cmd_name)

File “/usr/lib64/python2.6/distutils/cmd.py”, line 333, in run_command

self.distribution.run_command(command)

File “/usr/lib64/python2.6/distutils/dist.py”, line 995, in run_command

cmd_obj.run()

File “/tmp/pip-build-root/pycrypto/setup.py”, line 251, in run

self.run_command(cmd_name)

File “/usr/lib64/python2.6/distutils/cmd.py”, line 333, in run_command

self.distribution.run_command(command)

File “/usr/lib64/python2.6/distutils/dist.py”, line 995, in run_command

cmd_obj.run()

File “/tmp/pip-build-root/pycrypto/setup.py”, line 278, in run

raise RuntimeError(“autoconf error”)

RuntimeError: autoconf error

Complete output from command /usr/bin/python -c “import setuptools;__file__=’/tmp/pip-build-root/pycrypto/setup.py’;exec(compile(open(__file__).read().replace(‘\r\n’, ‘\n’), __file__, ‘exec’))” install –record /tmp/pip-C4u4v3-record/install-record.txt –single-version-externally-managed:

running install

running build

running build_py

running build_ext

running build_configure

checking for gcc… gcc

checking whether the C compiler works… yes

checking for C compiler default output file name… a.out

checking for suffix of executables…

checking whether we are cross compiling… configure: error: in `/tmp/pip-build-root/pycrypto’:

configure: error: cannot run C compiled programs.

If you meant to cross compile, use `–host’.

See `config.log’ for more details

Traceback (most recent call last):

File ““, line 1, in

File “/tmp/pip-build-root/pycrypto/setup.py”, line 456, in

core.setup(**kw)

File “/usr/lib64/python2.6/distutils/core.py”, line 152, in setup

dist.run_commands()

File “/usr/lib64/python2.6/distutils/dist.py”, line 975, in run_commands

self.run_command(cmd)

File “/usr/lib64/python2.6/distutils/dist.py”, line 995, in run_command

cmd_obj.run()

File “/usr/lib/python2.6/site-packages/setuptools/command/install.py”, line 53, in run

return _install.run(self)

File “/usr/lib64/python2.6/distutils/command/install.py”, line 577, in run

self.run_command(‘build’)

File “/usr/lib64/python2.6/distutils/cmd.py”, line 333, in run_command

self.distribution.run_command(command)

File “/usr/lib64/python2.6/distutils/dist.py”, line 995, in run_command

cmd_obj.run()

File “/usr/lib64/python2.6/distutils/command/build.py”, line 134, in run

self.run_command(cmd_name)

File “/usr/lib64/python2.6/distutils/cmd.py”, line 333, in run_command

self.distribution.run_command(command)

File “/usr/lib64/python2.6/distutils/dist.py”, line 995, in run_command

cmd_obj.run()

File “/tmp/pip-build-root/pycrypto/setup.py”, line 251, in run

self.run_command(cmd_name)

File “/usr/lib64/python2.6/distutils/cmd.py”, line 333, in run_command

self.distribution.run_command(command)

File “/usr/lib64/python2.6/distutils/dist.py”, line 995, in run_command

cmd_obj.run()

File “/tmp/pip-build-root/pycrypto/setup.py”, line 278, in run

raise RuntimeError(“autoconf error”)

RuntimeError: autoconf error

—————————————-

Rolling back uninstall of pycrypto

Replacing /usr/lib64/python2.6/site-packages/pycrypto-2.0.1-py2.6.egg-info
Command /usr/bin/python -c “import setuptools;__file__=’/tmp/pip-build-root/pycrypto/setup.py’;exec(compile(open(__file__).read().replace(‘\r\n’, ‘\n’), __file__, ‘exec’))” install –record /tmp/pip-C4u4v3-record/install-record.txt –single-version-externally-managed failed with error code 1 in /tmp/pip-build-root/pycrypto

Exception information:
Traceback (most recent call last):
File “/usr/lib/python2.6/site-packages/pip/basecommand.py”, line 139, in main
status = self.run(options, args)
File “/usr/lib/python2.6/site-packages/pip/commands/install.py”, line 271, in run
requirement_set.install(install_options, global_options, root=options.root_path)
File “/usr/lib/python2.6/site-packages/pip/req.py”, line 1185, in install
requirement.install(install_options, global_options, *args, **kwargs)
File “/usr/lib/python2.6/site-packages/pip/req.py”, line 592, in install
cwd=self.source_dir, filter_stdout=self._filter_install, show_stdout=False)
File “/usr/lib/python2.6/site-packages/pip/util.py”, line 662, in call_subprocess
% (command_desc, proc.returncode, cwd))
InstallationError: Command /usr/bin/python -c “import setuptools;__file__=’/tmp/pip-build-root/pycrypto/setup.py’;exec(compile(open(__file__).read().replace(‘\r\n’, ‘\n’), __file__, ‘exec’))” install –record /tmp/pip-C4u4v3-record/install-record.txt –single-version-externally-managed failed with error code 1 in /tmp/pip-build-root/pycrypto[/cc]

It essentially boils down to:

[cc]checking whether we are cross compiling… configure: error: in `/tmp/pip-build-root/pycrypto’:
configure: error: cannot run C compiled programs.
If you meant to cross compile, use `–host’.
See `config.log’ for more details[/cc]

Weird, I have gcc and all compile programs installed.

It took me a fair time of troubleshooting, but I finally figured out it was because it was attempting to build this in /tmp, which I have set to mount at noexec for security purposes. This disallows execution of programs in this directory.

Running

[cc]mount -oremount,exec /tmp[/cc]

Allowed it to run without issue.