[gtk] GLib 컴파일 오류 (ffi.h), libffi가 설치됨

성공적인 구성 후 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/


답변