Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

pip cffi package installation failed on osx

Tags:

I am installing cffi package for cryptography and Jasmin installation.

I did some research before posting question, so I found following option but which is seems not working:

System

Mac OSx 10.9.5

python2.7

Error

c/_cffi_backend.c:13:10: fatal error: 'ffi.h' file not found  #include <ffi.h>           ^  1 warning and 1 error generated. 

Please guide me on following issue.

Thanks

Command

env DYLD_LIBRARY_PATH=/usr/local/opt/openssl/lib/ ARCHFLAGS="-Wno-error=unused-command-line-argument-hard-error-in-future" LDFLAGS="-L/usr/local/opt/openssl/lib" CFLAGS="-I/usr/local/opt/openssl/include" sudo -E pip install cffi

LOG

bhushanvaiude$ env DYLD_LIBRARY_PATH=/usr/local/opt/openssl/lib/ ARCHFLAGS="-Wno-error=unused-command-line-argument-hard-error-in-future" LDFLAGS="-L/usr/local/opt/openssl/lib" CFLAGS="-I/usr/local/opt/openssl/include" sudo -E pip install cffi Password: Downloading/unpacking cffi   Downloading cffi-0.8.6.tar.gz (196kB): 196kB downloaded   Running setup.py egg_info for package cffi     warning: unknown warning option '-Werror=unused-command-line-argument-hard-error-in-future'; did you mean '-Werror=unused-command-line-argument'? [-Wunknown-warning-option]     1 warning generated.      Downloading/unpacking pycparser (from cffi)   Downloading pycparser-2.10.tar.gz (206kB): 206kB downloaded   Running setup.py egg_info for package pycparser      Installing collected packages: cffi, pycparser   Running setup.py install for cffi     warning: unknown warning option '-Werror=unused-command-line-argument-hard-error-in-future'; did you mean '-Werror=unused-command-line-argument'? [-Wunknown-warning-option]     1 warning generated.     building '_cffi_backend' extension     cc -DNDEBUG -g -fwrapv -Os -Wall -Wstrict-prototypes -I/usr/local/opt/openssl/include -Qunused-arguments -pipe -Wno-error=unused-command-line-argument-hard-error-in-future -DUSE__THREAD -I@@HOMEBREW_CELLAR@@/libffi/3.0.13/lib/libffi-3.0.13/include -I/System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -c c/_cffi_backend.c -o build/temp.macosx-10.9-intel-2.7/c/_cffi_backend.o     warning: unknown warning option '-Werror=unused-command-line-argument-hard-error-in-future'; did you mean '-Werror=unused-command-line-argument'? [-Wunknown-warning-option]     c/_cffi_backend.c:13:10: fatal error: 'ffi.h' file not found     #include <ffi.h>              ^     1 warning and 1 error generated.     error: command 'cc' failed with exit status 1     Complete output from command /Users/****project path***/bin/python -c "import setuptools;__file__='/Users/****project path***/build/cffi/setup.py';exec(compile(open(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /var/folders/7w/8z_mn3g120n34bv0w780gnd00000gn/T/pip-e6d6Ay-record/install-record.txt --single-version-externally-managed --install-headers /Users/****project path***/include/site/python2.7:     warning: unknown warning option '-Werror=unused-command-line-argument-hard-error-in-future'; did you mean '-Werror=unused-command-line-argument'? [-Wunknown-warning-option]  1 warning generated.  running install  running build  running build_py  creating build  creating build/lib.macosx-10.9-intel-2.7  creating build/lib.macosx-10.9-intel-2.7/cffi  copying cffi/__init__.py -> build/lib.macosx-10.9-intel-2.7/cffi  copying cffi/api.py -> build/lib.macosx-10.9-intel-2.7/cffi  copying cffi/backend_ctypes.py -> build/lib.macosx-10.9-intel-2.7/cffi  copying cffi/commontypes.py -> build/lib.macosx-10.9-intel-2.7/cffi  copying cffi/cparser.py -> build/lib.macosx-10.9-intel-2.7/cffi  copying cffi/ffiplatform.py -> build/lib.macosx-10.9-intel-2.7/cffi  copying cffi/gc_weakref.py -> build/lib.macosx-10.9-intel-2.7/cffi  copying cffi/lock.py -> build/lib.macosx-10.9-intel-2.7/cffi  copying cffi/model.py -> build/lib.macosx-10.9-intel-2.7/cffi  copying cffi/vengine_cpy.py -> build/lib.macosx-10.9-intel-2.7/cffi  copying cffi/vengine_gen.py -> build/lib.macosx-10.9-intel-2.7/cffi  copying cffi/verifier.py -> build/lib.macosx-10.9-intel-2.7/cffi  running build_ext  building '_cffi_backend' extension  creating build/temp.macosx-10.9-intel-2.7  creating build/temp.macosx-10.9-intel-2.7/c  cc -DNDEBUG -g -fwrapv -Os -Wall -Wstrict-prototypes -I/usr/local/opt/openssl/include -Qunused-arguments -pipe -Wno-error=unused-command-line-argument-hard-error-in-future -DUSE__THREAD -I@@HOMEBREW_CELLAR@@/libffi/3.0.13/lib/libffi-3.0.13/include -I/System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -c c/_cffi_backend.c -o build/temp.macosx-10.9-intel-2.7/c/_cffi_backend.o  warning: unknown warning option '-Werror=unused-command-line-argument-hard-error-in-future'; did you mean '-Werror=unused-command-line-argument'? [-Wunknown-warning-option]  c/_cffi_backend.c:13:10: fatal error: 'ffi.h' file not found  #include <ffi.h>           ^  1 warning and 1 error generated.  error: command 'cc' failed with exit status 1  ---------------------------------------- Cleaning up... 
like image 601
bhushya Avatar asked Jan 02 '15 09:01

bhushya


2 Answers

In your terminal try and run:

xcode-select --install 

After that try installing the package again.

By default, XCode installs itself as the IDE and does not set up the environment for the use by command line tools; for example, the /usr/include folder will be missing.

Running the above command will install the tools necessary to run compilation from the command line and create the required symbolic links. Since Python packages compile native code parts using the command-line interface of XCode, this step is required to install Python packages that include native components.

You only need to do this once per XCode install/upgrade, or if you see a similar error.

like image 153
Yariv Katz Avatar answered Oct 04 '22 05:10

Yariv Katz


Install CLI development toolchain with

$ xcode-select --install 

If you have a broken pkg-config, unlink it with following command as mentioned in comments.

$ brew unlink pkg-config 

Install libffi package

$ brew install pkg-config libffi 

and then install cffi

$ pip install cffi 

Source: Error installing bcrypt with pip on OS X: can't find ffi.h (libffi is installed)

like image 24
Pandikunta Anand Reddy Avatar answered Oct 04 '22 06:10

Pandikunta Anand Reddy