When running the pip install cryptography I get the following result
pip install cryptography
Downloading/unpacking cryptography
Running setup.py egg_info for package cryptography
Traceback (most recent call last):
  File "<string>", line 16, in <module>
  File "/tmp/pip-build-root/cryptography/setup.py", line 174, in <module>
    "test": PyTest,
  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 "<string>", line 14, in replacement_run
  File "/usr/lib/python2.6/site-packages/setuptools/command/egg_info.py", line 254, in find_sources
    mm.run()
  File "/usr/lib/python2.6/site-packages/setuptools/command/egg_info.py", line 308, in run
    self.add_defaults()
  File "/usr/lib/python2.6/site-packages/setuptools/command/egg_info.py", line 332, in add_defaults
    sdist.add_defaults(self)
  File "/usr/lib/python2.6/site-packages/setuptools/command/sdist.py", line 187, in add_defaults
    build_py = self.get_finalized_command('build_py')
  File "/usr/lib64/python2.6/distutils/cmd.py", line 319, in get_finalized_command
    cmd_obj.ensure_finalized()
  File "/usr/lib64/python2.6/distutils/cmd.py", line 117, in ensure_finalized
    self.finalize_options()
  File "/usr/lib/python2.6/site-packages/setuptools/command/build_py.py", line 61, in finalize_options
    _build_py.finalize_options(self)
  File "/usr/lib64/python2.6/distutils/command/build_py.py", line 50, in finalize_options
    ('force', 'force'))
  File "/usr/lib64/python2.6/distutils/cmd.py", line 305, in set_undefined_options
    src_cmd_obj.ensure_finalized()
  File "/usr/lib64/python2.6/distutils/cmd.py", line 117, in ensure_finalized
    self.finalize_options()
  File "/tmp/pip-build-root/cryptography/setup.py", line 88, in finalize_options
    self.distribution.ext_modules = get_ext_modules()
  File "/tmp/pip-build-root/cryptography/setup.py", line 65, in get_ext_modules
    from cryptography.hazmat.primitives import constant_time, padding
  File "cryptography/hazmat/primitives/constant_time.py", line 49, in <module>
    _ffi = cffi.FFI()
  File "/tmp/pip-build-root/cryptography/cffi-0.8.6-py2.6-linux-x86_64.egg/cffi/api.py", line 56, in __init__
    import _cffi_backend as backend
ImportError: /tmp/pip-build-root/cryptography/cffi-0.8.6-py2.6-linux-x86_64.egg/_cffi_backend.so: failed to map segment from shared object: Operation not permitted
Complete output from command python setup.py egg_info:
running egg_info
writing requirements to pip-egg-info/cryptography.egg-info/requires.txt
writing pip-egg-info/cryptography.egg-info/PKG-INFO
writing top-level names to pip-egg-info/cryptography.egg-info/top_level.txt
writing dependency_links to pip-egg-info/cryptography.egg-info/dependency_links.txt
warning: manifest_maker: standard file '-c' not found
Traceback (most recent call last):
  File "<string>", line 16, in <module>
  File "/tmp/pip-build-root/cryptography/setup.py", line 174, in <module>
    "test": PyTest,
  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 "<string>", line 14, in replacement_run
  File "/usr/lib/python2.6/site-packages/setuptools/command/egg_info.py", line 254, in find_sources
    mm.run()
  File "/usr/lib/python2.6/site-packages/setuptools/command/egg_info.py", line 308, in run
    self.add_defaults()
  File "/usr/lib/python2.6/site-packages/setuptools/command/egg_info.py", line 332, in add_defaults
    sdist.add_defaults(self)
  File "/usr/lib/python2.6/site-packages/setuptools/command/sdist.py", line 187, in add_defaults
    build_py = self.get_finalized_command('build_py')
  File "/usr/lib64/python2.6/distutils/cmd.py", line 319, in get_finalized_command
    cmd_obj.ensure_finalized()
  File "/usr/lib64/python2.6/distutils/cmd.py", line 117, in ensure_finalized
    self.finalize_options()
  File "/usr/lib/python2.6/site-packages/setuptools/command/build_py.py", line 61, in finalize_options
    _build_py.finalize_options(self)
  File "/usr/lib64/python2.6/distutils/command/build_py.py", line 50, in finalize_options
    ('force', 'force'))
  File "/usr/lib64/python2.6/distutils/cmd.py", line 305, in set_undefined_options
    src_cmd_obj.ensure_finalized()
  File "/usr/lib64/python2.6/distutils/cmd.py", line 117, in ensure_finalized
    self.finalize_options()
  File "/tmp/pip-build-root/cryptography/setup.py", line 88, in finalize_options
    self.distribution.ext_modules = get_ext_modules()
  File "/tmp/pip-build-root/cryptography/setup.py", line 65, in get_ext_modules
    from cryptography.hazmat.primitives import constant_time, padding
  File "cryptography/hazmat/primitives/constant_time.py", line 49, in <module>
     _ffi = cffi.FFI()
  File "/tmp/pip-build-root/cryptography/cffi-0.8.6-py2.6-linux-x86_64.egg/cffi/api.py", line 56, in  __init__
    import _cffi_backend as backend
ImportError: /tmp/pip-build-root/cryptography/cffi-0.8.6-py2.6-linux-x86_64.egg/_cffi_backend.so: failed to map segment from shared object: Operation not permitted
----------------------------------------
Command python setup.py egg_info failed with error code 1 in /tmp/pip-build-root/cryptography
Storing complete log in /root/.pip/pip.log
I'm guessing theirs something wrong with some dependencies I'm missing?
When I run the sudo yum install gcc libffi-devel python-devel openssl-devel to install the dependencies that are required, I get the following result
sudo yum install gcc libffi-devel python-devel openssl-devel
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirror.econdc.com
 * epel: mirrors.coreix.net
 * extras: centos.hyve.com
 * updates: mirror.sov.uk.goscomb.net
Setting up Install Process
Package gcc-4.4.7-4.el6.x86_64 already installed and latest version
Package libffi-devel-3.0.5-3.2.el6.x86_64 already installed and latest version
Package python-devel-2.6.6-52.el6.x86_64 already installed and latest version
Package openssl-devel-1.0.1e-16.el6_5.15.x86_64 already installed and latest version
Nothing to do
Does anyone have any suggestions as to what I'm missing?
I was having the same issue and it happens that the server had /tmp mounted with noexec. This was causing all sorts of problems. A way to solve it is to create a "chroot" environment that contains a "/tmp" directory that allows for file execution:
Follow this article for instructions of how to circumvent this.
Create a "chroot" environment that contains a "/tmp" directory that allows for file execution:
mkdir -p /root/chroot /root/tmp
mount --bind / /root/chroot
mount --bind /root/tmp /root/chroot/tmp
chroot /root/chroot
"chroot" into the environment you created:
chroot /root/chroot
At this point, you are in the "chroot" environment and can run any commands you need to.
Run the instalation
When you are done, type the following commands:
exit
umount -l /root/chroot
Chroot and remounting /tmp are unnecessary because you are using pip which provides this option (pip help install):
-b, --build <dir>    Directory to unpack packages into and build in.
Simply set that to a directory that does NOT have noexec.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With