ffi/ffi — Issue #165: Installing from github on Windows
Author: mphi
Created: 2011-10-20 16:56:11+00:00
State: open

I am trying to install the most up to date ffi gem from github, on a Windows XP 32 bit system, but installation fails.

Here are the steps I used:
git clone git://github.com/ffi/ffi.git
cd ffi
rake gem:install

The following error is produced:

Successfully built RubyGem
Name: ffi
Version: 1.0.10
File: ffi-1.0.10.gem
mv ffi-1.0.10.gem ../ffi-1.0.10.gem
gem.bat install --local pkg/ffi-1.0.10
Temporarily enhancing PATH to include DevKit...
Building native extensions. This could take a while...
ERROR: Error installing pkg/ffi-1.0.10:
ERROR: Failed to build gem native extension.

C:/Ruby192/bin/ruby.exe extconf.rb
checking for ffi.h... no
checking for ffi.h in /usr/local/include... no
checking for rb_thread_blocking_region()... yes
checking for ruby_thread_has_gvl_p()... yes
checking for ruby_native_thread_p()... yes
checking for rb_thread_call_with_gvl()... yes
creating extconf.h
creating Makefile

make
C:/Ruby192/bin/ruby -e "puts 'EXPORTS', 'Init_ffi_c'" > ffi_c-i386-mingw32.def
gcc -I. -IC:/Ruby192/include/ruby-1.9.1/i386-mingw32 -I/C/Ruby192/include/ruby-1
.9.1/ruby/backward -I/C/Ruby192/include/ruby-1.9.1 -I. -DRUBY_EXTCONF_H=\"extcon
f.h\" -O3 -g -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -
Wwrite-strings -Wno-missing-field-initializers -Wno-long-long -Wno-declaration-a
fter-statement -o AbstractMemory.o -c AbstractMemory.c
In file included from AbstractMemory.c:28:0:
compat.h:65:20: warning: extra tokens at end of #ifndef directive
compat.h:69:24: warning: extra tokens at end of #ifndef directive
In file included from AbstractMemory.h:29:0,
from AbstractMemory.c:29:
Types.h:68:17: fatal error: ffi.h: No such file or directory
compilation terminated.
make: *** [AbstractMemory.o] Error 1

Gem files will remain installed in C:/Ruby192/lib/ruby/gems/1.9.1/gems/ffi-1.0.1
0 for inspection.
Results logged to C:/Ruby192/lib/ruby/gems/1.9.1/gems/ffi-1.0.10/ext/ffi_c/gem_m
ake.out
rake aborted!
Command failed with status (1): [ gem.bat install --local pkg/ffi-1.0.10...]

Tasks: TOP => gem:install
(See full trace by running task with --trace)

My Ruby version is:
ruby -v
ruby 1.9.2p290 [i386-mingw32]

Any help would be appreciated.