성공적인 구성 후 snipped로 종료하십시오.
gclosure.c:29:17: fatal error: ffi.h: No such file or directory
compilation terminated.
libffi가 설치되어 있고 ffi.h를 찾습니다.
/home/luca/gcc4.6/gcc-4.6.0/libffi/include/ffi.h.in
/usr/include/x86_64-linux-gnu/ffi.h
/usr/share/doc/ghc-doc/html/users_guide/ffi.html
/usr/share/doc/libffi5/html/Using-libffi.html
답변
다음을 사용하는 Debian 기반 Linux OS가있는 경우 apt-get
:
sudo apt-get install libffi-dev
Redhat 기반 OS :
yum install libffi-devel
Alpine Linux 사용 :
apk add libffi-dev
답변
소스 코드에서 libffi 3.0.9를 compling 때,이 include/Makefile.in
가에 포함되어 설치됩니다 ${PREFIX}/lib/libffi-3.0.9/include directory
. 그에 대한 놀라운 이유가 있다고 확신하지만 그것에 대해 짜증이납니다.
이 줄은 libffi를 컴파일 할 때 수정합니다.
/bin/perl -pe 's#^includesdir = .*#includesdir = \@includedir\@#' -i include/Makefile.in
지금에 설치 될 포함 ${PREFIX}/include
되는, /usr/local/include
나를 위해.
내 전체 레시피는 다음과 같습니다.
cd /var/tmp
rm -rf libffi-3.0.9
untgz /usr/local/src/utils/libffi-3.0.9.tar.gz
cd libffi-3.0.9
/bin/perl -pe 's#^AM_CFLAGS = .*#AM_CFLAGS = -g#' -i Makefile.in
/bin/perl -pe 's#^includesdir = .*#includesdir = \@includedir\@#' -i include/Makefile.in
./configure --prefix=/usr/local \
--includedir=/usr/local/include
gmake
gmake install
답변
configure에서 ffi.h의 위치에 대해 LIBFFI_CFLAGS를 수동으로 설정하여 해결되었습니다.
답변
GCC 버전을 확인하고 Debian 버그 아카이브 ( http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=523869)에 다음 항목을 기록해 둡니다.
그것은 내 특정 문제에 대한 최종 해결책이었습니다. (당신이보고 한 것과 똑같이 보였지만 위의 해결책으로 해결할 수 없었습니다) … 내 문제는 LIBFFI와 전혀 관련이 없습니다.
답변
오래된 실이지만 어쨌든 …
필요한 파일을 찾을 수있는 위치에 넣은 후 제대로 작동합니다.
cp /usr/include/x86_64-linux-gnu/ffi* /usr/local/include/
cp /usr/lib/libffi.so /usr/local/lib/