Erreur de compilation GLib (ffi.h), mais libffi est installé

Après une configuration réussie, effectuez des sorties avec snipped

gclosure.c:29:17: fatal error: ffi.h: No such file or directory compilation terminated. 

J’ai libffi installé et localiser ffi.h donne:

 /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 

    Si vous avez un système d’exploitation Linux basé sur Debian avec apt-get :

     sudo apt-get install libffi-dev 

    Avec un système d’exploitation Redhat-base:

     yum install libffi-devel 

    Lorsque vous utilisez libffi 3.0.9 à partir du code source, le fichier include/Makefile.in installe les include/Makefile.in dans le ${PREFIX}/lib/libffi-3.0.9/include directory . Je suis sûr qu’il y a une raison merveilleuse pour cela, mais cela m’ennuie.

    Cette ligne le corrige, lors de la compilation de libffi:

     /bin/perl -pe 's#^includesdir = .*#includesdir = \@includedir\@#' -i include/Makefile.in 

    L’ ${PREFIX}/include sera maintenant installée dans ${PREFIX}/include , qui est /usr/local/include pour moi.

    Ma recette complète est:

     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 

    Résolu en définissant manuellement LIBFFI_CFLAGS pour l’emplacement de ffi.h dans configure

    Vérifiez votre version de GCC et notez cette entrée dans l’archive Debian Bug: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=523869

    C’était la solution finale à mon problème particulier (il ressemblait exactement à ce que vous rapportez, mais ne pouvait pas être résolu avec la solution ci-dessus) … mon problème n’avait rien à voir avec LIBFFI.

    Un vieux fil, mais de toute façon …

    Après avoir mis les fichiers requirejs à un endroit où ils pourraient être trouvés, je l’ai fait fonctionner:

     cp /usr/include/x86_64-linux-gnu/ffi* /usr/local/include/ cp /usr/lib/libffi.so /usr/local/lib/