Subject:
[ruby-ffi] Re: cygwin troubles
From:
Jorge Vargas
Date:
10/15/13 7:05 AM
To:
ruby-ffi@googlegroups.com

I'm also having the same issue. Can somebody help us, please?

On Monday, October 14, 2013 7:10:56 PM UTC-7, Bob Myers wrote:
I have the identical problem. Any thoughts?

On Friday, September 13, 2013 10:39:19 PM UTC+5:30, Andrew Rothstein wrote:
Just installed the 64 bit cygwin and was installing ffi with gem and ran into the following problem...

gcc -shared -o ffi_c.so AbstractMemory.o ArrayType.o Buffer.o Call.o ClosurePool.o DataConverter.o DynamicLibrary.o ffi.o Function.o FunctionInfo.o LastError.o LongDouble.o MappedType.o MemoryPointer.o MethodHandle.o Platform.o Pointer.o Struct.o StructByReference.o StructByValue.o StructLayout.o Thread.o Type.o Types.o Variadic.o -L. -L/usr/lib -L.  -Wl,--export-all-symbols -Wl,--enable-auto-image-base,--enable-auto-import    "/usr/lib/ruby/gems/1.9.1/gems/ffi-1.9.0/ext/ffi_c/libffi-x86_64-cygwin"/.libs/libffi_convenience.a -lruby191  -lpthread -lrt -ldl -lcrypt
Call.o: In function `call_blocking_function':
/usr/lib/ruby/gems/1.9.1/gems/ffi-1.9.0/ext/ffi_c/Call.c:285: undefined reference to `ffi_call'
/usr/lib/ruby/gems/1.9.1/gems/ffi-1.9.0/ext/ffi_c/Call.c:285:(.text+0x94): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `ffi_call'
Call.o: In function `rbffi_CallFunction':
/usr/lib/ruby/gems/1.9.1/gems/ffi-1.9.0/ext/ffi_c/Call.c:369: undefined reference to `ffi_call'
/usr/lib/ruby/gems/1.9.1/gems/ffi-1.9.0/ext/ffi_c/Call.c:369:(.text+0xa29): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `ffi_call'
Variadic.o: In function `variadic_invoke':
/usr/lib/ruby/gems/1.9.1/gems/ffi-1.9.0/ext/ffi_c/Variadic.c:242: undefined reference to `ffi_call'
/usr/lib/ruby/gems/1.9.1/gems/ffi-1.9.0/ext/ffi_c/Variadic.c:242:(.text+0x36d): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `ffi_call'
/usr/lib/ruby/gems/1.9.1/gems/ffi-1.9.0/ext/ffi_c/libffi-x86_64-cygwin/.libs/libffi_convenience.a(prep_cif.o): In function `ffi_prep_cif':
/usr/lib/ruby/gems/1.9.1/gems/ffi-1.9.0/ext/ffi_c/libffi/src/prep_cif.c:162: undefined reference to `ffi_prep_cif_machdep'
/usr/lib/ruby/gems/1.9.1/gems/ffi-1.9.0/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'
/usr/lib/ruby/gems/1.9.1/gems/ffi-1.9.0/ext/ffi_c/libffi-x86_64-cygwin/.libs/libffi_convenience.a(prep_cif.o): In function `ffi_prep_closure':
/usr/lib/ruby/gems/1.9.1/gems/ffi-1.9.0/ext/ffi_c/libffi/src/prep_cif.c:174: undefined reference to `ffi_prep_closure_loc'
/usr/lib/ruby/gems/1.9.1/gems/ffi-1.9.0/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:214: recipe for target `ffi_c.so' failed
make: *** [ffi_c.so] Error 1

I suspect the ffi_call symbol would be defined in "/usr/lib/ruby/gems/1.9.1/gems/ffi-1.9.0/ext/ffi_c/libffi-x86_64-cygwin"/.libs/libffi_convenience.a.

$ nm /usr/lib/ruby/gems/1.9.1/gems/ffi-1.9.0/ext/ffi_c/libffi-x86_64-cygwin/.libs/libffi_convenience.a | fgrep ffi_call
00000000000001f4 t .ffi_call_win64_end
0000000000000080 T ffi_call_win64

Looks like some sort of shim has fallen out. Any suggestions?

regards, Andrew

Full output:

make -C "/usr/lib/ruby/gems/1.9.1/gems/ffi-1.9.0/ext/ffi_c/libffi-x86_64-cygwin"
make[1]: Entering directory `/usr/lib/ruby/gems/1.9.1/gems/ffi-1.9.0/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 /usr/lib/ruby/gems/1.9.1/gems/ffi-1.9.0/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/x86_64-pc-cygwin/bin/ld.exe"  "NM=/usr/bin/nm -B"  "RANLIB=ranlib"  "DESTDIR=" all-recursive
make[2]: Entering directory `/usr/lib/ruby/gems/1.9.1/gems/ffi-1.9.0/ext/ffi_c/libffi-x86_64-cygwin'
Making all in include
make[3]: Entering directory `/usr/lib/ruby/gems/1.9.1/gems/ffi-1.9.0/ext/ffi_c/libffi-x86_64-cygwin/include'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/usr/lib/ruby/gems/1.9.1/gems/ffi-1.9.0/ext/ffi_c/libffi-x86_64-cygwin/include'
Making all in testsuite
make[3]: Entering directory `/usr/lib/ruby/gems/1.9.1/gems/ffi-1.9.0/ext/ffi_c/libffi-x86_64-cygwin/testsuite'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/usr/lib/ruby/gems/1.9.1/gems/ffi-1.9.0/ext/ffi_c/libffi-x86_64-cygwin/testsuite'
Making all in man
make[3]: Entering directory `/usr/lib/ruby/gems/1.9.1/gems/ffi-1.9.0/ext/ffi_c/libffi-x86_64-cygwin/man'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/usr/lib/ruby/gems/1.9.1/gems/ffi-1.9.0/ext/ffi_c/libffi-x86_64-cygwin/man'
make[3]: Entering directory `/usr/lib/ruby/gems/1.9.1/gems/ffi-1.9.0/ext/ffi_c/libffi-x86_64-cygwin'
make[3]: Leaving directory `/usr/lib/ruby/gems/1.9.1/gems/ffi-1.9.0/ext/ffi_c/libffi-x86_64-cygwin'
make[2]: Leaving directory `/usr/lib/ruby/gems/1.9.1/gems/ffi-1.9.0/ext/ffi_c/libffi-x86_64-cygwin'
make[1]: Leaving directory `/usr/lib/ruby/gems/1.9.1/gems/ffi-1.9.0/ext/ffi_c/libffi-x86_64-cygwin'
gcc -I. -I/usr/include/ruby-1.9.1/x86_64-cygwin -I/usr/include/ruby-1.9.1/ruby/backward -I/usr/include/ruby-1.9.1 -I. -I"/usr/lib/ruby/gems/1.9.1/gems/ffi-1.9.0/ext/ffi_c/libffi-x86_64-cygwin"/include -DRUBY_EXTCONF_H=\"extconf.h\"    -ggdb -O2 -pipe   -fno-strict-aliasing   -o AbstractMemory.o -c AbstractMemory.c
gcc -I. -I/usr/include/ruby-1.9.1/x86_64-cygwin -I/usr/include/ruby-1.9.1/ruby/backward -I/usr/include/ruby-1.9.1 -I. -I"/usr/lib/ruby/gems/1.9.1/gems/ffi-1.9.0/ext/ffi_c/libffi-x86_64-cygwin"/include -DRUBY_EXTCONF_H=\"extconf.h\"    -ggdb -O2 -pipe   -fno-strict-aliasing   -o ArrayType.o -c ArrayType.c
gcc -I. -I/usr/include/ruby-1.9.1/x86_64-cygwin -I/usr/include/ruby-1.9.1/ruby/backward -I/usr/include/ruby-1.9.1 -I. -I"/usr/lib/ruby/gems/1.9.1/gems/ffi-1.9.0/ext/ffi_c/libffi-x86_64-cygwin"/include -DRUBY_EXTCONF_H=\"extconf.h\"    -ggdb -O2 -pipe   -fno-strict-aliasing   -o Buffer.o -c Buffer.c
gcc -I. -I/usr/include/ruby-1.9.1/x86_64-cygwin -I/usr/include/ruby-1.9.1/ruby/backward -I/usr/include/ruby-1.9.1 -I. -I"/usr/lib/ruby/gems/1.9.1/gems/ffi-1.9.0/ext/ffi_c/libffi-x86_64-cygwin"/include -DRUBY_EXTCONF_H=\"extconf.h\"    -ggdb -O2 -pipe   -fno-strict-aliasing   -o Call.o -c Call.c
gcc -I. -I/usr/include/ruby-1.9.1/x86_64-cygwin -I/usr/include/ruby-1.9.1/ruby/backward -I/usr/include/ruby-1.9.1 -I. -I"/usr/lib/ruby/gems/1.9.1/gems/ffi-1.9.0/ext/ffi_c/libffi-x86_64-cygwin"/include -DRUBY_EXTCONF_H=\"extconf.h\"    -ggdb -O2 -pipe   -fno-strict-aliasing   -o ClosurePool.o -c ClosurePool.c
gcc -I. -I/usr/include/ruby-1.9.1/x86_64-cygwin -I/usr/include/ruby-1.9.1/ruby/backward -I/usr/include/ruby-1.9.1 -I. -I"/usr/lib/ruby/gems/1.9.1/gems/ffi-1.9.0/ext/ffi_c/libffi-x86_64-cygwin"/include -DRUBY_EXTCONF_H=\"extconf.h\"    -ggdb -O2 -pipe   -fno-strict-aliasing   -o DataConverter.o -c DataConverter.c
gcc -I. -I/usr/include/ruby-1.9.1/x86_64-cygwin -I/usr/include/ruby-1.9.1/ruby/backward -I/usr/include/ruby-1.9.1 -I. -I"/usr/lib/ruby/gems/1.9.1/gems/ffi-1.9.0/ext/ffi_c/libffi-x86_64-cygwin"/include -DRUBY_EXTCONF_H=\"extconf.h\"    -ggdb -O2 -pipe   -fno-strict-aliasing   -o DynamicLibrary.o -c DynamicLibrary.c
gcc -I. -I/usr/include/ruby-1.9.1/x86_64-cygwin -I/usr/include/ruby-1.9.1/ruby/backward -I/usr/include/ruby-1.9.1 -I. -I"/usr/lib/ruby/gems/1.9.1/gems/ffi-1.9.0/ext/ffi_c/libffi-x86_64-cygwin"/include -DRUBY_EXTCONF_H=\"extconf.h\"    -ggdb -O2 -pipe   -fno-strict-aliasing   -o ffi.o -c ffi.c
gcc -I. -I/usr/include/ruby-1.9.1/x86_64-cygwin -I/usr/include/ruby-1.9.1/ruby/backward -I/usr/include/ruby-1.9.1 -I. -I"/usr/lib/ruby/gems/1.9.1/gems/ffi-1.9.0/ext/ffi_c/libffi-x86_64-cygwin"/include -DRUBY_EXTCONF_H=\"extconf.h\"    -ggdb -O2 -pipe   -fno-strict-aliasing   -o Function.o -c Function.c
Function.c: In function ‘callback_invoke’:
Function.c:470: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:93:14: note: expected ‘void * (*)(void *)’ but argument is of type ‘VALUE (*)(void *)’
 extern void *rb_thread_call_with_gvl(void *(*func)(void *), void *data1);
              ^
gcc -I. -I/usr/include/ruby-1.9.1/x86_64-cygwin -I/usr/include/ruby-1.9.1/ruby/backward -I/usr/include/ruby-1.9.1 -I. -I"/usr/lib/ruby/gems/1.9.1/gems/ffi-1.9.0/ext/ffi_c/libffi-x86_64-cygwin"/include -DRUBY_EXTCONF_H=\"extconf.h\"    -ggdb -O2 -pipe   -fno-strict-aliasing   -o FunctionInfo.o -c FunctionInfo.c
gcc -I. -I/usr/include/ruby-1.9.1/x86_64-cygwin -I/usr/include/ruby-1.9.1/ruby/backward -I/usr/include/ruby-1.9.1 -I. -I"/usr/lib/ruby/gems/1.9.1/gems/ffi-1.9.0/ext/ffi_c/libffi-x86_64-cygwin"/include -DRUBY_EXTCONF_H=\"extconf.h\"    -ggdb -O2 -pipe   -fno-strict-aliasing   -o LastError.o -c LastError.c
gcc -I. -I/usr/include/ruby-1.9.1/x86_64-cygwin -I/usr/include/ruby-1.9.1/ruby/backward -I/usr/include/ruby-1.9.1 -I. -I"/usr/lib/ruby/gems/1.9.1/gems/ffi-1.9.0/ext/ffi_c/libffi-x86_64-cygwin"/include -DRUBY_EXTCONF_H=\"extconf.h\"    -ggdb -O2 -pipe   -fno-strict-aliasing   -o LongDouble.o -c LongDouble.c
gcc -I. -I/usr/include/ruby-1.9.1/x86_64-cygwin -I/usr/include/ruby-1.9.1/ruby/backward -I/usr/include/ruby-1.9.1 -I. -I"/usr/lib/ruby/gems/1.9.1/gems/ffi-1.9.0/ext/ffi_c/libffi-x86_64-cygwin"/include -DRUBY_EXTCONF_H=\"extconf.h\"    -ggdb -O2 -pipe   -fno-strict-aliasing   -o MappedType.o -c MappedType.c
gcc -I. -I/usr/include/ruby-1.9.1/x86_64-cygwin -I/usr/include/ruby-1.9.1/ruby/backward -I/usr/include/ruby-1.9.1 -I. -I"/usr/lib/ruby/gems/1.9.1/gems/ffi-1.9.0/ext/ffi_c/libffi-x86_64-cygwin"/include -DRUBY_EXTCONF_H=\"extconf.h\"    -ggdb -O2 -pipe   -fno-strict-aliasing   -o MemoryPointer.o -c MemoryPointer.c
gcc -I. -I/usr/include/ruby-1.9.1/x86_64-cygwin -I/usr/include/ruby-1.9.1/ruby/backward -I/usr/include/ruby-1.9.1 -I. -I"/usr/lib/ruby/gems/1.9.1/gems/ffi-1.9.0/ext/ffi_c/libffi-x86_64-cygwin"/include -DRUBY_EXTCONF_H=\"extconf.h\"    -ggdb -O2 -pipe   -fno-strict-aliasing   -o MethodHandle.o -c MethodHandle.c
gcc -I. -I/usr/include/ruby-1.9.1/x86_64-cygwin -I/usr/include/ruby-1.9.1/ruby/backward -I/usr/include/ruby-1.9.1 -I. -I"/usr/lib/ruby/gems/1.9.1/gems/ffi-1.9.0/ext/ffi_c/libffi-x86_64-cygwin"/include -DRUBY_EXTCONF_H=\"extconf.h\"    -ggdb -O2 -pipe   -fno-strict-aliasing   -o Platform.o -c Platform.c
gcc -I. -I/usr/include/ruby-1.9.1/x86_64-cygwin -I/usr/include/ruby-1.9.1/ruby/backward -I/usr/include/ruby-1.9.1 -I. -I"/usr/lib/ruby/gems/1.9.1/gems/ffi-1.9.0/ext/ffi_c/libffi-x86_64-cygwin"/include -DRUBY_EXTCONF_H=\"extconf.h\"    -ggdb -O2 -pipe   -fno-strict-aliasing   -o Pointer.o -c Pointer.c
gcc -I. -I/usr/include/ruby-1.9.1/x86_64-cygwin -I/usr/include/ruby-1.9.1/ruby/backward -I/usr/include/ruby-1.9.1 -I. -I"/usr/lib/ruby/gems/1.9.1/gems/ffi-1.9.0/ext/ffi_c/libffi-x86_64-cygwin"/include -DRUBY_EXTCONF_H=\"extconf.h\"    -ggdb -O2 -pipe   -fno-strict-aliasing   -o Struct.o -c Struct.c
gcc -I. -I/usr/include/ruby-1.9.1/x86_64-cygwin -I/usr/include/ruby-1.9.1/ruby/backward -I/usr/include/ruby-1.9.1 -I. -I"/usr/lib/ruby/gems/1.9.1/gems/ffi-1.9.0/ext/ffi_c/libffi-x86_64-cygwin"/include -DRUBY_EXTCONF_H=\"extconf.h\"    -ggdb -O2 -pipe   -fno-strict-aliasing   -o StructByReference.o -c StructByReference.c
gcc -I. -I/usr/include/ruby-1.9.1/x86_64-cygwin -I/usr/include/ruby-1.9.1/ruby/backward -I/usr/include/ruby-1.9.1 -I. -I"/usr/lib/ruby/gems/1.9.1/gems/ffi-1.9.0/ext/ffi_c/libffi-x86_64-cygwin"/include -DRUBY_EXTCONF_H=\"extconf.h\"    -ggdb -O2 -pipe   -fno-strict-aliasing   -o StructByValue.o -c StructByValue.c
gcc -I. -I/usr/include/ruby-1.9.1/x86_64-cygwin -I/usr/include/ruby-1.9.1/ruby/backward -I/usr/include/ruby-1.9.1 -I. -I"/usr/lib/ruby/gems/1.9.1/gems/ffi-1.9.0/ext/ffi_c/libffi-x86_64-cygwin"/include -DRUBY_EXTCONF_H=\"extconf.h\"    -ggdb -O2 -pipe   -fno-strict-aliasing   -o StructLayout.o -c StructLayout.c
gcc -I. -I/usr/include/ruby-1.9.1/x86_64-cygwin -I/usr/include/ruby-1.9.1/ruby/backward -I/usr/include/ruby-1.9.1 -I. -I"/usr/lib/ruby/gems/1.9.1/gems/ffi-1.9.0/ext/ffi_c/libffi-x86_64-cygwin"/include -DRUBY_EXTCONF_H=\"extconf.h\"    -ggdb -O2 -pipe   -fno-strict-aliasing   -o Thread.o -c Thread.c
gcc -I. -I/usr/include/ruby-1.9.1/x86_64-cygwin -I/usr/include/ruby-1.9.1/ruby/backward -I/usr/include/ruby-1.9.1 -I. -I"/usr/lib/ruby/gems/1.9.1/gems/ffi-1.9.0/ext/ffi_c/libffi-x86_64-cygwin"/include -DRUBY_EXTCONF_H=\"extconf.h\"    -ggdb -O2 -pipe   -fno-strict-aliasing   -o Type.o -c Type.c
gcc -I. -I/usr/include/ruby-1.9.1/x86_64-cygwin -I/usr/include/ruby-1.9.1/ruby/backward -I/usr/include/ruby-1.9.1 -I. -I"/usr/lib/ruby/gems/1.9.1/gems/ffi-1.9.0/ext/ffi_c/libffi-x86_64-cygwin"/include -DRUBY_EXTCONF_H=\"extconf.h\"    -ggdb -O2 -pipe   -fno-strict-aliasing   -o Types.o -c Types.c
gcc -I. -I/usr/include/ruby-1.9.1/x86_64-cygwin -I/usr/include/ruby-1.9.1/ruby/backward -I/usr/include/ruby-1.9.1 -I. -I"/usr/lib/ruby/gems/1.9.1/gems/ffi-1.9.0/ext/ffi_c/libffi-x86_64-cygwin"/include -DRUBY_EXTCONF_H=\"extconf.h\"    -ggdb -O2 -pipe   -fno-strict-aliasing   -o Variadic.o -c Variadic.c
rm -f ffi_c.so
gcc -shared -o ffi_c.so AbstractMemory.o ArrayType.o Buffer.o Call.o ClosurePool.o DataConverter.o DynamicLibrary.o ffi.o Function.o FunctionInfo.o LastError.o LongDouble.o MappedType.o MemoryPointer.o MethodHandle.o Platform.o Pointer.o Struct.o StructByReference.o StructByValue.o StructLayout.o Thread.o Type.o Types.o Variadic.o -L. -L/usr/lib -L.  -Wl,--export-all-symbols -Wl,--enable-auto-image-base,--enable-auto-import    "/usr/lib/ruby/gems/1.9.1/gems/ffi-1.9.0/ext/ffi_c/libffi-x86_64-cygwin"/.libs/libffi_convenience.a -lruby191  -lpthread -lrt -ldl -lcrypt
Call.o: In function `call_blocking_function':
/usr/lib/ruby/gems/1.9.1/gems/ffi-1.9.0/ext/ffi_c/Call.c:285: undefined reference to `ffi_call'
/usr/lib/ruby/gems/1.9.1/gems/ffi-1.9.0/ext/ffi_c/Call.c:285:(.text+0x94): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `ffi_call'
Call.o: In function `rbffi_CallFunction':
/usr/lib/ruby/gems/1.9.1/gems/ffi-1.9.0/ext/ffi_c/Call.c:369: undefined reference to `ffi_call'
/usr/lib/ruby/gems/1.9.1/gems/ffi-1.9.0/ext/ffi_c/Call.c:369:(.text+0xa29): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `ffi_call'
Variadic.o: In function `variadic_invoke':
/usr/lib/ruby/gems/1.9.1/gems/ffi-1.9.0/ext/ffi_c/Variadic.c:242: undefined reference to `ffi_call'
/usr/lib/ruby/gems/1.9.1/gems/ffi-1.9.0/ext/ffi_c/Variadic.c:242:(.text+0x36d): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `ffi_call'
/usr/lib/ruby/gems/1.9.1/gems/ffi-1.9.0/ext/ffi_c/libffi-x86_64-cygwin/.libs/libffi_convenience.a(prep_cif.o): In function `ffi_prep_cif':
/usr/lib/ruby/gems/1.9.1/gems/ffi-1.9.0/ext/ffi_c/libffi/src/prep_cif.c:162: undefined reference to `ffi_prep_cif_machdep'
/usr/lib/ruby/gems/1.9.1/gems/ffi-1.9.0/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'
/usr/lib/ruby/gems/1.9.1/gems/ffi-1.9.0/ext/ffi_c/libffi-x86_64-cygwin/.libs/libffi_convenience.a(prep_cif.o): In function `ffi_prep_closure':
/usr/lib/ruby/gems/1.9.1/gems/ffi-1.9.0/ext/ffi_c/libffi/src/prep_cif.c:174: undefined reference to `ffi_prep_closure_loc'
/usr/lib/ruby/gems/1.9.1/gems/ffi-1.9.0/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:214: recipe for target `ffi_c.so' failed
make: *** [ffi_c.so] Error 1

--
 
---
You received this message because you are subscribed to the Google Groups "ruby-ffi" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ruby-ffi+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.