Если при компиляции у вас возникла ошибка fatal error: ffi.h, то здесь вы найдте ответ на вопрос как избавиться от этой проблемы.
Алгоритм решения этой ситуации довольно стандартный и описан в заметке «Как в Linux узнать, в каком пакете содержится файл».
Можно воспользоваться программой apt-file и найти название отсутствующего на нашей системе пакета:
root@HackWare:~# t=ffi.h; apt-file search $t | grep -E "/$t$" libffi-dev: /usr/include/x86_64-linux-gnu/ffi.h
Требуемый нам пакет — это libffi-dev.
Теперь, когда мы выяснили к какому пакету относится файл ffi.h, мы его можем установить из официальных репозиториев.
Для установки пакета libffi-dev нам нужно набрать команду:
sudo apt-get install libffi-dev
Лог ошибки компиляции, возникшей из-за отсутствия файла ffi.h:
x86_64-linux-gnu-gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -DUSE__THREAD -I/usr/include/ffi -I/usr/include/libffi -I/usr/include/python2.7 -c c/_cffi_backend.c -o build/temp.linux-x86_64-2.7/c/_cffi_backend.o c/_cffi_backend.c:13:17: fatal error: ffi.h: Нет такого файла или каталога #include <ffi.h> ^ compilation terminated. error: command 'x86_64-linux-gnu-gcc' failed with exit status 1 ---------------------------------------- Command "/home/mial/.virtualenvs/MITMf/bin/python2.7 -c "import setuptools, tokenize;__file__='/tmp/pip-build-aZzUfO/cffi/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-cPF2qr-record/install-record.txt --single-version-externally-managed --compile --install-headers /home/mial/.virtualenvs/MITMf/include/site/python2.7/cffi" failed with error code 1 in /tmp/pip-build-aZzUfO/cffi
Связанные статьи:
- Решение проблемы с ошибкой fatal error: stdlib.h: Нет такого файла или каталога (100%)
- Решение проблемы с ошибкой make: x86_64-w64-mingw32-gcc: Команда не найдена (100%)
- Решение проблемы с ошибкой ValueError: --enable-jpeg requested but jpeg not found, aborting. (100%)
- Решение проблемы с предупреждением InsecurePlatformWarning: A true SSLContext object is not available. (100%)
- Решение проблемы с ошибкой fatal error: libnfnetlink/linux_nfnetlink.h: Нет такого файла или каталога (100%)
- Решение проблемы «err:winediag:SECUR32_initNTLMSP ntlm_auth was not found or is outdated. Make sure that ntlm_auth >= 3.0.25 is in your path» (RANDOM - 50%)