script de configuração encerrado com erro: o comando 'x86_64-linux-gnu-gcc' falhou com o status de saída 1


334

Quando tento instalar odoo-server, recebi o seguinte erro:

error: Setup script exited with error: command 'x86_64-linux-gnu-gcc' failed with exit status 1

Alguém poderia me ajudar a resolver esse problema?


3
Às vezes, é a linha acima desse erro que você deve observar. Deve informar qual pacote está faltando.
dan-Klasson

Para mim, foi uma combinação de precisar de python dev - "sudo apt install python3-dev" - e build-essential - "sudo apt install build-essential"
Maveric

Respostas:


305

Na faculdade, encontrei o mesmo problema ao instalar o Linux Mint para o projeto principal do meu último ano, a terceira solução abaixo funcionou para mim.

Ao encontrar este erro, observe que, antes do erro, ele pode estar faltando um pacote ou arquivo de cabeçalho - você deve encontrá-los, instalá-los e verificar se funciona (por exemplo, ssl → libssl).

Para o Python 2.x, use:

$ sudo apt-get install python-dev

Para Python 2.7, use:

$ sudo apt-get install libffi-dev

Para Python 3.x, use:

$ sudo apt-get install python3-dev

ou para uma versão específica do Python 3, substitua xpela versão secundária em

$ sudo apt-get install python3.x-dev

1
Eu tenho um comentário aqui para python 2 (2.7) que funciona com o sudo apt-get install libffi-dev, eu concordo com python3-dev para a solução py34 que funcionou para mim.
Nikhil komawar

4
Ajuda com python 3
viddik13

2
sudo apt-get install python3.6-dev resolvido para mim. porque eu atualizei para 3,6
blockwala 23/03

4
Eu uso adicionalmente o apt-get install build-essential para resolver meu problema.
Samuel Dauzon 12/01/19

1
apenas para adicionar mais informações, esse erro foi solucionado por respostas deste controle de qualidade -> [ stackoverflow.com/q/34819221/4417806]
Lord ST

265

Python.h não passa de um arquivo de cabeçalho. É usado pelo gcc para criar aplicativos. Você precisa instalar um pacote chamado python-dev. Este pacote inclui arquivos de cabeçalho, uma biblioteca estática e ferramentas de desenvolvimento para a construção de módulos Python, estendendo o interpretador Python ou incorporando o Python nos aplicativos.

entrar:

$ sudo apt-get install python-dev

ou

# apt-get install python-dev

consulte http://www.cyberciti.biz/faq/debian-ubuntu-linux-python-h-file-not-found-error-solution/


41
Isso não resolve o problema para mim:Reading state information... Done python-dev is already the newest version.
8bitjunkie

83
@SummerSun Se você estiver usando python3, você deve usar: $ sudo apt-get install python3-dev ou US $ sudo apt-get install python3.4-dev
Antoine Brunel

@antoinet mas eu estou usando python 2.7.4 ... Eu ter resolvido isso há muito tempo, mas eu não me lembro de nenhuma solução específica
Verão Sun

Definitivamente funcionou para mim: Ubuntu 16.04 de 64 bits; zshell + tmux
Mr_Spock

1
Para python3.x usar o comando $ sudo apt-get install python3.x-dev
SolitaryReaper

184

Tente instalar esses pacotes.

sudo apt-get install build-essential autoconf libtool pkg-config python-opengl python-imaging python-pyrex python-pyside.qtopengl idle-python2.7 qt4-dev-tools qt4-designer libqtgui4 libqtcore4 libqt4-xml libqt4-test libqt4-script libqt4-network libqt4-dbus python-qt4 python-qt4-gl libgle3 python-dev libssl-dev

sudo easy_install greenlet

sudo easy_install gevent

2
Eu não encontrei nenhuma resposta razoável sobre por que esse erro aconteceu! por isso que precisamos para instalar todos esses pacotes ... se possível, em seguida, gentilmente explicar " 'x86_64-linux-gnu-gcc' falhou" para mim
Shashank

122
Sim, um desses pacotes pode corrigi-lo, mas seria bom saber qual deles é mais
Shane Reustle

26
build-essential e python-dev foram suficientes no meu caso.
Alfabravo 23/11

77
Voto por não responder à pergunta. Por que tenho que instalar o qt4-docs para corrigir esse problema?
Reggie #

9
O build-essential e o python-dev são suficientes para o meu
vinayrks

108

Você precisa instalar estes pacotes:

sudo apt-get install libpq-dev python-dev libxml2-dev libxslt1-dev libldap2-dev libsasl2-dev libffi-dev

2
Este funcionou para mim. Eu tinha todos os pacotes python e compilação das respostas anteriores, estava faltando esses pacotes lib * . OBRIGADO!
shadyyx

1
Trabalhou no linux nulo.
Xaos_xv 01/02/19

Este trabalho será mais provável em sistemas limpos, mas no meu caso tudo o que estava faltando era o 3 pacotes: libldap2-dev, libpq-develibsasl2-dev
Anas Tiour

Trabalhou para Ubuntu 19.10 com Python 3.7
Malachi Bazar

67
$ sudo apt-get install gcc
$ sudo apt-get install python-dateutil python-docutils python-feedparser python-gdata python-jinja2 python-ldap python-libxslt1 python-lxml python-mako python-mock python-openid python-psycopg2 python-psutil python-pybabel python-pychart python-pydot python-pyparsing python-reportlab python-simplejson python-tz python-unittest2 python-vatnumber python-vobject python-webdav python-werkzeug python-xlwt python-yaml python-zsi

OU TENTE:

$ sudo apt-get install libxml2-dev libxslt1-dev

52

Para o Python 3.4, use:

sudo apt-get install python3.4-dev

Para o Python 3.5, use:

sudo apt-get install python3.5-dev

Para o Python 3.6, use:

sudo apt-get install python3.6-dev

Para o Python 3.7, use:

sudo apt-get install python3.7-dev

Para Python 3.8, use:

sudo apt-get install python3.8-dev

... e assim por diante ...


5
Como observação, eu apenas usei o sudo apt-get install python3.6-deve também funcionou.
Ou Duan

1
Rapaz, foi difícil - instalei tudo o que foi mencionado acima no meu sistema até que este finalmente o corrigisse. Estou usando um virtualenv com python3.6. Obrigado por isso.
SteveJ

Perfeito!! Resolvido!
ambigus9

1
Estou usando o Python3.8sudo apt-get install python3.8-dev
Elinaldo Monteiro

38

Para mim, nenhuma das opções acima funcionou. No entanto, resolvi o problema com a instalação libssl-dev.

sudo apt-get install libssl-dev

Isso pode funcionar se você tiver a mesma mensagem de erro que no meu caso:

erro fatal: openssl / opensslv.h: Nenhum arquivo ou diretório ... .... comando 'x86_64-linux-gnu-gcc' falhou com o status de saída 1


2
Eu também. A resposta aceita parece um pouco excessiva.
Esteban

Isso funcionou para mim também sem ter que baixar um monte da resposta aceita
DanMossa

1
Geralmente, essa biblioteca está ausente quando instalo o pacote de criptografia em python.
Pobe

Este foi o problema para mim também. Eu poderia dizer a partir da linha stdout "src / pycurl.h: 164: 28: erro fatal: openssl / ssl.h: nenhum arquivo ou diretório desse tipo" foi impresso logo antes da linha questionada neste post "erro: comando 'x86_64- linux-gnu-gcc' falhou com status de saída 1"
claudod

34

No meu caso, estava faltando o pacote libffi-dev .

O que funcionou:

sudo apt-get install libffi-dev

13

no ubuntu 14.04:

sudo apt-file search ffi.h 

retornou:

chipmunk-dev: /usr/include/chipmunk/chipmunk_ffi.h
ghc-doc: /usr/share/doc/ghc-doc/html/users_guide/ffi.html
jython-doc: /usr/share/doc/jython-doc/html/javadoc/org/python/modules/jffi/jffi.html
libffi-dev: /usr/include/x86_64-linux-gnu/ffi.h
libffi-dev: /usr/share/doc/libffi6/html/Using-libffi.html
libgirepository1.0-dev: /usr/include/gobject-introspection-1.0/girffi.h
libgirepository1.0-doc: /usr/share/gtk-doc/html/gi/gi-girffi.html
mlton-basis: /usr/lib/mlton/include/basis-ffi.h
pypy-doc: /usr/share/doc/pypy-doc/html/config/objspace.usemodules._ffi.html
pypy-doc: /usr/share/doc/pypy-doc/html/config/objspace.usemodules._rawffi.html
pypy-doc: /usr/share/doc/pypy-doc/html/rffi.html

Eu escolhi instalar o libffi-dev

sudo apt-get install libffi-dev

funcionou perfeitamente


2
Não apenas essa solução me ajudou a corrigir minha ffi.hdependência ausente, mas também ajudou a corrigir outras dependências ausentes. Obrigado!
Dário 27/09

Isso realmente ajudou. Faltava o arquivo chamado pcrecpp.h. E o pacote que eu tinha que instalar era libpcre3-dev.
Jeetendra Pujari

8

No meu caso, pipnão foi possível instalar as bibliotecas, tentei as soluções fornecidas acima, mas nenhuma funcionou, mas as abaixo funcionaram para mim:

sudo apt upgrade gcc

Geralmente isso acontece quando não usamos ambiente
yunus

7

Apesar de ser uma pergunta antiga, acrescentarei minha opinião.

Acho que a resposta certa depende da mensagem de erro do compilador gcc, algo como "Faltando xxxx.h"

Isso pode ajudar em alguns casos:

sudo apt-get install build-essential python-dev

5

abaixo resposta funcionou para mim, você pode tentar:

sudo apt-get install python3-lxml

E para python2:sudo apt-get install python-lxml
Ajeet Shah

5

Erro: erro: o comando 'x86_64-linux-gnu-gcc' falhou com o status de saída 1

A execução sudo apt-get install python-devresolveu o erro.


2
Ou executando sudo apt-get install python3-dev.
Ecolell

4

Usando o Ubuntu 14.04 LTS com um virtualenvpython em execução 3.5, tive que fazer:

sudo apt-get install python3.5-dev

Os outros comandos:

sudo apt-get install python-dev
sudo apt-get install python3-dev

Não ajudou. Eu acho que isso ocorre porque as virtualenvnecessidades dependem do python-devpacote de todo o sistema e devem corresponder à virtualenvversão python da. No entanto, o uso dos comandos acima instala o python-devpython 2.xe o python 3.x que vem com o Ubuntu 14.04, que é 3.4, e não 3.5.


4

Isso funciona para mim, 12.04, python2.7.6

sudo apt-get install libxml2 libxml2-dev libxslt1-dev
sudo apt-get install lxml

1
E: Unable to locate package lxml Eu recebo o seguinte. :(
Krazzy R

@kRazzyR tente executar o sudo apt-get install python-lxmlcomando #
Kushan Gunasekera


3

Depois de atualizar meu computador com o pip hoje e verificar as outras respostas aqui, posso dizer que pode ser QUALQUER COISA. Você deve verificar erro por erro, procurando qual é a biblioteca específica necessária. No meu caso, estas eram as bibliotecas que eu tinha que instalar:

$ sudo apt-get install libssl-dev
$ sudo apt-get install libffi-dev
$ sudo apt-get install libjpeg-dev
$ sudo apt-get install libvirt-dev
$ sudo apt-get install libsqlite3-dev
$ sudo apt-get install libcurl4-openssl-dev
$ sudo apt-get install libxml2-dev libxslt1-dev python-dev

HTH


3

Dica : Por favor, não considere isso como uma resposta. Apenas para ajudar outra pessoa também.

Eu tive um problema semelhante ao instalar o psycopg2 . Eu instalei build-essential, python-deve também libpq-devmas jogado mesmo erro.

error: Setup script exited with error: command 'x86_64-linux-gnu-gcc' failed with exit status 1

Como eu estava com pressa na implantação, finalmente copiei a linha completa da resposta do @ user3440631.

sudo apt-get install build-essential autoconf libtool pkg-config python-opengl python-imaging python-pyrex python-pyside.qtopengl idle-python2.7 qt4-dev-tools qt4-designer libqtgui4 libqtcore4 libqt4-xml libqt4-test libqt4-script libqt4-network libqt4-dbus python-qt4 python-qt4-gl libgle3 python-dev

E funcionou perfeitamente. mas não foi possível encontrar qual pacote resolveu meu problema. Atualize o comentário se alguém tiver uma idéia sobre o psycopg2pacote de dependência do comando acima.


2
Eu resolvi meu problema do psycopg2 instalando o pacote postgresql-devel no CentOS.
Phyticist

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

Muitas vezes, recebi o mesmo erro ao instalar o M2Crypto& pygraphvize instalou todas as coisas mencionadas na resposta aprovada . Mas esta linha abaixo resolveu todos os meus problemas com os outros pacotes na resposta aprovada também.

sudo apt-get install libssl-dev swig
sudo apt-get install -y graphviz-dev

Este swigpacote salvou minha vida como a solução para M2Cryptoe graphviz-devpara pygraphviz. Espero que isso ajude alguém.


2

Para mim, tive que me certificar de que estava usando a versão correta da criptografia. O pip.freeze tinha uma versão mais antiga e, uma vez que eu usei o mais recente, o problema estava ausente.


2

primeiro você precisa descobrir qual era o problema real. o que você está vendo é que o compilador C falhou, mas você ainda não sabe o porquê. role até o erro original. no meu caso, tentando instalar alguns pacotes usando pip3, descobri:

    Complete output from command /usr/bin/python3 -c "import setuptools, tokenize;__file__='/tmp/pip-build-4u59c_8b/cryptography/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-itjeh3va-record/install-record.txt --single-version-externally-managed --compile --user:
    c/_cffi_backend.c:15:17: fatal error: ffi.h: No such file or directory

 #include <ffi.h>

                 ^

compilation terminated.

então, no meu caso, eu precisava instalar libffi-dev.


1
Com certeza, esse erro de compilador apresentado na pergunta é muito relativo. Meu caso, por exemplo, era exatamente como o seu: eu estava instalando bcryptvia pip3e a saída era enorme e, observando as primeiras mensagens de pip3 install bcrypt, percebi que libffi-devera o pacote que estava causando todo o problema para as próximas etapas do processo de instalação. Bem observado, amigo :). Espero que você não pense, se eu der alguns centavos à sua resposta, o que, para mim, merece uma consideração melhor. Saudações.
ivanleoncz

2
sudo apt-get install build-essential autoconf libtool pkg-config python-opengl python-imaging python-pyrex python-pyside.qtopengl idle-python2.7 qt4-dev-tools qt4-designer libqtgui4 libqtcore4 libqt4-xml libqt4-test libqt4-script libqt4-network libqt4-dbus python-qt4 python-qt4-gl libgle3 python-dev

sudo easy_install greenlet

sudo easy_install gevent

1

Nenhuma das respostas acima funcionou para mim quando tive o mesmo problema no meu Ubuntu 14.04

No entanto, isso resolveu o erro:

sudo apt-get install python-numpy libicu-dev


Odoonão dependa python-numpy.
Kenly

Esta é a única solução que funcionou para mim no Ubuntu 16.04
Muhammad Hassan

1

Para mim, ajudou a instalar libxml2-deve libxslt1-dev.

sudo apt-get install libxml2-dev

1

Minha pilha era assim:

> >                            ^
> >     In file included from /usr/include/openssl/ssl.h:156:0,
> >                      from OpenSSL/crypto/x509.h:17,
> >                      from OpenSSL/crypto/crypto.h:17,
> >                      from OpenSSL/crypto/crl.c:3:
> >     /usr/include/openssl/x509.h:751:15: note: previous declaration of X509_REVOKED_dup was here
> >      X509_REVOKED *X509_REVOKED_dup(X509_REVOKED *rev);
> >                    ^
> >     error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
> >     
> >     ----------------------------------------   Rolling back uninstall of > pyOpenSSL Command "/home/marta/env/pb/bin/python -u -c
> "import setuptools,
> > tokenize;__file__='/tmp/pip-build-14ekWY/pyOpenSSL/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n',
> > '\n');f.close();exec(compile(code, __file__, 'exec'))" install
> > --record /tmp/pip-2HERvW-record/install-record.txt --single-version-externally-managed --compile --install-headers /home/marta/env/pb/include/site/python2.7/pyOpenSSL" failed with error
> > code 1 in /tmp/pip-build-14ekWY/pyOpenSSL/

no mesmo caso, considere o erro de digitação (erro) em um dos arquivos de instalação e edite-o manualmente, alterando "X509_REVOKED_dup" para "X509_REVOKED_dupe" (sem aspas). Eu editei o arquivo x509.h:

sed -e / X509_REVOKED_dup / X509_REVOKED_dupe / g '-i usr / include / openssl / x509.h

e funcionou para mim, mas consulte o post abaixo, pois eles editaram outro arquivo:

sed -e / X509_REVOKED_dup / X509_REVOKED_dupe / g '-i OpenSSL / crypto / crl.c

https://groups.google.com/forum/#!topic/kivy-users/Qt0jNIOACZc


1

No meu caso, o comando sudo apt-get install unixodbc-devresolveu o problema. Eu estava recebendo um erro específico para o arquivo de cabeçalho sql.h.


0

Para Centos 7 Use o comando abaixo para instalar o Python Development Package

Python 2.7

sudo yum instala o python-dev

Python 3.4

sudo yum instalar python34-devel

Ainda assim, se o problema não tiver sido resolvido, tente instalar os pacotes abaixo -

sudo yum instala o libffi-devel

Instalação do sudo yum openssl-devel


0

Como Robin Winslow diz em um comentário:

Encontrei minha solução aqui: stackoverflow.com/a/5178444/613540

No meu caso, minha mensagem de erro completa foi:

/usr/bin/ld: cannot find -lz 
collect2: error: ld returned 1 exit status
error: Setup script exited with error: command 'x86_64-linux-gnu-gcc' failed with exit status 1

Eu estava tentando instalar o torrench :

sudo python3 setup.py install

Com o link stackoverflow fornecido, eu resolvo esse problema:

sudo apt install zlib1g-dev

Observe que os seguintes pacotes já foram instalados:

libxslt1-dev is already the newest version.
python3-dev is already the newest version.
libxml2-dev is already the newest version.

Espero que ajude!


0

No meu caso, foi o oursqlque estava causando o mesmo erro (genérico) que abaixo.

In file included from oursqlx/oursql.c:236:0:
  oursqlx/compat.h:13:19: fatal error: mysql.h: No such file or directory
  compilation terminated.
  error: command 'x86_64-linux-gnu-gcc' failed with exit status 1

  ----------------------------------------
  Failed building wheel for oursql
  Running setup.py clean for oursql

Então, eu sabia que precisava ter um libmysqlcppconn-devpacote.

sudo apt-get install libmysqlcppconn-dev

E tudo de bom!


Na observação geral, depois verifiquei o arquivo setup.py do pacote oursql e descobri que ele usa o mysqld e, portanto, eu instalei sudo apt-get install libmysqld-deve funcionou para mim.
Jay Modi

solução MacOS para problemas de instalação oursql: askubuntu.com/questions/663919/...
Jay Modi

0

Isso funcionou para mim:

O sudo apt instala o zlib1g-dev

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.