If you have a Debian-based Linux OS with apt-get
:
sudo apt-get install libffi-dev
With a Redhat-base OS:
yum install libffi-devel
With Alpine Linux:
apk add libffi-dev
When compling libffi 3.0.9 from source code, the include/Makefile.in
installs the includes in the ${PREFIX}/lib/libffi-3.0.9/include directory
. I'm sure there's a WONDERFUL reason for that, but I'm annoyed by it.
This line fixes it, when compiling libffi:
/bin/perl -pe 's#^includesdir = .*#includesdir = \@includedir\@#' -i include/Makefile.in
The includes will now be installed in ${PREFIX}/include
, which is /usr/local/include
for me.
My full recipe is:
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
Resolved by manually setting LIBFFI_CFLAGS for location of ffi.h in configure
Check your GCC version and note this entry in the Debian Bug Archive: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=523869
It was the final solution to my particular issue (it looked exactly like what you report, but couldn't be solved with the solution above)... my problem had nothing to do with LIBFFI at all.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With