2
我需要在Cygwin 2.844版上安裝最新版本的ffi(當前爲1.9.3)gem。我已經看到像1.0.10這樣的過去版本的報告無法在Windows系統上構建,但自那以後發佈了很多版本。ffi gem無法在Cygwin上構建原生擴展
下面是完整的錯誤消息:
DL is deprecated, please use Fiddle
Building native extensions. This could take a while...
ERROR: Error installing ffi:
ERROR: Failed to build gem native extension.
/home/chris/.rubies/ruby-2.1.1/bin/ruby.exe extconf.rb
checking for ffi.h... no
checking for ffi.h in /usr/local/include,/usr/include/ffi... no
checking for rb_thread_blocking_region()... yes
checking for rb_thread_call_with_gvl()... yes
checking for rb_thread_call_without_gvl()... yes
checking for ffi_prep_cif_var()... no
creating extconf.h
creating Makefile
make "DESTDIR=" clean
make "DESTDIR="
Configuring libffi
make -C "/home/chris/.rubies/ruby-2.1.1/lib/ruby/gems/2.1.0/gems/ffi-1.9.3/ext/ffi_c/libffi-x86_64-cygwin"
make[1]: Entering directory '/home/chris/.rubies/ruby-2.1.1/lib/ruby/gems/2.1.0/gems/ffi-1.9.3/ext/ffi_c/libffi-x86_64-cygwin'
make "AR_FLAGS=" "CC_FOR_BUILD=" "CFLAGS=-Wall -fexceptions" "CXXFLAGS=" "CFLAGS_FOR_BUILD=" "CFLAGS_FOR_TARGET=" "INSTALL=/usr/bin/install -c" "INSTALL_DATA=/usr/bin/install -c -m 644" "INSTALL_PROGRAM=/usr/bin/install -c" "INSTALL_SCRIPT=/usr/bin/install -c" "JC1FLAGS=" "LDFLAGS=" "LIBCFLAGS=" "LIBCFLAGS_FOR_TARGET=" "MAKE=make" "MAKEINFO=/bin/sh /home/chris/.rubies/ruby-2.1.1/lib/ruby/gems/2.1.0/gems/ffi-1.9.3/ext/ffi_c/libffi/missing --run makeinfo " "PICFLAG=" "PICFLAG_FOR_TARGET=" "RUNTESTFLAGS=" "SHELL=/bin/sh" "exec_prefix=/usr/local" "infodir=/usr/local/share/info" "libdir=/usr/local/lib" "mandir=/usr/local/share/man" "prefix=/usr/local" "AR=ar" "AS=as" "CC=gcc" "CXX=g++" "LD=/usr/bin/ld" "NM=/usr/bin/nm -B" "RANLIB=ranlib" "DESTDIR=" all-recursive
make[2]: Entering directory '/home/chris/.rubies/ruby-2.1.1/lib/ruby/gems/2.1.0/gems/ffi-1.9.3/ext/ffi_c/libffi-x86_64-cygwin'
Making all in include
make[3]: Entering directory '/home/chris/.rubies/ruby-2.1.1/lib/ruby/gems/2.1.0/gems/ffi-1.9.3/ext/ffi_c/libffi-x86_64-cygwin/include'
make[3]: Nothing to be done for 'all'.
make[3]: Leaving directory '/home/chris/.rubies/ruby-2.1.1/lib/ruby/gems/2.1.0/gems/ffi-1.9.3/ext/ffi_c/libffi-x86_64-cygwin/include'
Making all in testsuite
make[3]: Entering directory '/home/chris/.rubies/ruby-2.1.1/lib/ruby/gems/2.1.0/gems/ffi-1.9.3/ext/ffi_c/libffi-x86_64-cygwin/testsuite'
make[3]: Nothing to be done for 'all'.
make[3]: Leaving directory '/home/chris/.rubies/ruby-2.1.1/lib/ruby/gems/2.1.0/gems/ffi-1.9.3/ext/ffi_c/libffi-x86_64-cygwin/testsuite'
Making all in man
make[3]: Entering directory '/home/chris/.rubies/ruby-2.1.1/lib/ruby/gems/2.1.0/gems/ffi-1.9.3/ext/ffi_c/libffi-x86_64-cygwin/man'
make[3]: Nothing to be done for 'all'.
make[3]: Leaving directory '/home/chris/.rubies/ruby-2.1.1/lib/ruby/gems/2.1.0/gems/ffi-1.9.3/ext/ffi_c/libffi-x86_64-cygwin/man'
make[3]: Entering directory '/home/chris/.rubies/ruby-2.1.1/lib/ruby/gems/2.1.0/gems/ffi-1.9.3/ext/ffi_c/libffi-x86_64-cygwin'
restore=: && backupdir=".am$$" && \
am__cwd=`pwd` && CDPATH="${ZSH_VERSION+.}:" && cd /home/chris/.rubies/ruby-2.1.1/lib/ruby/gems/2.1.0/gems/ffi-1.9.3/ext/ffi_c/libffi && \
rm -rf $backupdir && mkdir $backupdir && \
if (/bin/sh /home/chris/.rubies/ruby-2.1.1/lib/ruby/gems/2.1.0/gems/ffi-1.9.3/ext/ffi_c/libffi/missing --run makeinfo --version) >/dev/null 2>&1; then \
for f in /home/chris/.rubies/ruby-2.1.1/lib/ruby/gems/2.1.0/gems/ffi-1.9.3/ext/ffi_c/libffi/doc/libffi.info /home/chris/.rubies/ruby-2.1.1/lib/ruby/gems/2.1.0/gems/ffi-1.9.3/ext/ffi_c/libffi/doc/libffi.info-[0-9] /home/chris/.rubies/ruby-2.1.1/lib/ruby/gems/2.1.0/gems/ffi-1.9.3/ext/ffi_c/libffi/doc/libffi.info-[0-9][0-9] /home/chris/.rubies/ruby-2.1.1/lib/ruby/gems/2.1.0/gems/ffi-1.9.3/ext/ffi_c/libffi/doc/libffi.i[0-9] /home/chris/.rubies/ruby-2.1.1/lib/ruby/gems/2.1.0/gems/ffi-1.9.3/ext/ffi_c/libffi/doc/libffi.i[0-9][0-9]; do \
if test -f $f; then mv $f $backupdir; restore=mv; else :; fi; \
done; \
else :; fi && \
cd "$am__cwd"; \
if /bin/sh /home/chris/.rubies/ruby-2.1.1/lib/ruby/gems/2.1.0/gems/ffi-1.9.3/ext/ffi_c/libffi/missing --run makeinfo -I doc -I /home/chris/.rubies/ruby-2.1.1/lib/ruby/gems/2.1.0/gems/ffi-1.9.3/ext/ffi_c/libffi/doc \
-o /home/chris/.rubies/ruby-2.1.1/lib/ruby/gems/2.1.0/gems/ffi-1.9.3/ext/ffi_c/libffi/doc/libffi.info /home/chris/.rubies/ruby-2.1.1/lib/ruby/gems/2.1.0/gems/ffi-1.9.3/ext/ffi_c/libffi/doc/libffi.texi; \
then \
rc=0; \
CDPATH="${ZSH_VERSION+.}:" && cd /home/chris/.rubies/ruby-2.1.1/lib/ruby/gems/2.1.0/gems/ffi-1.9.3/ext/ffi_c/libffi; \
else \
rc=$?; \
CDPATH="${ZSH_VERSION+.}:" && cd /home/chris/.rubies/ruby-2.1.1/lib/ruby/gems/2.1.0/gems/ffi-1.9.3/ext/ffi_c/libffi && \
$restore $backupdir/* `echo ".//home/chris/.rubies/ruby-2.1.1/lib/ruby/gems/2.1.0/gems/ffi-1.9.3/ext/ffi_c/libffi/doc/libffi.info" | sed 's|[^/]*$||'`; \
fi; \
rm -rf $backupdir; exit $rc
/home/chris/.rubies/ruby-2.1.1/lib/ruby/gems/2.1.0/gems/ffi-1.9.3/ext/ffi_c/libffi/doc/libffi.texi:341: warning: missing name for @deftp
/bin/sh ./libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I/home/chris/.rubies/ruby-2.1.1/lib/ruby/gems/2.1.0/gems/ffi-1.9.3/ext/ffi_c/libffi -I. -I/home/chris/.rubies/ruby-2.1.1/lib/ruby/gems/2.1.0/gems/ffi-1.9.3/ext/ffi_c/libffi/include -Iinclude -I/home/chris/.rubies/ruby-2.1.1/lib/ruby/gems/2.1.0/gems/ffi-1.9.3/ext/ffi_c/libffi/src -g -Wall -fexceptions -c -o src/debug.lo /home/chris/.rubies/ruby-2.1.1/lib/ruby/gems/2.1.0/gems/ffi-1.9.3/ext/ffi_c/libffi/src/debug.c
libtool: compile: gcc -DHAVE_CONFIG_H -I. -I/home/chris/.rubies/ruby-2.1.1/lib/ruby/gems/2.1.0/gems/ffi-1.9.3/ext/ffi_c/libffi -I. -I/home/chris/.rubies/ruby-2.1.1/lib/ruby/gems/2.1.0/gems/ffi-1.9.3/ext/ffi_c/libffi/include -Iinclude -I/home/chris/.rubies/ruby-2.1.1/lib/ruby/gems/2.1.0/gems/ffi-1.9.3/ext/ffi_c/libffi/src -g -Wall -fexceptions -c /home/chris/.rubies/ruby-2.1.1/lib/ruby/gems/2.1.0/gems/ffi-1.9.3/ext/ffi_c/libffi/src/debug.c -DDLL_EXPORT -DPIC -o src/.libs/debug.o
/bin/sh ./libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I/home/chris/.rubies/ruby-2.1.1/lib/ruby/gems/2.1.0/gems/ffi-1.9.3/ext/ffi_c/libffi -I. -I/home/chris/.rubies/ruby-2.1.1/lib/ruby/gems/2.1.0/gems/ffi-1.9.3/ext/ffi_c/libffi/include -Iinclude -I/home/chris/.rubies/ruby-2.1.1/lib/ruby/gems/2.1.0/gems/ffi-1.9.3/ext/ffi_c/libffi/src -g -Wall -fexceptions -c -o src/prep_cif.lo /home/chris/.rubies/ruby-2.1.1/lib/ruby/gems/2.1.0/gems/ffi-1.9.3/ext/ffi_c/libffi/src/prep_cif.c
libtool: compile: gcc -DHAVE_CONFIG_H -I. -I/home/chris/.rubies/ruby-2.1.1/lib/ruby/gems/2.1.0/gems/ffi-1.9.3/ext/ffi_c/libffi -I. -I/home/chris/.rubies/ruby-2.1.1/lib/ruby/gems/2.1.0/gems/ffi-1.9.3/ext/ffi_c/libffi/include -Iinclude -I/home/chris/.rubies/ruby-2.1.1/lib/ruby/gems/2.1.0/gems/ffi-1.9.3/ext/ffi_c/libffi/src -g -Wall -fexceptions -c /home/chris/.rubies/ruby-2.1.1/lib/ruby/gems/2.1.0/gems/ffi-1.9.3/ext/ffi_c/libffi/src/prep_cif.c -DDLL_EXPORT -DPIC -o src/.libs/prep_cif.o
/bin/sh ./libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I/home/chris/.rubies/ruby-2.1.1/lib/ruby/gems/2.1.0/gems/ffi-1.9.3/ext/ffi_c/libffi -I. -I/home/chris/.rubies/ruby-2.1.1/lib/ruby/gems/2.1.0/gems/ffi-1.9.3/ext/ffi_c/libffi/include -Iinclude -I/home/chris/.rubies/ruby-2.1.1/lib/ruby/gems/2.1.0/gems/ffi-1.9.3/ext/ffi_c/libffi/src -g -Wall -fexceptions -c -o src/types.lo /home/chris/.rubies/ruby-2.1.1/lib/ruby/gems/2.1.0/gems/ffi-1.9.3/ext/ffi_c/libffi/src/types.c
libtool: compile: gcc -DHAVE_CONFIG_H -I. -I/home/chris/.rubies/ruby-2.1.1/lib/ruby/gems/2.1.0/gems/ffi-1.9.3/ext/ffi_c/libffi -I. -I/home/chris/.rubies/ruby-2.1.1/lib/ruby/gems/2.1.0/gems/ffi-1.9.3/ext/ffi_c/libffi/include -Iinclude -I/home/chris/.rubies/ruby-2.1.1/lib/ruby/gems/2.1.0/gems/ffi-1.9.3/ext/ffi_c/libffi/src -g -Wall -fexceptions -c /home/chris/.rubies/ruby-2.1.1/lib/ruby/gems/2.1.0/gems/ffi-1.9.3/ext/ffi_c/libffi/src/types.c -DDLL_EXPORT -DPIC -o src/.libs/types.o
/bin/sh ./libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I/home/chris/.rubies/ruby-2.1.1/lib/ruby/gems/2.1.0/gems/ffi-1.9.3/ext/ffi_c/libffi -I. -I/home/chris/.rubies/ruby-2.1.1/lib/ruby/gems/2.1.0/gems/ffi-1.9.3/ext/ffi_c/libffi/include -Iinclude -I/home/chris/.rubies/ruby-2.1.1/lib/ruby/gems/2.1.0/gems/ffi-1.9.3/ext/ffi_c/libffi/src -g -Wall -fexceptions -c -o src/raw_api.lo /home/chris/.rubies/ruby-2.1.1/lib/ruby/gems/2.1.0/gems/ffi-1.9.3/ext/ffi_c/libffi/src/raw_api.c
libtool: compile: gcc -DHAVE_CONFIG_H -I. -I/home/chris/.rubies/ruby-2.1.1/lib/ruby/gems/2.1.0/gems/ffi-1.9.3/ext/ffi_c/libffi -I. -I/home/chris/.rubies/ruby-2.1.1/lib/ruby/gems/2.1.0/gems/ffi-1.9.3/ext/ffi_c/libffi/include -Iinclude -I/home/chris/.rubies/ruby-2.1.1/lib/ruby/gems/2.1.0/gems/ffi-1.9.3/ext/ffi_c/libffi/src -g -Wall -fexceptions -c /home/chris/.rubies/ruby-2.1.1/lib/ruby/gems/2.1.0/gems/ffi-1.9.3/ext/ffi_c/libffi/src/raw_api.c -DDLL_EXPORT -DPIC -o src/.libs/raw_api.o
/bin/sh ./libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I/home/chris/.rubies/ruby-2.1.1/lib/ruby/gems/2.1.0/gems/ffi-1.9.3/ext/ffi_c/libffi -I. -I/home/chris/.rubies/ruby-2.1.1/lib/ruby/gems/2.1.0/gems/ffi-1.9.3/ext/ffi_c/libffi/include -Iinclude -I/home/chris/.rubies/ruby-2.1.1/lib/ruby/gems/2.1.0/gems/ffi-1.9.3/ext/ffi_c/libffi/src -g -Wall -fexceptions -c -o src/java_raw_api.lo /home/chris/.rubies/ruby-2.1.1/lib/ruby/gems/2.1.0/gems/ffi-1.9.3/ext/ffi_c/libffi/src/java_raw_api.c
libtool: compile: gcc -DHAVE_CONFIG_H -I. -I/home/chris/.rubies/ruby-2.1.1/lib/ruby/gems/2.1.0/gems/ffi-1.9.3/ext/ffi_c/libffi -I. -I/home/chris/.rubies/ruby-2.1.1/lib/ruby/gems/2.1.0/gems/ffi-1.9.3/ext/ffi_c/libffi/include -Iinclude -I/home/chris/.rubies/ruby-2.1.1/lib/ruby/gems/2.1.0/gems/ffi-1.9.3/ext/ffi_c/libffi/src -g -Wall -fexceptions -c /home/chris/.rubies/ruby-2.1.1/lib/ruby/gems/2.1.0/gems/ffi-1.9.3/ext/ffi_c/libffi/src/java_raw_api.c -DDLL_EXPORT -DPIC -o src/.libs/java_raw_api.o
/bin/sh ./libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I/home/chris/.rubies/ruby-2.1.1/lib/ruby/gems/2.1.0/gems/ffi-1.9.3/ext/ffi_c/libffi -I. -I/home/chris/.rubies/ruby-2.1.1/lib/ruby/gems/2.1.0/gems/ffi-1.9.3/ext/ffi_c/libffi/include -Iinclude -I/home/chris/.rubies/ruby-2.1.1/lib/ruby/gems/2.1.0/gems/ffi-1.9.3/ext/ffi_c/libffi/src -g -Wall -fexceptions -c -o src/closures.lo /home/chris/.rubies/ruby-2.1.1/lib/ruby/gems/2.1.0/gems/ffi-1.9.3/ext/ffi_c/libffi/src/closures.c
libtool: compile: gcc -DHAVE_CONFIG_H -I. -I/home/chris/.rubies/ruby-2.1.1/lib/ruby/gems/2.1.0/gems/ffi-1.9.3/ext/ffi_c/libffi -I. -I/home/chris/.rubies/ruby-2.1.1/lib/ruby/gems/2.1.0/gems/ffi-1.9.3/ext/ffi_c/libffi/include -Iinclude -I/home/chris/.rubies/ruby-2.1.1/lib/ruby/gems/2.1.0/gems/ffi-1.9.3/ext/ffi_c/libffi/src -g -Wall -fexceptions -c /home/chris/.rubies/ruby-2.1.1/lib/ruby/gems/2.1.0/gems/ffi-1.9.3/ext/ffi_c/libffi/src/closures.c -DDLL_EXPORT -DPIC -o src/.libs/closures.o
/bin/sh ./libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I/home/chris/.rubies/ruby-2.1.1/lib/ruby/gems/2.1.0/gems/ffi-1.9.3/ext/ffi_c/libffi -I. -I/home/chris/.rubies/ruby-2.1.1/lib/ruby/gems/2.1.0/gems/ffi-1.9.3/ext/ffi_c/libffi/include -Iinclude -I/home/chris/.rubies/ruby-2.1.1/lib/ruby/gems/2.1.0/gems/ffi-1.9.3/ext/ffi_c/libffi/src -g -Wall -fexceptions -c -o src/x86/ffi.lo /home/chris/.rubies/ruby-2.1.1/lib/ruby/gems/2.1.0/gems/ffi-1.9.3/ext/ffi_c/libffi/src/x86/ffi.c
libtool: compile: gcc -DHAVE_CONFIG_H -I. -I/home/chris/.rubies/ruby-2.1.1/lib/ruby/gems/2.1.0/gems/ffi-1.9.3/ext/ffi_c/libffi -I. -I/home/chris/.rubies/ruby-2.1.1/lib/ruby/gems/2.1.0/gems/ffi-1.9.3/ext/ffi_c/libffi/include -Iinclude -I/home/chris/.rubies/ruby-2.1.1/lib/ruby/gems/2.1.0/gems/ffi-1.9.3/ext/ffi_c/libffi/src -g -Wall -fexceptions -c /home/chris/.rubies/ruby-2.1.1/lib/ruby/gems/2.1.0/gems/ffi-1.9.3/ext/ffi_c/libffi/src/x86/ffi.c -DDLL_EXPORT -DPIC -o src/x86/.libs/ffi.o
/bin/sh ./libtool --mode=compile gcc -DHAVE_CONFIG_H -I. -I/home/chris/.rubies/ruby-2.1.1/lib/ruby/gems/2.1.0/gems/ffi-1.9.3/ext/ffi_c/libffi -I. -I/home/chris/.rubies/ruby-2.1.1/lib/ruby/gems/2.1.0/gems/ffi-1.9.3/ext/ffi_c/libffi/include -Iinclude -I/home/chris/.rubies/ruby-2.1.1/lib/ruby/gems/2.1.0/gems/ffi-1.9.3/ext/ffi_c/libffi/src -I. -I/home/chris/.rubies/ruby-2.1.1/lib/ruby/gems/2.1.0/gems/ffi-1.9.3/ext/ffi_c/libffi/include -Iinclude -I/home/chris/.rubies/ruby-2.1.1/lib/ruby/gems/2.1.0/gems/ffi-1.9.3/ext/ffi_c/libffi/src -c -o src/x86/win64.lo /home/chris/.rubies/ruby-2.1.1/lib/ruby/gems/2.1.0/gems/ffi-1.9.3/ext/ffi_c/libffi/src/x86/win64.S
libtool: compile: gcc -DHAVE_CONFIG_H -I. -I/home/chris/.rubies/ruby-2.1.1/lib/ruby/gems/2.1.0/gems/ffi-1.9.3/ext/ffi_c/libffi -I. -I/home/chris/.rubies/ruby-2.1.1/lib/ruby/gems/2.1.0/gems/ffi-1.9.3/ext/ffi_c/libffi/include -Iinclude -I/home/chris/.rubies/ruby-2.1.1/lib/ruby/gems/2.1.0/gems/ffi-1.9.3/ext/ffi_c/libffi/src -I. -I/home/chris/.rubies/ruby-2.1.1/lib/ruby/gems/2.1.0/gems/ffi-1.9.3/ext/ffi_c/libffi/include -Iinclude -I/home/chris/.rubies/ruby-2.1.1/lib/ruby/gems/2.1.0/gems/ffi-1.9.3/ext/ffi_c/libffi/src -c /home/chris/.rubies/ruby-2.1.1/lib/ruby/gems/2.1.0/gems/ffi-1.9.3/ext/ffi_c/libffi/src/x86/win64.S -DDLL_EXPORT -DPIC -o src/x86/.libs/win64.o
/bin/sh ./libtool --tag=CC --mode=link gcc -g -Wall -fexceptions -version-info `grep -v '^#' /home/chris/.rubies/ruby-2.1.1/lib/ruby/gems/2.1.0/gems/ffi-1.9.3/ext/ffi_c/libffi/libtool-version` -o libffi.la -rpath /usr/local/lib src/debug.lo src/prep_cif.lo src/types.lo src/raw_api.lo src/java_raw_api.lo src/closures.lo src/x86/ffi.lo src/x86/win64.lo
libtool: link: warning: undefined symbols not allowed in x86_64-unknown-cygwin shared libraries
libtool: link: ar cru .libs/libffi.a src/.libs/debug.o src/.libs/prep_cif.o src/.libs/types.o src/.libs/raw_api.o src/.libs/java_raw_api.o src/.libs/closures.o src/x86/.libs/ffi.o src/x86/.libs/win64.o
libtool: link: ranlib .libs/libffi.a
libtool: link: (cd ".libs" && rm -f "libffi.la" && ln -s "../libffi.la" "libffi.la")
/bin/sh ./libtool --tag=CC --mode=link gcc -g -Wall -fexceptions -o libffi_convenience.la src/debug.lo src/prep_cif.lo src/types.lo src/raw_api.lo src/java_raw_api.lo src/closures.lo src/x86/ffi.lo src/x86/win64.lo
libtool: link: rm -fr .libs/libffi_convenience.a(D)
libtool: link: ar cru .libs/libffi_convenience.a src/.libs/debug.o src/.libs/prep_cif.o src/.libs/types.o src/.libs/raw_api.o src/.libs/java_raw_api.o src/.libs/closures.o src/x86/.libs/ffi.o src/x86/.libs/win64.o
libtool: link: ranlib .libs/libffi_convenience.a
libtool: link: (cd ".libs" && rm -f "libffi_convenience.la" && ln -s "../libffi_convenience.la" "libffi_convenience.la")
make[3]: Leaving directory '/home/chris/.rubies/ruby-2.1.1/lib/ruby/gems/2.1.0/gems/ffi-1.9.3/ext/ffi_c/libffi-x86_64-cygwin'
make[2]: Leaving directory '/home/chris/.rubies/ruby-2.1.1/lib/ruby/gems/2.1.0/gems/ffi-1.9.3/ext/ffi_c/libffi-x86_64-cygwin'
make[1]: Leaving directory '/home/chris/.rubies/ruby-2.1.1/lib/ruby/gems/2.1.0/gems/ffi-1.9.3/ext/ffi_c/libffi-x86_64-cygwin'
compiling AbstractMemory.c
compiling ArrayType.c
compiling Buffer.c
compiling Call.c
compiling ClosurePool.c
compiling DataConverter.c
compiling DynamicLibrary.c
compiling ffi.c
compiling Function.c
Function.c: In function ‘callback_invoke’:
Function.c:479:9: warning: passing argument 1 of ‘rb_thread_call_with_gvl’ from incompatible pointer type [enabled by default]
rb_thread_call_with_gvl(callback_with_gvl, &cb);
^
Function.c:102:14: note: expected ‘void * (*)(void *)’ but argument is of type ‘VALUE (*)(void *)’
extern void *rb_thread_call_with_gvl(void *(*func)(void *), void *data1);
^
compiling FunctionInfo.c
compiling LastError.c
compiling LongDouble.c
compiling MappedType.c
compiling MemoryPointer.c
compiling MethodHandle.c
compiling Platform.c
compiling Pointer.c
compiling Struct.c
compiling StructByReference.c
compiling StructByValue.c
compiling StructLayout.c
compiling Thread.c
compiling Type.c
compiling Types.c
compiling Variadic.c
linking shared-object ffi_c.so
Call.o: In function `call_blocking_function':
/home/chris/.rubies/ruby-2.1.1/lib/ruby/gems/2.1.0/gems/ffi-1.9.3/ext/ffi_c/Call.c:294: undefined reference to `ffi_call'
/home/chris/.rubies/ruby-2.1.1/lib/ruby/gems/2.1.0/gems/ffi-1.9.3/ext/ffi_c/Call.c:294:(.text+0xa4): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `ffi_call'
Call.o: In function `rbffi_CallFunction':
/home/chris/.rubies/ruby-2.1.1/lib/ruby/gems/2.1.0/gems/ffi-1.9.3/ext/ffi_c/Call.c:378: undefined reference to `ffi_call'
/home/chris/.rubies/ruby-2.1.1/lib/ruby/gems/2.1.0/gems/ffi-1.9.3/ext/ffi_c/Call.c:378:(.text+0xa89): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `ffi_call'
Variadic.o: In function `variadic_invoke':
/home/chris/.rubies/ruby-2.1.1/lib/ruby/gems/2.1.0/gems/ffi-1.9.3/ext/ffi_c/Variadic.c:252: undefined reference to `ffi_call'
/home/chris/.rubies/ruby-2.1.1/lib/ruby/gems/2.1.0/gems/ffi-1.9.3/ext/ffi_c/Variadic.c:252:(.text+0x36d): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `ffi_call'
/home/chris/.rubies/ruby-2.1.1/lib/ruby/gems/2.1.0/gems/ffi-1.9.3/ext/ffi_c/libffi-x86_64-cygwin/.libs/libffi_convenience.a(prep_cif.o): In function `ffi_prep_cif':
/home/chris/.rubies/ruby-2.1.1/lib/ruby/gems/2.1.0/gems/ffi-1.9.3/ext/ffi_c/libffi/src/prep_cif.c:162: undefined reference to `ffi_prep_cif_machdep'
/home/chris/.rubies/ruby-2.1.1/lib/ruby/gems/2.1.0/gems/ffi-1.9.3/ext/ffi_c/libffi/src/prep_cif.c:162:(.text+0x272): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `ffi_prep_cif_machdep'
/home/chris/.rubies/ruby-2.1.1/lib/ruby/gems/2.1.0/gems/ffi-1.9.3/ext/ffi_c/libffi-x86_64-cygwin/.libs/libffi_convenience.a(prep_cif.o): In function `ffi_prep_closure':
/home/chris/.rubies/ruby-2.1.1/lib/ruby/gems/2.1.0/gems/ffi-1.9.3/ext/ffi_c/libffi/src/prep_cif.c:174: undefined reference to `ffi_prep_closure_loc'
/home/chris/.rubies/ruby-2.1.1/lib/ruby/gems/2.1.0/gems/ffi-1.9.3/ext/ffi_c/libffi/src/prep_cif.c:174:(.text+0x2b7): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `ffi_prep_closure_loc'
collect2: error: ld returned 1 exit status
Makefile:232: recipe for target 'ffi_c.so' failed
make: *** [ffi_c.so] Error 1
make failed, exit code 2
Gem files will remain installed in /home/chris/.rubies/ruby-2.1.1/lib/ruby/gems/2.1.0/gems/ffi-1.9.3 for inspection.
Results logged to /home/chris/.rubies/ruby-2.1.1/lib/ruby/gems/2.1.0/extensions/x86_64-cygwin/2.1.0/ffi-1.9.3/gem_make.out
任何人都知道一個可能的解決方案呢?我在Windows 8.1上使用Ruby 2.1.1。