526

When I try to install odoo-server, I got the following error:

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

Could anyone help me to solve this issue?

3
  • 9
    Sometimes it's the line above this error you should look at. It should tell you what package is missing. Commented Feb 22, 2018 at 17:01
  • The most frustrating thing is that it hides the actual error message. Commented Apr 12, 2021 at 13:54
  • If you have received this error message while trying to install Odoo, Kenly's answer is the most applicable. Otherwise, consider for a Q&A more specific to the package that you are trying to install, and the object that GCC is unable to locate. Commented Jan 12, 2023 at 12:04

38 Answers 38

647

I encountered the same problem in college having installed Linux Mint for the main project of my final year, the third solution below worked for me.

When encountering this error please note before the error it may say you are missing a package or header file — you should find those and install them and verify if it works (e.g. ssl → libssl).

For Python 2.x use:

sudo apt-get install python-dev

For Python 2.7 use:

sudo apt-get install libffi-dev

For Python 3.x use:

sudo apt-get install python3-dev

or for a specific version of Python 3, replace x with the minor version in

sudo apt-get install python3.x-dev
Sign up to request clarification or add additional context in comments.

23 Comments

Helped for python 3
sudo apt-get install python3.6-dev solved for me . because i updated to 3.6
I use additionally apt-get install build-essential to solve my problem.
I had already installed python3.x-dev but still had problems, but Samuel's suggestion of sudo apt-get install build-essential worked perfectly
sudo apt-get install python3.9-dev works like a charm :)
|
295

Python.h is nothing but a header file. It is used by gcc to build applications. You need to install a package called python-dev. This package includes header files, a static library and development tools for building Python modules, extending the Python interpreter or embedding Python in applications.

enter:

$ sudo apt-get install python-dev

or

# apt-get install python-dev

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

10 Comments

This did not solve the problem for me: Reading state information... Done python-dev is already the newest version.
@SummerSun If you're using python3, you should use: $sudo apt-get install python3-dev or $ sudo apt-get install python3.4-dev
@antoinet but i am using python 2.7.4... I have solved this long ago but i don't remember any specific solution
For python3.x use the command $sudo apt-get install python3.x-dev
if you are using ubuntu, you also need to install build-essential. check this answer: stackoverflow.com/a/54534118/3453776
|
206

Try installing these packages.

sudo apt-get install build-essential autoconf libtool pkg-config python-opengl python-pil 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

21 Comments

i didn't found any reasonable answer about why this error happen! why we need to install all these packages...if possible then kindly explain "'x86_64-linux-gnu-gcc' failed" to me
Yeah, one of these packages might fix it but it would be nice to know which one particularly
build-essential and python-dev were enough in my case.
Downvoted for not answering the question. Why do I have to install qt4-docs to fix this problem?
build-essential and python-dev is enough for my
|
148

You need to install these packages:

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

9 Comments

This one worked for me. I had all python and build packages from previous answers, I was missing these lib* packages. THANKS!
Worked on void linux.
This will most likely work on clean systems, but in my case all I was missing was the 3 packages: libldap2-dev, libpq-dev and libsasl2-dev
Worked for Ubuntu 19.10 with Python 3.7
This worked for me. Ubuntu 18.04, Python 3.9.6.
|
93

For Python 3.7 use:

sudo apt-get install python3.7-dev

For Python 3.8 use:

sudo apt-get install python3.8-dev

... and so on ...

5 Comments

As a side note, I just used sudo apt-get install python3.6-dev and it also worked.
Boy that was tough -- I installed everything mentioned above on my system until this one finally fixed it for me. I'm using a virtualenv with python3.6. Thank you for that.
Perfect!! Solved!
I'm using the Python3.8 sudo apt-get install python3.8-dev
With every new version of python I land here again :-)
74
$ 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

OR TRY THIS:

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

Comments

41

For me none of above worked. However, I solved problem with installing libssl-dev.

sudo apt-get install libssl-dev

This might work if you have same error message as in my case:

fatal error: openssl/opensslv.h: No such file or directory ... .... command 'x86_64-linux-gnu-gcc' failed with exit status 1

4 Comments

Me too. The accepted answer seems a little excessive.
This worked for me as well without having to download a bunch from the accepted answer
This is usually this library that is missing when I install cryptography package in python.
This was the issue for me too. I could tell it from the stdout line "src/pycurl.h:164:28: fatal error: openssl/ssl.h: No such file or directory" printed just before the line questioned in this post "error: command 'x86_64-linux-gnu-gcc' failed with exit status 1"
39

In my case, it was missing package libffi-dev.

What worked:

sudo apt-get install libffi-dev

Comments

32

In my case following command did the magic

sudo apt-get install gcc python3-dev

if the above command didn't work try following two commands

sudo apt-get install gcc python-dev
  1. this is the case when you want it to install for the python version set as default python in your machine.

Or

sudo apt-get install gcc python3.x-dev
  1. where python3.x represent the version number of python installed on your machine.

2 Comments

python3.7-dev package helped me. All the others not really. Only after I installed this one it worked.
i love u it was gcc for me and python3-dev :)
18

on ubuntu 14.04:

sudo apt-file search ffi.h 

returned:

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

I chose to install libffi-dev

sudo apt-get install libffi-dev

worked perfectly

2 Comments

Not only this solution helped me fix my ffi.h missing dependency but also helped fixing other missing dependencies. Thanks!
This really helped. I was missing file called pcrecpp.h. And the package I had to install was libpcre3-dev.
17

In my case pip was unable to install libraries, I tried solutions given above, but none worked but the below worked for me:

sudo apt upgrade gcc

1 Comment

Usually this Happens when we dont use environment
12

Despite being an old question, I'll add my opinion.

I think the right answer depends on the error message of the gcc compiler, something like "Missing xxxx.h"

This might help in some cases:

sudo apt-get install build-essential python-dev

Comments

9

This was enough for me:

sudo apt-get install build-essential

Comments

6

In Linux Mint with python3

$ sudo apt install build-essential python3-dev

should be enough

Comments

5

below answer worked for me, you can try:

sudo apt-get install python3-lxml

1 Comment

And for python2:sudo apt-get install python-lxml
5

Using Ubuntu 14.04 LTS with a virtualenv running python 3.5, I had to do:

sudo apt-get install python3.5-dev

The other commands:

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

Did not help. I think this is because the virtualenv needs to rely on the system-wide python-dev package and it must match the virtualenv's python version. However, using the above commands installs python-dev for python 2.x and the python 3.x that comes with Ubuntu 14.04 which is 3.4, not 3.5.

Comments

5

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

Executing sudo apt-get install python-dev solved the error.

1 Comment

Or executing sudo apt-get install python3-dev.
4

After upgrade my computer with pip today, and check the other answers here, I can tell you that it could be ANYTHING. You should check error by error, looking for what's the specific library that you need. In my case, these were the libraries that I had to install:

$ 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

Comments

4

first you need to find out what the actual problem was. what you're seeing is that the C compiler failed but you don't yet know why. scroll up to where you get the original error. in my case, trying to install some packages using pip3, I found:

    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.

so in my case I needed to install libffi-dev.

1 Comment

For sure, this compiler error presented on the question, is very relative. My case, for example, was just like yours: I was installing bcrypt via pip3, and the output was quite huge and observing the first messages from pip3 install bcrypt, I realized that libffi-dev was the package which was causing all the trouble for the next steps of the installation process. Well observed, friend :). I hope you don't my mind, if I give some cents to your answer, which for me, deserves a better consideration. Regards.
4

This works for me, 12.04, python2.7.6

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

2 Comments

E: Unable to locate package lxml I get the following. :(
@kRazzyR try to run sudo apt-get install python-lxml command
4

In my case the command sudo apt-get install unixodbc-dev resolved the issue. I was getting an error specific to the sql.h header file.

3 Comments

This was the same issue I was facing i.e. "an error specific to the sql.h header file" and this solution worked!
Yes i had the same issue , this worked fine for me
Yep that was the only thing I needed too!
3

Tip: Please do not consider this as an answer. Just to help someone else too.

I had similar issue while installing psycopg2. I installedbuild-essential, python-dev and also libpq-dev but it thrown same error.

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

As I was in hurry in deployment so finally just copied full line from @user3440631's answer.

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

And It worked like a charm. but could not find which package has resolved my issue. Please update the comment if anyone have idea about psycopg2 dependancy package from above command.

1 Comment

I have solved my psycopg2 problem by installing postgresql-devel package on CentOS.
3
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

Comments

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

Lot of time I got the same error when installing M2Crypto & pygraphviz and installed all the things mention in the approved answer. But this below line solved all my problems with the other packages in approved answer too.

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

This swig package saved my life as the solution for M2Crypto and graphviz-dev for pygraphviz. I hope this will help someone.

Comments

3

For python3:

sudo apt-get install python3-dev \
     build-essential libssl-dev libffi-dev \
     libxml2-dev libxslt1-dev zlib1g-dev \
     python3-pip

For Python2:

sudo apt-get install python2-dev  \
     build-essential libssl-dev libffi-dev \
     libxml2-dev libxslt1-dev zlib1g-dev \
     python2-pip

Comments

2

For me I had to make sure I was using the correct version of cryptography. pip.freeze had and older version and once I used the latest the problem when away.

Comments

2

For Centos 7 Use below command to install Python Development Package

Python 2.7

sudo yum install python-dev

Python 3.4

sudo yum install python34-devel

Still if your problem not solved then try installing below packages -

sudo yum install libffi-devel

sudo yum install openssl-devel

Comments

2

TL;DR: run the below command

sudo apt-get install python2-dev gcc

I had this problem when trying to pip install a module for python2.7.

Lots of answers mention that a fix for this is sudo apt-get install python-dev. However, this did not work for me, as the package was not found. However, the command shown at the top of this comment exists, and I was finally able to pip install the module.

1 Comment

For Python 3 substitute the number and it works too,
1

None of the above answers worked for me when I had the same issue on my Ubuntu 14.04

However, this solved the error:

sudo apt-get install python-numpy libicu-dev

2 Comments

Odoo don't depend on python-numpy.
This is the only solution worked for me in Ubuntu 16.04
1

For me it helped to install libxml2-dev and libxslt1-dev.

sudo apt-get install libxml2-dev

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.