Gtk GLib编译错误(ffi.h),但已安装libffi
成功配置后,使用“剪断”退出 我已安装libffi,并找到了ffi。h给出:Gtk GLib编译错误(ffi.h),但已安装libffi,gtk,glib,Gtk,Glib,成功配置后,使用“剪断”退出 我已安装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 通过在配置中手动设置ffi.h位置的LIBFFI_CF
/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
通过在配置中手动设置ffi.h位置的LIBFFI_CFLAGS来解决此问题。请检查您的GCC版本,并在Debian Bug归档中记录此条目:
这是我特定问题的最终解决方案(看起来与您报告的完全相同,但无法用上述解决方案解决)。。。我的问题与LIBFFI没有任何关系。如果您有一个基于Debian的Linux操作系统,带有
apt get
:
sudo apt-get install libffi-dev
使用Redhat基本操作系统:
yum install libffi-devel
对于Alpine Linux:
apk add libffi-dev
一根旧线,但无论如何 在将所需文件放在可以找到它们的位置后,我使其正常工作:
cp /usr/include/x86_64-linux-gnu/ffi* /usr/local/include/
cp /usr/lib/libffi.so /usr/local/lib/
从源代码编译libffi 3.0.9时,
include/Makefile.in
在${PREFIX}/lib/libffi-3.0.9/include目录中安装include。我相信这是一个很好的理由,但我对此感到恼火
这一行在编译libffi时修复了它:
/bin/perl -pe 's#^includesdir = .*#includesdir = \@includedir\@#' -i include/Makefile.in
include现在将安装在${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
您应该检查config.log以了解它对ffi的说明。也许它找不到它,但是脚本有缺陷,不会带着错误退出。它可能被新的multilib include目录弄糊涂了。还要检查是否将适当的-I开关传递给编译器。符号链接不是比副本更温和吗?或者,如果您使用的是基于Redhat的操作系统,请使用yum install libffi-develNote,如果您在64位系统上交叉编译32位glib,则需要安装libffi-dev:i386
。这对我来说并不明显
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