zaLinux.ru

Решение проблемы с ошибкой fatal error: ffi.h: Нет такого файла или каталога


Если при компиляции у вас возникла ошибка 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

Рекомендуемые статьи:

Оставить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *