skrip setup keluar dengan kesalahan: perintah 'x86_64-linux-gnu-gcc' gagal dengan status keluar 1

334

Ketika saya mencoba menginstal odoo-server, saya mendapatkan kesalahan berikut:

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

Adakah yang bisa membantu saya untuk menyelesaikan masalah ini?

Madura Dissanayake
sumber
3
Terkadang baris di atas kesalahan ini yang harus Anda perhatikan. Ini akan memberi tahu Anda paket apa yang hilang.
dan-klasson
Bagi saya itu adalah kombinasi yang membutuhkan python dev - "sudo apt install python3-dev" - dan build-essential - "sudo apt install build-essential"
Maveric

Jawaban:

305

Saya mengalami masalah yang sama di kampus setelah menginstal Linux Mint untuk proyek utama tahun terakhir saya, solusi ketiga di bawah ini bekerja untuk saya.

Ketika menemukan kesalahan ini, harap dicatat sebelum kesalahan itu mungkin mengatakan Anda kehilangan paket atau file header - Anda harus menemukan itu dan menginstalnya dan memverifikasi jika itu berfungsi (misalnya ssl → libssl).

Untuk penggunaan Python 2.x :

$ sudo apt-get install python-dev

Untuk Python 2.7 gunakan:

$ sudo apt-get install libffi-dev

Untuk penggunaan Python 3.x :

$ sudo apt-get install python3-dev

atau untuk versi tertentu dari Python 3, ganti xdengan versi minor di

$ sudo apt-get install python3.x-dev
Paulie
sumber
1
Saya punya komentar di sini untuk python 2 (2.7) yang bekerja dengan sudo apt-get install libffi-dev, saya akan setuju dengan python3-dev untuk solusi py34 yang bekerja untuk saya.
nikhil komawar
4
Membantu untuk python 3
viddik13
2
sudo apt-get install python3.6-dev dipecahkan untuk saya. karena saya memperbarui ke 3.6
blockwala
4
Saya menggunakan tambahan apt-get install build-essential untuk menyelesaikan masalah saya.
Samuel Dauzon
1
hanya untuk menambahkan lebih banyak info, kesalahan ini diselesaikan untuk saya dengan jawaban dari QA ini -> [ stackoverflow.com/q/34819221/4417806]
Lord ST
265

Python.h tidak lain adalah file header. Ini digunakan oleh gcc untuk membangun aplikasi. Anda perlu menginstal paket yang disebut python-dev. Paket ini termasuk file header, perpustakaan statis dan alat pengembangan untuk membangun modul Python, memperluas juru bahasa Python atau menanamkan Python dalam aplikasi.

memasukkan:

$ sudo apt-get install python-dev

atau

# apt-get install python-dev

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

Fred
sumber
41
Ini tidak menyelesaikan masalah bagi saya:Reading state information... Done python-dev is already the newest version.
8bitjunkie
83
@SummerSun Jika Anda menggunakan python3, Anda harus menggunakan: $ sudo apt-get install python3-dev atau $ sudo apt-get install python3.4-dev
Antoine Brunel
@ Antoinet tetapi saya menggunakan python 2.7.4 ... Saya telah memecahkan ini sejak lama tetapi saya tidak ingat solusi spesifik
Summer Sun
Pasti bekerja untuk saya: Ubuntu 16.04 64-bit; zshell + tmux
Mr_Spock
1
Untuk python3.x gunakan perintah $ sudo apt-get install python3.x-dev
SolitaryReaper
184

Coba pasang paket-paket ini.

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
sumber
2
saya tidak menemukan jawaban yang masuk akal tentang mengapa kesalahan ini terjadi! mengapa kita perlu menginstal semua paket ini ... jika mungkin maka silakan jelaskan "'x86_64-linux-gnu-gcc' gagal" kepada saya
Shashank
122
Ya, salah satu dari paket ini mungkin memperbaikinya tetapi akan menyenangkan untuk mengetahui yang mana khususnya
Shane Reustle
26
build-essential dan python-dev sudah cukup dalam kasus saya.
Alfabravo
77
Diturunkan karena tidak menjawab pertanyaan. Mengapa saya harus menginstal qt4-docs untuk memperbaiki masalah ini?
Reggie
9
build-essential dan python-dev sudah cukup untuk saya
vinayrks
108

Anda perlu menginstal paket-paket ini:

sudo apt-get install libpq-dev python-dev libxml2-dev libxslt1-dev libldap2-dev libsasl2-dev libffi-dev
Kenly
sumber
2
Yang ini berhasil untuk saya. Saya memiliki semua paket python dan build dari jawaban sebelumnya, saya kehilangan paket lib * ini . TERIMA KASIH!
shadyyx
1
Bekerja di void linux.
xaos_xv
Hal ini kemungkinan besar akan bekerja pada sistem bersih, tapi dalam kasus saya semua saya hilang itu 3 paket: libldap2-dev, libpq-devdanlibsasl2-dev
Anas Tiour
Bekerja untuk Ubuntu 19.10 dengan 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

ATAU COBA INI:

$ sudo apt-get install libxml2-dev libxslt1-dev
lari
sumber
52

Untuk Python 3.4 gunakan:

sudo apt-get install python3.4-dev

Untuk Python 3.5 gunakan:

sudo apt-get install python3.5-dev

Untuk Python 3.6 gunakan:

sudo apt-get install python3.6-dev

Untuk Python 3.7 gunakan:

sudo apt-get install python3.7-dev

Untuk Python 3.8 gunakan:

sudo apt-get install python3.8-dev

... dan seterusnya ...

kame
sumber
5
Sebagai catatan, saya hanya menggunakan sudo apt-get install python3.6-devdan itu juga berfungsi.
Atau Duan
1
Bocah yang tangguh - Saya memasang semua yang disebutkan di atas pada sistem saya sampai yang satu ini akhirnya memperbaikinya untuk saya. Saya menggunakan virtualenv dengan python3.6. Terima kasih untuk itu.
SteveJ
Sempurna!! Terpecahkan!
ambigus9
1
Saya menggunakan Python3.8sudo apt-get install python3.8-dev
Elinaldo Monteiro
38

Bagi saya tidak ada yang bekerja di atas. Namun, saya memecahkan masalah dengan menginstal libssl-dev.

sudo apt-get install libssl-dev

Ini mungkin berfungsi jika Anda memiliki pesan kesalahan yang sama seperti dalam kasus saya:

fatal fatal: openssl / opensslv.h: Tidak ada file atau direktori seperti itu ... .... perintah 'x86_64-linux-gnu-gcc' gagal dengan status keluar 1

linux_fan
sumber
2
Saya juga. Jawaban yang diterima tampaknya sedikit berlebihan.
Esteban
Ini juga bekerja untuk saya tanpa harus mengunduh banyak dari jawaban yang diterima
DanMossa
1
Ini biasanya perpustakaan ini yang hilang ketika saya menginstal paket kriptografi dengan python.
Pobe
Ini juga masalah bagi saya. Saya bisa mengatakannya dari baris stdout "src / pycurl.h: 164: 28: kesalahan fatal: openssl / ssl.h: Tidak ada file atau direktori seperti itu" yang dicetak tepat sebelum baris dipertanyakan dalam posting ini "error: command 'x86_64- linux-gnu-gcc 'gagal dengan status keluar 1 "
claudod
34

Dalam kasus saya, paket libffi-dev hilang .

Apa yang berhasil:

sudo apt-get install libffi-dev
nikhil komawar
sumber
13

di ubuntu 14.04:

sudo apt-file search ffi.h 

dikembalikan:

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

Saya memilih untuk menginstal libffi-dev

sudo apt-get install libffi-dev

bekerja dengan sempurna

Evyatar Sivan
sumber
2
Tidak hanya solusi ini membantu saya memperbaiki ffi.hketergantungan saya yang hilang, tetapi juga membantu memperbaiki ketergantungan saya yang hilang. Terima kasih!
Dário
Ini sangat membantu. Saya kehilangan file yang dipanggil pcrecpp.h. Dan paket yang harus saya instal adalah libpcre3-dev.
Jeetendra Pujari
8

Dalam kasus saya piptidak dapat menginstal perpustakaan, saya mencoba solusi yang diberikan di atas, tetapi tidak ada yang berhasil tetapi di bawah ini bekerja untuk saya:

sudo apt upgrade gcc
Yunus
sumber
Biasanya ini Terjadi ketika kita tidak menggunakan lingkungan
yunus
7

Meski menjadi pertanyaan lama, saya akan menambahkan pendapat saya.

Saya pikir jawaban yang tepat tergantung pada pesan kesalahan dari kompiler gcc, sesuatu seperti "Hilang xxxx.h"

Ini mungkin membantu dalam beberapa kasus:

sudo apt-get install build-essential python-dev
pengguna2106495
sumber
5

di bawah ini bekerja untuk saya, Anda dapat mencoba:

sudo apt-get install python3-lxml
pengguna6393832
sumber
Dan untuk python2:sudo apt-get install python-lxml
Ajeet Shah
5

Kesalahan: kesalahan: perintah 'x86_64-linux-gnu-gcc' gagal dengan status keluar 1

Mengeksekusi sudo apt-get install python-devmenyelesaikan kesalahan.

Sukanya Ramamurthy
sumber
2
Atau mengeksekusi sudo apt-get install python3-dev.
ecolell
4

Menggunakan Ubuntu 14.04 LTS dengan virtualenvpython berjalan 3.5, saya harus melakukan:

sudo apt-get install python3.5-dev

Perintah lainnya:

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

Tidak membantu Saya pikir ini karena virtualenvkebutuhan untuk bergantung pada python-devpaket seluruh sistem dan harus cocok dengan virtualenvversi python. Namun, menggunakan perintah di atas menginstal python-devuntuk python 2.x dan python 3.x yang datang dengan Ubuntu 14.04 yang 3.4, bukan 3.5.

Hapus
sumber
4

Ini berfungsi untuk saya, 12.04, python2.7.6

sudo apt-get install libxml2 libxml2-dev libxslt1-dev
sudo apt-get install lxml
Jesse Yan
sumber
1
E: Unable to locate package lxml Saya mendapatkan yang berikut ini. :(
kRazzy R
@kRazzyR mencoba menjalankan sudo apt-get install python-lxmlperintah
Kushan Gunasekera
4

Ini cukup bagi saya:

sudo apt-get install build-essential
Evandro Pomatti
sumber
3

Setelah memutakhirkan komputer saya dengan pip hari ini, dan memeriksa jawaban lain di sini, saya dapat memberi tahu Anda bahwa itu bisa APA SAJA. Anda harus memeriksa kesalahan demi kesalahan, mencari perpustakaan apa yang Anda butuhkan. Dalam kasus saya, ini adalah perpustakaan yang harus saya instal:

$ 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
sumber
3

Kiat : Tolong jangan menganggap ini sebagai jawaban. Hanya untuk membantu orang lain juga.

Saya memiliki masalah serupa saat menginstal psycopg2 . Saya menginstal build-essential, python-devdan juga libpq-devtetapi itu melemparkan kesalahan yang sama.

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

Karena saya sedang terburu-buru dalam penyebaran, jadi akhirnya hanya menyalin baris penuh dari jawaban @ 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

Dan itu bekerja seperti pesona. tetapi tidak dapat menemukan paket mana yang telah menyelesaikan masalah saya. Harap perbarui komentar jika ada yang tahu tentang psycopg2paket ketergantungan dari perintah di atas.

Laxmikant
sumber
2
Saya telah memecahkan masalah psycopg2 saya dengan menginstal paket postgresql-devel pada CentOS.
Ahli Fisika
3
error: command 'x86_64-linux-gnu-gcc' failed with exit status 1

Banyak waktu saya mendapatkan kesalahan yang sama ketika menginstal M2Crypto& pygraphvizdan menginstal semua hal yang disebutkan dalam jawaban yang disetujui . Tapi baris di bawah ini menyelesaikan semua masalah saya dengan paket lain dalam jawaban yang disetujui juga.

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

swigPaket ini menyelamatkan hidup saya sebagai solusi untuk M2Cryptodan graphviz-devuntuk pygraphviz. Saya harap ini akan membantu seseorang.

Kushan Gunasekera
sumber
2

Bagi saya, saya harus memastikan saya menggunakan versi kriptografi yang benar. pip.freeze memiliki dan versi yang lebih lama dan sekali saya menggunakan yang terbaru masalah ketika pergi.

Morvis13
sumber
2

pertama Anda harus mencari tahu apa masalah sebenarnya. apa yang Anda lihat adalah bahwa kompiler C gagal tetapi Anda belum tahu mengapa. gulir ke atas ke tempat Anda mendapatkan kesalahan aslinya. dalam kasus saya, mencoba menginstal beberapa paket menggunakan pip3, saya menemukan:

    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.

jadi dalam kasus saya, saya perlu menginstal libffi-dev.

jcomeau_ictx
sumber
1
Yang pasti, kesalahan kompilator ini disajikan pada pertanyaan, sangat relatif. Kasus saya, misalnya, sama seperti milik Anda: Saya menginstal bcryptvia pip3, dan hasilnya cukup besar dan mengamati pesan pertama dari pip3 install bcrypt, saya menyadari bahwa libffi-devpaket itulah yang menyebabkan semua masalah untuk langkah selanjutnya dari proses instalasi. Diperhatikan dengan baik, teman :). Saya harap Anda tidak keberatan, jika saya memberikan beberapa sen untuk jawaban Anda, yang bagi saya, layak mendapat pertimbangan yang lebih baik. Salam.
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
sumber
1

Tidak ada jawaban di atas yang berfungsi untuk saya ketika saya memiliki masalah yang sama pada Ubuntu 14.04 saya

Namun, ini menyelesaikan kesalahan:

sudo apt-get install python-numpy libicu-dev

musicakc
sumber
Odoojangan bergantung pada python-numpy.
Kenly
Ini adalah satu-satunya solusi yang bekerja untuk saya di Ubuntu 16.04
Muhammad Hassan
1

Bagi saya itu membantu menginstal libxml2-devdan libxslt1-dev.

sudo apt-get install libxml2-dev
Primoz
sumber
1

Tumpukan saya seperti itu:

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

dalam kasus yang sama, harap pertimbangkan kesalahan ketik (bug) di salah satu file instalasi dan edit secara manual dengan mengubah "X509_REVOKED_dup" menjadi "X509_REVOKED_dupe" (tanpa tanda kutip). Saya telah mengedit file x509.h:

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

dan itu berhasil untuk saya, tetapi silakan berkonsultasi dengan posting yang tertaut di bawah ini, karena mereka mengedit file lain:

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

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

penggemar
sumber
1

Dalam kasus saya, perintah sudo apt-get install unixodbc-devmenyelesaikan masalah. Saya mendapatkan kesalahan khusus untuk file header sql.h.

Steven G
sumber
0

Untuk Centos 7 Gunakan perintah di bawah ini untuk menginstal Paket Pengembangan Python

Python 2.7

sudo yum instal python-dev

Python 3.4

sudo yum instal python34-devel

Masih jika masalah Anda tidak terpecahkan maka cobalah menginstal paket di bawah ini -

sudo yum instal libffi-devel

sudo yum install openssl-devel

Rahul Satal
sumber
0

Seperti yang dikatakan Robin Winslow dalam komentar:

Saya menemukan solusi saya di sini: stackoverflow.com/a/5178444/613540

Dalam kasus saya, pesan kesalahan lengkap saya adalah:

/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

Saya mencoba memasang kunci pas :

sudo python3 setup.py install

Dengan tautan stackoverflow yang diberikan, saya memecahkan masalah ini dengan:

sudo apt install zlib1g-dev

Perhatikan bahwa paket-paket berikut sudah diinstal:

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

Semoga itu bisa membantu!

Vetea
sumber
0

Dalam kasus saya, itu oursqlyang menyebabkan kesalahan (umum) yang sama seperti di bawah ini.

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

Jadi, saya tahu saya harus punya libmysqlcppconn-devpaket.

sudo apt-get install libmysqlcppconn-dev

Dan semuanya baik-baik saja!

Jay Modi
sumber
Pada catatan umum, saya kemudian memeriksa file setup.py dari paket oursql dan menemukan bahwa ia menggunakan mysqld dan karenanya saya menginstal sudo apt-get install libmysqld-devdan berfungsi untuk saya.
Jay Modi
solusi macOS untuk masalah instalasi oursql: askubuntu.com/questions/663919/...
Jay Modi
0

Ini Berfungsi untuk saya:

sudo apt install zlib1g-dev

Rastin
sumber