instalar - gtk+ tutorial
Error de compilación GLib(ffi.h), pero está instalado libffi (5)
Después de una configuración exitosa, realice las salidas con recortes
gclosure.c:29:17: fatal error: ffi.h: No such file or directory
compilation terminated.
Tengo libffi instalado, y ubico ffi.h da:
/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
Al compilar libffi 3.0.9 desde el código fuente, include/Makefile.in
instala las ${PREFIX}/lib/libffi-3.0.9/include directory
. Estoy seguro de que hay una razón MARAVILLOSA para eso, pero estoy molesto por eso.
Esta línea lo soluciona al compilar libffi:
/bin/perl -pe ''s#^includesdir = .*#includesdir = /@includedir/@#'' -i include/Makefile.in
Los includes ahora se instalarán en ${PREFIX}/include
, que es /usr/local/include
para mí.
Mi receta completa es:
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
Compruebe su versión de GCC y anote esta entrada en el Debian Bug Archive: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=523869
Era la solución final a mi problema en particular (se parecía exactamente a lo que informa, pero no se pudo resolver con la solución anterior) ... mi problema no tenía nada que ver con LIBFFI en absoluto.
Se resuelve configurando manualmente LIBFFI_CFLAGS para la ubicación de ffi.h en configure
Si tienes un sistema operativo Linux basado en Debian con apt-get
:
sudo apt-get install libffi-dev
Con un sistema operativo basado en Redhat:
yum install libffi-devel
Un hilo viejo, pero de todos modos ...
Después de colocar los archivos requeridos en una ubicación donde pudieran ser encontrados, lo hice funcionar:
cp /usr/include/x86_64-linux-gnu/ffi* /usr/local/include/
cp /usr/lib/libffi.so /usr/local/lib/