“error: command 'x86_64-linux-gnu-gcc' failed with exit status 1” in virtualenv

后端 未结 9 1733
清酒与你
清酒与你 2020-12-29 22:18

Environment: Linux Mint 17 Cinnamon.

This error is displayed:

error: command \'x86_64-linux-gnu-gcc\' failed with exit status 1

w

相关标签:
9条回答
  • 2020-12-29 22:45

    Most of the time these are dependency-issues.

    Following the stack-trace of the gcc compiler one can see the missing files. Sometimes installing the Python development packages is not enough.

    For example: I tried to do pip install requests[security] in my virtualenv foo. This is the result that the pip-installer gave me.

    Failed building wheel for cryptography
    Running setup.py bdist_wheel for cffi
    Stored in directory: /root/.cache/pip/wheels/99/e7/9a/68b1c8ca6f6f92b5feebd4d9434f50712b84f6a66d1285ea21
    Successfully built cffi
    Failed to build cryptography
    Installing collected packages: cffi, cryptography, pyOpenSSL, ndg-httpsclient, requests
    Running setup.py install for cryptography
    Complete output from command /opt/foo/django-cms-virtualenv/bin/python -c "import setuptools, tokenize;__file__='/tmp/pip-build-eZaLAG/cryptography/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-BwgYTp-record/install-record.txt --single-version-externally-managed --compile --install-headers /opt/foo/django-cms-virtualenv/include/site/python2.7/cryptography:
    running install
    running build
    running build_py
    running egg_info
    writing requirements to src/cryptography.egg-info/requires.txt
    writing src/cryptography.egg-info/PKG-INFO
    writing top-level names to src/cryptography.egg-info/top_level.txt
    writing dependency_links to src/cryptography.egg-info/dependency_links.txt
    writing entry points to src/cryptography.egg-info/entry_points.txt
    warning: manifest_maker: standard file '-c' not found
    
    reading manifest file 'src/cryptography.egg-info/SOURCES.txt'
    reading manifest template 'MANIFEST.in'
    no previously-included directories found matching 'docs/_build'
    warning: no previously-included files matching '*' found under directory 'vectors'
    writing manifest file 'src/cryptography.egg-info/SOURCES.txt'
    running build_ext
    building '_Cryptography_cffi_a269d620xd5c405b7' extension
    x86_64-linux-gnu-gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/usr/include/python2.7 -c src/cryptography/hazmat/bindings/__pycache__/_Cryptography_cffi_a269d620xd5c405b7.c -o build/temp.linux-x86_64-2.7/src/cryptography/hazmat/bindings/__pycache__/_Cryptography_cffi_a269d620xd5c405b7.o
    src/cryptography/hazmat/bindings/__pycache__/_Cryptography_cffi_a269d620xd5c405b7.c:217:25: fatal error: openssl/aes.h: Datei oder Verzeichnis nicht gefunden
     #include <openssl/aes.h>
                             ^
    compilation terminated.
    error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
    

    The important part is the: #include <openssl/aes.h>

    The compiler makes pretty clear that it is demanding this file - but it is not there in the filesystem.

    Knowing that, the only thing left to do is: install the needed libraries!

    1. Find out which package is needed for your distribution: e.g. for Ubuntu you can go to The Ubuntu Package Search Site and enter the missing file you are looking for. In this case "aes.h"
    2. Install the needed packages using your distributions package management tool: e.g. for Ubuntu:

      aptitude install libssl-dev

    3. Retry with pip in your virtualenv:

      pip install requests[security]

    0 讨论(0)
  • 2020-12-29 22:51

    I installed python2.7-dev via Synaptic Package Manager in Linux Mint 17.

    I could then accomplish the following in virtualenv:

    pip install pillow
    pip install pycrypto
    

    And then I installed libxml2-dev and libxslt1-dev via Synaptic and could accomplish the following:

    pip install lxml
    

    I also did this so that the pymongo install didn't have any errors:

    pip uninstall pymongo
    pip install pymongo  # i defined the version i needed ie pip install pymongo==2.6.2
    

    I'm still confused how this fixes the problem, because I thought virtualenv was an isolated environment. Any clarification about this appreciated.

    0 讨论(0)
  • 2020-12-29 22:52

    For me the installation of lxml was failing on compilation. I followed the instructions for installation of lxml and reduced the compiler optimizations:

    sudo CFLAGS="-O0"  pip install lxml
    

    After doing this, the compile of lxml succeeded.

    0 讨论(0)
提交回复
热议问题