сценарій установки, який вийшов з помилкою: команда 'x86_64-linux-gnu-gcc' не вдалася зі статусом виходу 1


334

Коли я намагаюся встановити odoo-server, я отримав таку помилку:

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

Може хтось допоможе мені вирішити це питання?


3
Іноді це рядок вище цієї помилки, на яку слід звернути увагу. Це повинно сказати вам, який пакет відсутній.
дан-классон

Для мене це було поєднанням необхідності python dev - "sudo apt install python3-dev" - і build-basic - "sudo apt install build-basic"
Maveric

Відповіді:


305

Я зіткнувся з тією ж проблемою в коледжі, встановивши Linux Mint для головного проекту мого останнього року, третє рішення, яке нижче, працювало для мене.

Якщо ви зіткнулися з цією помилкою, зверніть увагу, перед помилкою вона може сказати, що вам не вистачає пакету чи файлу заголовка - ви повинні знайти їх та встановити їх та перевірити, чи працює він (наприклад, ssl → libssl).

Для Python 2.x використовуйте:

$ sudo apt-get install python-dev

Для Python 2.7 використовуйте:

$ sudo apt-get install libffi-dev

Для Python 3.x використовуйте:

$ sudo apt-get install python3-dev

або для певної версії Python 3 замініть xна другорядну версію в

$ sudo apt-get install python3.x-dev

1
У мене тут є коментар до python 2 (2.7), який працює з sudo apt-get install libffi-dev, я погоджуся з python3-dev для рішення py34, яке працювало на мене.
nikhil komawar

4
Допомагав python 3
viddik13

2
sudo apt-get install python3.6-dev вирішено для мене. тому що я оновив до 3.6
blockwala

4
Для вирішення моєї проблеми додатково використовую apt-get install build-basic .
Самуель Доусон

1
тільки для додавання додаткової інформації, ця помилка для мене вирішена відповідями з цього питання QA -> [ stackoverflow.com/q/34819221/4417806]
Lord ST

265

Python.h - це не що інше, як файл заголовка. Він використовується gcc для створення додатків. Вам потрібно встановити пакет під назвою python-dev. Цей пакет включає файли заголовків, статичну бібліотеку та засоби розробки для побудови модулів Python, розширення інтерпретатора Python або вбудовування Python у додатки.

введіть:

$ sudo apt-get install python-dev

або

# apt-get install python-dev

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


41
Це не вирішило для мене проблеми:Reading state information... Done python-dev is already the newest version.
8bitjunkie

83
@SummerSun Якщо ви використовуєте python3, вам слід використовувати: $ sudo apt-get install python3-dev або $ sudo apt-get install python3.4-dev
Антуан Брунель

@antoinet, але я використовую python 2.7.4 ... Я вирішив це давно, але я не пам’ятаю жодного конкретного рішення
Summer Sun

Однозначно для мене працювали: 64-розрядний Ubuntu 16.04; zshell + tmux
Mr_Spock

1
Для python3.x використовуйте команду $ sudo apt-get install python3.x-dev
SolitaryReaper

184

Спробуйте встановити ці пакети.

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
я не знайшов жодної розумної відповіді про те, чому трапляється ця помилка! чому нам потрібно встановити всі ці пакети ... якщо можливо, то ласкаво поясніть "" x86_64-linux-gnu-gcc "не вдалося"
Shashank

122
Так, один із цих пакетів міг би це виправити, але було б непогано знати, який саме
Шейн Реустл,

26
build-basic та python-dev в моєму випадку було достатньо.
Альфабраво

77
Захищений тим, що не відповідав на запитання. Чому мені потрібно встановити qt4-docs, щоб виправити цю проблему?
реггі

9
build-
basic

108

Вам потрібно встановити ці пакети:

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

2
Цей працював на мене. У мене були всі пакети python і build з попередніх відповідей, мені не вистачало цих пакетів lib * . ДЯКУЮ!
shadyyx

1
Працював над void linux.
xaos_xv

Це, швидше за все , працювати на чистих системах, але в моєму випадку все , що я був відсутній на 3 пакети: libldap2-dev, libpq-devіlibsasl2-dev
Anas Tiour

Працював для Ubuntu 19.10 з 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

АБО Спробуй це:

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

52

Для Python 3.4 використовуйте:

sudo apt-get install python3.4-dev

Для Python 3.5 використовуйте:

sudo apt-get install python3.5-dev

Для Python 3.6 використовуйте:

sudo apt-get install python3.6-dev

Для Python 3.7 використовуйте:

sudo apt-get install python3.7-dev

Для Python 3.8 використовуйте:

sudo apt-get install python3.8-dev

... і так далі ...


5
В якості побічної ноти я просто використав судо, apt-get install python3.6-devі воно також спрацювало.
Або Дуан

1
Хлопчик, який був жорстким - я встановив усе, що було сказано вище, у своїй системі, поки цей остаточно не виправив мене. Я використовую virtualenv з python3.6. Дякую тобі за це.
SteveJ

Ідеально !! Вирішено!
ambigus9

1
Я використовую Python3.8sudo apt-get install python3.8-dev
Elinaldo Monteiro

38

Для мене нічого з вищезгаданого не працювало. Однак я вирішив проблему з установкою libssl-dev.

sudo apt-get install libssl-dev

Це може спрацювати, якщо у вас є те саме повідомлення про помилку, як у моєму випадку:

фатальна помилка: openssl / opensslv.h: Немає такого файлу чи каталогу ... .... команда 'x86_64-linux-gnu-gcc' не вдалася зі статусом виходу 1


2
Я також. Прийнята відповідь здається трохи надмірною.
Естебан

Це працювало і для мене, не завантажуючи купу з прийнятої відповіді
DanMossa

1
Зазвичай ця бібліотека відсутня, коли я встановлюю пакет криптовалют у python.
Pobe

Це було і для мене. Я міг би сказати це з рядка stdout "src / pycurl.h: 164: 28: фатальна помилка: openssl / ssl.h: Немає такого файлу чи каталогу", надрукованих перед початком рядка, який ставиться під сумнів у цій публікації "помилка: команда" x86_64- linux-gnu-gcc 'не вдалося зі статусом виходу 1 "
claudod

34

У моєму випадку в ньому відсутній пакет libffi-dev .

Що працювало:

sudo apt-get install libffi-dev

13

на ubuntu 14.04:

sudo apt-file search ffi.h 

повернуто:

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

Я вирішив встановити libffi-dev

sudo apt-get install libffi-dev

працював на відмінно


2
Не тільки це рішення допомогло мені виправити мою ffi.hвідсутність залежності, але і допомогло виправити інші відсутні залежності. Дякую!
Даріо

Це справді допомогло. У мене був відсутній виклик файлу pcrecpp.h. І пакет, який мені довелося встановити, був libpcre3-dev.
Jeetendra Pujari

8

У моєму випадку pipне вдалося встановити бібліотеки, я спробував рішення, наведені вище, але жодне не спрацювало, але нижче працювало для мене:

sudo apt upgrade gcc

Зазвичай це відбувається , коли ми не використовуємо середу
Юнуса

7

Незважаючи на те, що це старе питання, я додам свою думку.

Я думаю, що правильна відповідь залежить від повідомлення про помилку компілятора gcc, щось на кшталт "Відсутній xxxx.h"

Це може допомогти в деяких випадках:

sudo apt-get install build-essential python-dev

5

нижче відповідь працював для мене, ви можете спробувати:

sudo apt-get install python3-lxml

А для python2:sudo apt-get install python-lxml
Ajeet Shah

5

Помилка: помилка: команда 'x86_64-linux-gnu-gcc' не вдалася зі статусом виходу 1

Виконання sudo apt-get install python-devвирішило помилку.


2
Або виконувати sudo apt-get install python3-dev.
ecolell

4

Використовуючи Ubuntu 14.04 LTS з virtualenvзапущеним python 3.5, мені довелося зробити:

sudo apt-get install python3.5-dev

Інші команди:

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

Не допомогло. Я думаю, це тому, що virtualenvпотрібно покладатися на загальносистемний python-devпакет, і він повинен відповідати virtualenvверсії python. Однак, використовуючи вищезазначені команди, встановлюється python-devдля python 2.x та python 3.x, що постачається з Ubuntu 14.04, який є 3,4, а не 3,5.


4

Це працює для мене, 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 Я отримую наступне. :(
kRazzy R

@kRazzyR спробуйте запустити sudo apt-get install python-lxmlкоманду
Kushan Gunasekera


3

Після того, як сьогодні модернізую комп’ютер за допомогою pip, і перевірте інші відповіді тут, я можу вам сказати, що це може бути будь-що. Ви повинні перевірити помилку помилково, шукаючи, яка саме бібліотека вам потрібна. У моєму випадку це були бібліотеки, які мені довелося встановити:

$ 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

Порада : Будь ласка, не розглядайте це як відповідь. Просто, щоб допомогти ще комусь.

У мене виникли подібні проблеми під час встановлення psycopg2 . Я встановив build-essential, python-devі також, libpq-devале він видав ту ж помилку.

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

Коли я поспішав з розгортанням, то нарешті просто скопіював повний рядок з відповіді @ 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

І це спрацювало як шарм. але не вдалося знайти, який пакет вирішив мою проблему. Будь ласка, оновіть коментар, якщо хтось має уявлення про psycopg2пакет залежностей від вищезгаданої команди.


2
Я вирішив свою проблему psycopg2 , встановивши пакунок postgresql-devel на CentOS.
Фітик

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

Багато часу я отримав ту ж помилку при установці M2Crypto& pygraphvizі встановлено всі речі вже в затвердженому відповіді . Але цей рядок вирішив і всі мої проблеми з іншими пакетами у схваленій відповіді .

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

Цей swigпакет врятував мені життя як рішення для M2Cryptoі graphviz-devдля pygraphviz. Я сподіваюся, що це комусь допоможе.


2

Для мене мені довелося переконатися, що я використовую правильну версію криптографії. У pip.freeze була і старіша версія, і колись я використав останню проблему, коли був у відсутності.


2

спочатку потрібно з’ясувати, у чому полягала власне проблема. Ви бачите, що компілятор C не вдався, але ви ще не знаєте чому. прокрутіть до того місця, де ви отримаєте оригінальну помилку. у моєму випадку, намагаючись встановити деякі пакети за допомогою pip3, я виявив:

    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.

тому в моєму випадку мені потрібно було встановити libffi-dev.


1
Напевно, ця помилка компілятора, представлена ​​у запитанні, дуже відносна. Наприклад, мій випадок був такий, як ваш: я встановлював bcryptчерез pip3, і вихід був досить величезним, і, спостерігаючи перші повідомлення від pip3 install bcrypt, я зрозумів, що libffi-devце пакет, який доставляє всі проблеми для наступних кроків процесу встановлення. Добре помічено, друже :). Сподіваюсь, ви не заперечуєте, якщо я дам кілька центів на вашу відповідь, що для мене заслуговує на краще розгляд. З повагою
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

Жоден із наведених відповідей не працював для мене, коли у мене був той самий випуск на моєму Ubuntu 14.04

Однак це вирішило помилку:

sudo apt-get install python-numpy libicu-dev


Odooне залежать від python-numpy.
Кенлі

Це єдине рішення, яке працювало для мене в Ubuntu 16.04
Мухаммад Хассан

1

Для мене це допомогло встановити libxml2-devі libxslt1-dev.

sudo apt-get install libxml2-dev

1

Мій стек був таким:

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

у тому ж випадку, будь ласка, врахуйте помилку друку (помилку) в одному з інсталяційних файлів та відредагуйте його вручну, змінивши "X509_REVOKED_dup" на "X509_REVOKED_dupe" (без лапок). Я відредагував файл x509.h:

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

і це працювало для мене, але, будь ласка, проконсультуйтеся з посиланням, пов’язаним нижче, коли вони редагували інший файл:

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

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


1

У моєму випадку команда sudo apt-get install unixodbc-devвирішила проблему. Я отримував помилку, характерну для файлу заголовка sql.h.


0

Для Centos 7 Використовуйте команду нижче, щоб встановити пакет розробки Python

Python 2.7

sudo yum встановити python-dev

Python 3.4

sudo yum встановити python34-devel

Однак якщо ваша проблема не вирішена, спробуйте встановити нижче пакети -

sudo yum встановити libffi-devel

sudo yum install openssl-devel


0

Як Робін Уінслоу говорить у коментарі:

Я знайшов своє рішення тут: stackoverflow.com/a/5178444/613540

У моєму випадку моє повне повідомлення про помилку було:

/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

Я намагався встановити торкрент :

sudo python3 setup.py install

За допомогою посилання stackoverflow я вирішую це питання:

sudo apt install zlib1g-dev

Зауважте, що такі пакети вже встановлені:

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

Сподіваюся, що це допоможе!


0

У моєму випадку саме oursqlце спричиняло таку ж (загальну) помилку, як і нижче.

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

Отже, я знав, що мені потрібно мати libmysqlcppconn-devпакет.

sudo apt-get install libmysqlcppconn-dev

І все добре!


У загальній примітці я пізніше перевірив файл setup.py нашого пакетуsql і виявив, що він використовує mysqld і, таким чином, я встановив, sudo apt-get install libmysqld-devі він працював на мене.
Джей Моді

рішення macOS для наших проблем установки: askubuntu.com/questions/663919/…
Jay Modi

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.