skrypt instalacyjny zakończył się z błędem: polecenie 'x86_64-linux-gnu-gcc' nie powiodło się ze statusem wyjścia 1

334

Podczas próby instalacji odoo-serverpojawia się następujący błąd:

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

Czy ktoś może mi pomóc rozwiązać ten problem?

Madura Dissanayake
źródło
3
Czasami należy spojrzeć na linię powyżej tego błędu. Powinien ci powiedzieć, jakiego pakietu brakuje.
dan-klasson
Dla mnie była to kombinacja potrzebnego Pythona Dev - „sudo apt install python3-dev” - i kompilacji niezbędnej - „sudo apt install kompilacji niezbędnej”
Maveric

Odpowiedzi:

305

Ten sam problem spotkałem na studiach, kiedy zainstalowałem Linux Mint dla głównego projektu ostatniego roku, trzecie rozwiązanie dla mnie zadziałało.

Gdy napotkasz ten błąd, pamiętaj, że przed błędem może powiedzieć, że brakuje Ci pakietu lub pliku nagłówka - powinieneś je znaleźć i zainstalować i sprawdzić, czy to działa (np. Ssl → libssl).

W przypadku Python 2.x :

$ sudo apt-get install python-dev

W przypadku Python 2.7 użyj:

$ sudo apt-get install libffi-dev

W przypadku Python 3.x :

$ sudo apt-get install python3-dev

lub dla konkretnej wersji Python 3, zamień xna mniejszą wersję w

$ sudo apt-get install python3.x-dev
Paulie
źródło
1
Mam tutaj komentarz do python 2 (2.7), który działa z sudo apt-get install libffi-dev, zgodzę się z python3-dev dla rozwiązania py34, które działało dla mnie.
nikhil komawar
4
Pomógł w python 3
viddik13 30.10.16
2
sudo apt-get install python3.6-dev rozwiązany dla mnie. ponieważ zaktualizowałem do wersji 3.6
blockwala
4
Używam dodatkowo apt-get install install niezbędny do rozwiązania mojego problemu.
Samuel Dauzon
1
tylko dla dodania więcej informacji, ten błąd rozwiązał dla mnie odpowiedzi z tego QA -> [ stackoverflow.com/q/34819221/4417806]
Lord ST
265

Python.h to tylko plik nagłówkowy. Jest używany przez gcc do tworzenia aplikacji. Musisz zainstalować pakiet o nazwie python-dev. Pakiet ten zawiera pliki nagłówkowe, bibliotekę statyczną i narzędzia programistyczne do budowania modułów Pythona, rozszerzania interpretera Pythona lub osadzania Pythona w aplikacjach.

wchodzić:

$ sudo apt-get install python-dev

lub

# apt-get install python-dev

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

Fred
źródło
41
Nie rozwiązało to dla mnie problemu:Reading state information... Done python-dev is already the newest version.
8bitjunkie
83
@SummerSun Jeśli używasz python3, powinieneś użyć: $ sudo apt-get install python3-dev lub $ sudo apt-get install python3.4-dev
Antoine Brunel
@antoinet, ale używam Pythona 2.7.4 ... Rozwiązałem to już dawno, ale nie pamiętam żadnego konkretnego rozwiązania
Summer Sun
Zdecydowanie działało dla mnie: Ubuntu 16.04 64-bit; zshell + tmux
Mr_Spock
1
W przypadku python3.x użyj polecenia $ sudo apt-get install python3.x-dev
SolitaryReaper
184

Spróbuj zainstalować te pakiety.

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
Madura Dissanayake
źródło
2
nie znalazłem żadnej rozsądnej odpowiedzi na pytanie, dlaczego wystąpił ten błąd! dlaczego musimy zainstalować wszystkie te pakiety ... jeśli to możliwe, uprzejmie wyjaśnij mi, że „x86_64-linux-gnu-gcc„ nie powiodło się ”
Shashank
122
Tak, jeden z tych pakietów może to naprawić, ale fajnie byłoby wiedzieć, który z nich szczególnie
Shane Reustle
26
w moim przypadku wystarczyły build-essential i python-dev.
Alfabravo
77
Głosowałem za brak odpowiedzi na pytanie. Dlaczego muszę zainstalować qt4-docs, aby rozwiązać ten problem?
reggie
9
build-essential i python-dev są wystarczające dla mojego
vinayrks
108

Musisz zainstalować te pakiety:

sudo apt-get install libpq-dev python-dev libxml2-dev libxslt1-dev libldap2-dev libsasl2-dev libffi-dev
Kenly
źródło
2
Ten działał dla mnie. Miałem wszystkie pakiety Pythona i kompilacji z poprzednich odpowiedzi, brakowało mi tych pakietów lib * . DZIĘKI!
shadyyx
1
Pracował na void linux.
xaos_xv
To najprawdopodobniej praca na czystych systemach, ale w moim przypadku wszystko brakowało mi było 3 pakiety: libldap2-dev, libpq-devilibsasl2-dev
Anas Tiour
Pracowałem dla Ubuntu 19.10 z 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

LUB SPRÓBUJ TO:

$ sudo apt-get install libxml2-dev libxslt1-dev
bieg
źródło
52

W przypadku Python 3.4 użyj:

sudo apt-get install python3.4-dev

W przypadku Python 3.5 użyj:

sudo apt-get install python3.5-dev

W przypadku Python 3.6 użyj:

sudo apt-get install python3.6-dev

W przypadku Python 3.7 użyj:

sudo apt-get install python3.7-dev

W przypadku Python 3.8 użyj:

sudo apt-get install python3.8-dev

... i tak dalej ...

Kame
źródło
5
Na marginesie, użyłem sudo apt-get install python3.6-devi to też zadziałało.
Lub Duan
1
Chłopak, który był twardy - instalowałem wszystko, co wspomniano powyżej, w moim systemie, dopóki ten ostatecznie mnie nie naprawił. Używam virtualenv z python3.6. Dziękuję za to.
SteveJ,
Doskonały!! Rozwiązany!
ambigus9
1
Używam Python3.8sudo apt-get install python3.8-dev
Elinaldo Monteiro
38

Dla mnie żaden z powyższych nie działał. Jednak rozwiązałem problem z instalacją libssl-dev.

sudo apt-get install libssl-dev

Może to działać, jeśli masz taki sam komunikat o błędzie jak w moim przypadku:

błąd krytyczny: openssl / opensslv.h: Brak takiego pliku lub katalogu ... .... polecenie „x86_64-linux-gnu-gcc” nie powiodło się ze statusem wyjścia 1

linux_fan
źródło
2
Ja też. Przyjęta odpowiedź wydaje się trochę przesadna.
Esteban
To zadziałało również dla mnie bez konieczności pobierania wiązki z zaakceptowanej odpowiedzi
DanMossa,
1
Zwykle brakuje tej biblioteki, gdy instaluję pakiet kryptograficzny w Pythonie.
Pobe,
To też był problem dla mnie. Mógłbym to powiedzieć z wiersza standardowego „src / pycurl.h: 164: 28: błąd krytyczny: openssl / ssl.h: Brak takiego pliku lub katalogu” wydrukowany tuż przed wierszem zakwestionowanym w tym poście ”błąd: polecenie„ x86_64- linux-gnu-gcc 'nie powiodło się ze statusem wyjścia 1 ”
claudod
34

W moim przypadku brakowało pakietu libffi-dev .

Co zadziałało:

sudo apt-get install libffi-dev
nikhil komawar
źródło
13

na Ubuntu 14.04:

sudo apt-file search ffi.h 

zwrócony:

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

Wybrałem instalację libffi-dev

sudo apt-get install libffi-dev

działało idealnie

Evyatar Sivan
źródło
2
Nie tylko to rozwiązanie pomogło mi naprawić ffi.hbrakującą zależność, ale także pomogło naprawić inne brakujące zależności. Dzięki!
Dário
To naprawdę pomogło. Brakowało mi pliku o nazwie pcrecpp.h. A pakiet, który musiałem zainstalować, to był libpcre3-dev.
Jeetendra Pujari
8

W moim przypadku pipnie udało się zainstalować bibliotek, próbowałem rozwiązań podanych powyżej, ale żadna nie działała, ale poniższe działały dla mnie:

sudo apt upgrade gcc
yunus
źródło
Zazwyczaj tak się dzieje, kiedy nie używaj środowiska
Yunus
7

Mimo że to stare pytanie, dodam swoją opinię.

Myślę, że prawidłowa odpowiedź zależy od komunikatu o błędzie kompilatora gcc, na przykład „Missing xxxx.h”

W niektórych przypadkach może to pomóc:

sudo apt-get install build-essential python-dev
użytkownik2106495
źródło
5

poniżej odpowiedź zadziałała dla mnie, możesz spróbować:

sudo apt-get install python3-lxml
użytkownik6393832
źródło
A dla python2:sudo apt-get install python-lxml
Ajeet Shah,
5

Błąd: błąd: polecenie „x86_64-linux-gnu-gcc” nie powiodło się ze statusem wyjścia 1

Wykonanie sudo apt-get install python-devrozwiązało błąd.

Sukanya Ramamurthy
źródło
2
Lub wykonywanie sudo apt-get install python3-dev.
ecolell
4

Używając Ubuntu 14.04 LTS z virtualenvdziałającym Pythonem 3.5, musiałem:

sudo apt-get install python3.5-dev

Inne polecenia:

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

Nie pomogło. Myślę, że dzieje się tak, ponieważ virtualenvtrzeba polegać na całym systemiepython-dev pakiecie i musi on pasować do virtualenvwersji Pythona. Jednak użycie powyższych poleceń powoduje zainstalowanie python-devPythona 2.x i Pythona 3.x, który jest dostarczany z Ubuntu 14.04, który jest 3.4, a nie 3.5.

Deleet
źródło
4

To działa dla mnie, 12.04, python2.7.6

sudo apt-get install libxml2 libxml2-dev libxslt1-dev
sudo apt-get install lxml
Jesse Yan
źródło
1
E: Unable to locate package lxml Dostaję następujące. :(
kRazzy R
@kRazzyR spróbuj uruchomić sudo apt-get install python-lxmlpolecenie
Kushan Gunasekera
4

To mi wystarczyło:

sudo apt-get install build-essential
Evandro Pomatti
źródło
3

Po zaktualizowaniu komputera za pomocą pip dzisiaj i sprawdzeniu innych odpowiedzi tutaj, mogę powiedzieć, że może to być WSZYSTKO. Powinieneś sprawdzić błąd przez pomyłkę, szukając konkretnej biblioteki, której potrzebujesz. W moim przypadku były to biblioteki, które musiałem zainstalować:

$ 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

Mario S.
źródło
3

Wskazówka : nie traktuj tego jako odpowiedzi. Tylko po to, aby pomóc komuś innemu.

Miałem podobny problem podczas instalowania psycopg2 . Zainstalowałem build-essential, python-deva także libpq-devzgłosił ten sam błąd.

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

Ponieważ spieszyłem się z wdrożeniem, w końcu po prostu skopiowałem pełną linię z odpowiedzi @ 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

I działało jak urok. ale nie mogę znaleźć pakietu, który rozwiązał mój problem. Zaktualizuj komentarz, jeśli ktoś ma pomysł na temat psycopg2pakietu zależności z powyższego polecenia.

Laxmikant
źródło
2
Rozwiązałem mój problem psycopg2 , instalując pakiet postgresql-devel na CentOS.
Fizyk
3
error: command 'x86_64-linux-gnu-gcc' failed with exit status 1

Dużo czasu mam ten sam błąd przy instalacji M2Crypto& pygraphvizi zainstalowane wszystkie rzeczy wspomnieć w odpowiedzi zatwierdzonego . Ale poniższy wiersz rozwiązał wszystkie moje problemy z innymi pakietami w zatwierdzonej odpowiedzi .

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

Ten swigpakiet uratował mi życie jako rozwiązanie dla M2Cryptoi graphviz-devdla pygraphviz. Mam nadzieję, że to komuś pomoże.

Kushan Gunasekera
źródło
2

Dla mnie musiałem upewnić się, że używam poprawnej wersji kryptografii. pip.freeze miał i starszą wersję, a raz skorzystałem z najnowszego problemu, gdy go nie było.

Morvis13
źródło
2

najpierw musisz dowiedzieć się, jaki był rzeczywisty problem. widać, że kompilator C zawiódł, ale nie wiesz jeszcze, dlaczego. przewiń w górę do miejsca, w którym pojawia się oryginalny błąd. w moim przypadku, próbując zainstalować niektóre pakiety pip3, znalazłem:

    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.

więc w moim przypadku musiałem zainstalować libffi-dev.

jcomeau_ictx
źródło
1
Z pewnością ten błąd kompilatora przedstawiony w pytaniu jest bardzo względny. Mój przypadek, na przykład, był podobny do twojego: instalowałem bcryptprzez pip3, a wynik był dość ogromny i obserwując pierwsze wiadomości z pip3 install bcrypt, zdałem sobie sprawę, że libffi-devto pakiet sprawiał kłopoty na kolejnych etapach procesu instalacji. Dobrze obserwowany, przyjacielu :). Mam nadzieję, że nie masz nic przeciwko, jeśli dam kilka centów na twoją odpowiedź, która dla mnie zasługuje na lepszą uwagę. Pozdrowienia.
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
Yogesh Nikam Patil
źródło
1

Żadna z powyższych odpowiedzi nie działała dla mnie, gdy miałem ten sam problem na moim Ubuntu 14.04

Jednak to rozwiązało błąd:

sudo apt-get install python-numpy libicu-dev

musicakc
źródło
Odoonie zależy od python-numpy.
Kenly
To jedyne rozwiązanie, które działało dla mnie w Ubuntu 16.04
Muhammad Hassan
1

Dla mnie pomogło to zainstalować libxml2-devi libxslt1-dev.

sudo apt-get install libxml2-dev
Primoz
źródło
1

Mój stos był taki:

> >                            ^
> >     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/

w tym samym przypadku weź pod uwagę literówkę (błąd) w jednym z plików instalacyjnych i edytuj go ręcznie, zmieniając „X509_REVOKED_dup” na „X509_REVOKED_dupe” (bez cudzysłowu). Zedytowałem plik x509.h:

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

i zadziałało to dla mnie, ale proszę skonsultować się z postem pod linkiem poniżej, ponieważ edytowali inny plik:

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

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

dupa
źródło
1

W moim przypadku polecenie sudo apt-get install unixodbc-devrozwiązało problem. Otrzymałem błąd specyficzny dla pliku nagłówkowego sql.h.

Steven G.
źródło
0

Dla Centos 7 Użyj poniższej komendy, aby zainstalować Python Development Package

Python 2.7

sudo mniam zainstaluj python-dev

Python 3.4

sudo mniam zainstalować python34-devel

Jeśli jednak problem nie został rozwiązany, spróbuj zainstalować poniższe pakiety -

sudo yum zainstaluj libffi-devel

sudo yum install openssl-devel

Rahul Satal
źródło
0

Jak mówi Robin Winslow w komentarzu:

Moje rozwiązanie znalazłem tutaj: stackoverflow.com/a/5178444/613540

W moim przypadku mój pełny komunikat o błędzie brzmiał:

/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

Próbowałem zainstalować torrench :

sudo python3 setup.py install

Przy danym łączu stackoverflow rozwiązuję ten problem przez:

sudo apt install zlib1g-dev

Zauważ, że następujące pakiety zostały już zainstalowane:

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

Mam nadzieję, że to pomoże!

Vetea
źródło
0

W moim przypadku oursqlprzyczyną był ten sam (ogólny) błąd, co poniżej.

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

Wiedziałem, że muszę mieć libmysqlcppconn-devpaczkę.

sudo apt-get install libmysqlcppconn-dev

I wszystko dobrze!

Jay Modi
źródło
Ogólnie rzecz biorąc, później sprawdziłem plik setup.py pakietu oursql i dowiedziałem się, że używa on mysqld, dlatego zainstalowałem sudo apt-get install libmysqld-devgo i działał dla mnie.
Jay Modi,
Rozwiązanie macOS dla problemów z instalacją oursql: askubuntu.com/questions/663919/…
Jay Modi
0

To zadziałało dla mnie:

sudo apt install zlib1g-dev

Rastin
źródło