35
votes

I tried to install "scholarly" package, but I keep receiving this error:

x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fno-strict-aliasing -Wdate-time -D_FORTIFY_SOURCE=2 -g -fstack-protector-strong -Wformat -Werror=format-security -fPIC -I/usr/include/python2.7 -c build/temp.linux-x86_64-2.7/_openssl.c -o build/temp.linux-x86_64-2.7/build/temp.linux-x86_64-2.7/_openssl.o
build/temp.linux-x86_64-2.7/_openssl.c:434:30: fatal error: openssl/opensslv.h: No such file or directory
compilation terminated.

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


Command "/usr/bin/python -u -c "import setuptools,tokenize;__file__='/tmp/pip-build-0OXGEx/cryptography/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-EdgZGB-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-build-0OXGEx/cryptography/

Already tried the solutions in the following post, but it didnt work:

pip install lxml error

4
What command are you running?jmd_dk
You are missing files from the ssl dev package: sudo apt-get update && sudo apt-get install libssl-dev to get them. There likely will be other dependencies.tdelaney
pip install scholarly @jmd_dkmsmazh
didnt work @tdelaneymsmazh

4 Answers

92
votes

I had the same problem. This one helped me:

sudo apt-get install build-essential libssl-dev libffi-dev python-dev

If you using python3, try to replace python-dev with python3-dev

4
votes

Install lib32ncurses5-dev:

sudo apt-get install lib32ncurses5-dev
2
votes

In my case the exception was:

Exception:

#include <snappy-c.h>
          ^~~~~~~~~~~~
compilation terminated.
error: command 'x86_64-linux-gnu-gcc' failed with exit
status 1

And I solved it by installing these libraries:

sudo apt-get install libsnappy-dev

pip3 install python-snappy

Here is a great explanation about the cause of the exception and how we can get rid of that.

1
votes

In a newly created python 3.6, virtual environment and trying to run my setup.py of my module, the following command solved the error,

sudo apt-get install python3.6-dev

For me the error was,

... Python.h: No such file or directory
18 | #include "Python.h"
  |          ^~~~~~~~~~
compilation terminated.
error: command 'x86_64-linux-gnu-gcc' failed with exit status 1

The remaining packages build-essential libssl-dev libffi-dev there were already installed from a previous time.