package configuration for libffi is not found have_header: checking for ffi.h... -------------------- no "xcrun cc -o conftest -I/Users/tmaher/.rbenv/versions/2.2.3/include/ruby-2.2.0/universal-darwin15 -I/Users/tmaher/.rbenv/versions/2.2.3/include/ruby-2.2.0/ruby/backward -I/Users/tmaher/.rbenv/versions/2.2.3/include/ruby-2.2.0 -I. -I/Users/tmaher/.rbenv/versions/2.2.3/include -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_DARWIN_UNLIMITED_SELECT -D_REENTRANT -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wunused-variable -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wshorten-64-to-32 -Wimplicit-function-declaration -Wdivision-by-zero -Wdeprecated-declarations -Wextra-tokens -pipe conftest.c -L. -L/Users/tmaher/.rbenv/versions/2.2.3/lib -L. -L/Users/tmaher/.rbenv/versions/2.2.3/lib -fstack-protector -arch x86_64 -arch i386 -lruby-static -framework CoreFoundation -lpthread -ldl -lobjc " checked program was: /* begin */ 1: #include "ruby.h" 2: 3: int main(int argc, char **argv) 4: { 5: return 0; 6: } /* end */ "xcrun cc -I/Users/tmaher/.rbenv/versions/2.2.3/include/ruby-2.2.0/universal-darwin15 -I/Users/tmaher/.rbenv/versions/2.2.3/include/ruby-2.2.0/ruby/backward -I/Users/tmaher/.rbenv/versions/2.2.3/include/ruby-2.2.0 -I. -I/Users/tmaher/.rbenv/versions/2.2.3/include -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_DARWIN_UNLIMITED_SELECT -D_REENTRANT -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wunused-variable -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wshorten-64-to-32 -Wimplicit-function-declaration -Wdivision-by-zero -Wdeprecated-declarations -Wextra-tokens -pipe -arch x86_64 -arch i386 -c conftest.c" conftest.c:3:10: fatal error: 'ffi.h' file not found #include ^ 1 error generated. checked program was: /* begin */ 1: #include "ruby.h" 2: 3: #include /* end */ -------------------- find_header: checking for ffi.h in /usr/local/include,/usr/include/ffi... -------------------- yes "xcrun cc -I/Users/tmaher/.rbenv/versions/2.2.3/include/ruby-2.2.0/universal-darwin15 -I/Users/tmaher/.rbenv/versions/2.2.3/include/ruby-2.2.0/ruby/backward -I/Users/tmaher/.rbenv/versions/2.2.3/include/ruby-2.2.0 -I. -I/Users/tmaher/.rbenv/versions/2.2.3/include -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_DARWIN_UNLIMITED_SELECT -D_REENTRANT -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wunused-variable -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wshorten-64-to-32 -Wimplicit-function-declaration -Wdivision-by-zero -Wdeprecated-declarations -Wextra-tokens -pipe -arch x86_64 -arch i386 -c conftest.c" conftest.c:3:10: fatal error: 'ffi.h' file not found #include ^ 1 error generated. checked program was: /* begin */ 1: #include "ruby.h" 2: 3: #include /* end */ "xcrun cc -I/Users/tmaher/.rbenv/versions/2.2.3/include/ruby-2.2.0/universal-darwin15 -I/Users/tmaher/.rbenv/versions/2.2.3/include/ruby-2.2.0/ruby/backward -I/Users/tmaher/.rbenv/versions/2.2.3/include/ruby-2.2.0 -I. -I/Users/tmaher/.rbenv/versions/2.2.3/include -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_DARWIN_UNLIMITED_SELECT -D_REENTRANT -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wunused-variable -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wshorten-64-to-32 -Wimplicit-function-declaration -Wdivision-by-zero -Wdeprecated-declarations -Wextra-tokens -pipe -arch x86_64 -arch i386 -I/usr/local/include -c conftest.c" conftest.c:3:10: fatal error: 'ffi.h' file not found #include ^ 1 error generated. checked program was: /* begin */ 1: #include "ruby.h" 2: 3: #include /* end */ "xcrun cc -I/Users/tmaher/.rbenv/versions/2.2.3/include/ruby-2.2.0/universal-darwin15 -I/Users/tmaher/.rbenv/versions/2.2.3/include/ruby-2.2.0/ruby/backward -I/Users/tmaher/.rbenv/versions/2.2.3/include/ruby-2.2.0 -I. -I/Users/tmaher/.rbenv/versions/2.2.3/include -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_DARWIN_UNLIMITED_SELECT -D_REENTRANT -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wunused-variable -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wshorten-64-to-32 -Wimplicit-function-declaration -Wdivision-by-zero -Wdeprecated-declarations -Wextra-tokens -pipe -arch x86_64 -arch i386 -I/usr/include/ffi -c conftest.c" checked program was: /* begin */ 1: #include "ruby.h" 2: 3: #include /* end */ -------------------- have_library: checking for ffi_call() in -lffi... -------------------- yes "xcrun cc -o conftest -I/Users/tmaher/.rbenv/versions/2.2.3/include/ruby-2.2.0/universal-darwin15 -I/Users/tmaher/.rbenv/versions/2.2.3/include/ruby-2.2.0/ruby/backward -I/Users/tmaher/.rbenv/versions/2.2.3/include/ruby-2.2.0 -I. -I/usr/include/ffi -I/Users/tmaher/.rbenv/versions/2.2.3/include -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_DARWIN_UNLIMITED_SELECT -D_REENTRANT -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wunused-variable -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wshorten-64-to-32 -Wimplicit-function-declaration -Wdivision-by-zero -Wdeprecated-declarations -Wextra-tokens -pipe conftest.c -L. -L/Users/tmaher/.rbenv/versions/2.2.3/lib -L. -L/Users/tmaher/.rbenv/versions/2.2.3/lib -fstack-protector -arch x86_64 -arch i386 -lruby-static -framework CoreFoundation -lffi -lpthread -ldl -lobjc " checked program was: /* begin */ 1: #include "ruby.h" 2: 3: #include 4: 5: /*top*/ 6: extern int t(void); 7: int main(int argc, char **argv) 8: { 9: if (argc > 1000000) { 10: printf("%p", &t); 11: } 12: 13: return 0; 14: } 15: int t(void) { void ((*volatile p)()); p = (void ((*)()))ffi_call; return 0; } /* end */ -------------------- have_func: checking for ffi_prep_closure()... -------------------- yes "xcrun cc -o conftest -I/Users/tmaher/.rbenv/versions/2.2.3/include/ruby-2.2.0/universal-darwin15 -I/Users/tmaher/.rbenv/versions/2.2.3/include/ruby-2.2.0/ruby/backward -I/Users/tmaher/.rbenv/versions/2.2.3/include/ruby-2.2.0 -I. -I/usr/include/ffi -I/Users/tmaher/.rbenv/versions/2.2.3/include -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_DARWIN_UNLIMITED_SELECT -D_REENTRANT -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wunused-variable -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wshorten-64-to-32 -Wimplicit-function-declaration -Wdivision-by-zero -Wdeprecated-declarations -Wextra-tokens -pipe conftest.c -L. -L/Users/tmaher/.rbenv/versions/2.2.3/lib -L. -L/Users/tmaher/.rbenv/versions/2.2.3/lib -fstack-protector -arch x86_64 -arch i386 -lffi -lruby-static -framework CoreFoundation -lffi -lpthread -ldl -lobjc " conftest.c:13:57: error: use of undeclared identifier 'ffi_prep_closure' int t(void) { void ((*volatile p)()); p = (void ((*)()))ffi_prep_closure; return 0; } ^ 1 error generated. checked program was: /* begin */ 1: #include "ruby.h" 2: 3: /*top*/ 4: extern int t(void); 5: int main(int argc, char **argv) 6: { 7: if (argc > 1000000) { 8: printf("%p", &t); 9: } 10: 11: return 0; 12: } 13: int t(void) { void ((*volatile p)()); p = (void ((*)()))ffi_prep_closure; return 0; } /* end */ "xcrun cc -o conftest -I/Users/tmaher/.rbenv/versions/2.2.3/include/ruby-2.2.0/universal-darwin15 -I/Users/tmaher/.rbenv/versions/2.2.3/include/ruby-2.2.0/ruby/backward -I/Users/tmaher/.rbenv/versions/2.2.3/include/ruby-2.2.0 -I. -I/usr/include/ffi -I/Users/tmaher/.rbenv/versions/2.2.3/include -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_DARWIN_UNLIMITED_SELECT -D_REENTRANT -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wunused-variable -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wshorten-64-to-32 -Wimplicit-function-declaration -Wdivision-by-zero -Wdeprecated-declarations -Wextra-tokens -pipe conftest.c -L. -L/Users/tmaher/.rbenv/versions/2.2.3/lib -L. -L/Users/tmaher/.rbenv/versions/2.2.3/lib -fstack-protector -arch x86_64 -arch i386 -lffi -lruby-static -framework CoreFoundation -lffi -lpthread -ldl -lobjc " conftest.c:13:15: warning: implicit declaration of function 'ffi_prep_closure' is invalid in C99 [-Wimplicit-function-declaration] int t(void) { ffi_prep_closure(); return 0; } ^ 1 warning generated. conftest.c:13:15: warning: implicit declaration of function 'ffi_prep_closure' is invalid in C99 [-Wimplicit-function-declaration] int t(void) { ffi_prep_closure(); return 0; } ^ 1 warning generated. checked program was: /* begin */ 1: #include "ruby.h" 2: 3: /*top*/ 4: extern int t(void); 5: int main(int argc, char **argv) 6: { 7: if (argc > 1000000) { 8: printf("%p", &t); 9: } 10: 11: return 0; 12: } 13: int t(void) { ffi_prep_closure(); return 0; } /* end */ -------------------- have_func: checking for ffi_raw_call()... -------------------- no "xcrun cc -o conftest -I/Users/tmaher/.rbenv/versions/2.2.3/include/ruby-2.2.0/universal-darwin15 -I/Users/tmaher/.rbenv/versions/2.2.3/include/ruby-2.2.0/ruby/backward -I/Users/tmaher/.rbenv/versions/2.2.3/include/ruby-2.2.0 -I. -I/usr/include/ffi -I/Users/tmaher/.rbenv/versions/2.2.3/include -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_DARWIN_UNLIMITED_SELECT -D_REENTRANT -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wunused-variable -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wshorten-64-to-32 -Wimplicit-function-declaration -Wdivision-by-zero -Wdeprecated-declarations -Wextra-tokens -pipe conftest.c -L. -L/Users/tmaher/.rbenv/versions/2.2.3/lib -L. -L/Users/tmaher/.rbenv/versions/2.2.3/lib -fstack-protector -arch x86_64 -arch i386 -lffi -lruby-static -framework CoreFoundation -lffi -lpthread -ldl -lobjc " conftest.c:13:57: error: use of undeclared identifier 'ffi_raw_call' int t(void) { void ((*volatile p)()); p = (void ((*)()))ffi_raw_call; return 0; } ^ 1 error generated. checked program was: /* begin */ 1: #include "ruby.h" 2: 3: /*top*/ 4: extern int t(void); 5: int main(int argc, char **argv) 6: { 7: if (argc > 1000000) { 8: printf("%p", &t); 9: } 10: 11: return 0; 12: } 13: int t(void) { void ((*volatile p)()); p = (void ((*)()))ffi_raw_call; return 0; } /* end */ "xcrun cc -o conftest -I/Users/tmaher/.rbenv/versions/2.2.3/include/ruby-2.2.0/universal-darwin15 -I/Users/tmaher/.rbenv/versions/2.2.3/include/ruby-2.2.0/ruby/backward -I/Users/tmaher/.rbenv/versions/2.2.3/include/ruby-2.2.0 -I. -I/usr/include/ffi -I/Users/tmaher/.rbenv/versions/2.2.3/include -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_DARWIN_UNLIMITED_SELECT -D_REENTRANT -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wunused-variable -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wshorten-64-to-32 -Wimplicit-function-declaration -Wdivision-by-zero -Wdeprecated-declarations -Wextra-tokens -pipe conftest.c -L. -L/Users/tmaher/.rbenv/versions/2.2.3/lib -L. -L/Users/tmaher/.rbenv/versions/2.2.3/lib -fstack-protector -arch x86_64 -arch i386 -lffi -lruby-static -framework CoreFoundation -lffi -lpthread -ldl -lobjc " conftest.c:13:15: warning: implicit declaration of function 'ffi_raw_call' is invalid in C99 [-Wimplicit-function-declaration] int t(void) { ffi_raw_call(); return 0; } ^ 1 warning generated. Undefined symbols for architecture x86_64: "_ffi_raw_call", referenced from: _t in conftest-27cd37.o ld: symbol(s) not found for architecture x86_64 conftest.c:13:15: warning: implicit declaration of function 'ffi_raw_call' is invalid in C99 [-Wimplicit-function-declaration] int t(void) { ffi_raw_call(); return 0; } ^ 1 warning generated. clang: error: linker command failed with exit code 1 (use -v to see invocation) checked program was: /* begin */ 1: #include "ruby.h" 2: 3: /*top*/ 4: extern int t(void); 5: int main(int argc, char **argv) 6: { 7: if (argc > 1000000) { 8: printf("%p", &t); 9: } 10: 11: return 0; 12: } 13: int t(void) { ffi_raw_call(); return 0; } /* end */ -------------------- have_func: checking for rb_thread_blocking_region()... -------------------- no "xcrun cc -o conftest -I/Users/tmaher/.rbenv/versions/2.2.3/include/ruby-2.2.0/universal-darwin15 -I/Users/tmaher/.rbenv/versions/2.2.3/include/ruby-2.2.0/ruby/backward -I/Users/tmaher/.rbenv/versions/2.2.3/include/ruby-2.2.0 -I. -I/usr/include/ffi -I/Users/tmaher/.rbenv/versions/2.2.3/include -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_DARWIN_UNLIMITED_SELECT -D_REENTRANT -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wunused-variable -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wshorten-64-to-32 -Wimplicit-function-declaration -Wdivision-by-zero -Wdeprecated-declarations -Wextra-tokens -pipe conftest.c -L. -L/Users/tmaher/.rbenv/versions/2.2.3/lib -L. -L/Users/tmaher/.rbenv/versions/2.2.3/lib -fstack-protector -arch x86_64 -arch i386 -lffi -lruby-static -framework CoreFoundation -lffi -lpthread -ldl -lobjc " conftest.c:13:57: error: use of undeclared identifier 'rb_thread_blocking_region' int t(void) { void ((*volatile p)()); p = (void ((*)()))rb_thread_blocking_region; return 0; } ^ 1 error generated. checked program was: /* begin */ 1: #include "ruby.h" 2: 3: /*top*/ 4: extern int t(void); 5: int main(int argc, char **argv) 6: { 7: if (argc > 1000000) { 8: printf("%p", &t); 9: } 10: 11: return 0; 12: } 13: int t(void) { void ((*volatile p)()); p = (void ((*)()))rb_thread_blocking_region; return 0; } /* end */ "xcrun cc -o conftest -I/Users/tmaher/.rbenv/versions/2.2.3/include/ruby-2.2.0/universal-darwin15 -I/Users/tmaher/.rbenv/versions/2.2.3/include/ruby-2.2.0/ruby/backward -I/Users/tmaher/.rbenv/versions/2.2.3/include/ruby-2.2.0 -I. -I/usr/include/ffi -I/Users/tmaher/.rbenv/versions/2.2.3/include -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_DARWIN_UNLIMITED_SELECT -D_REENTRANT -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wunused-variable -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wshorten-64-to-32 -Wimplicit-function-declaration -Wdivision-by-zero -Wdeprecated-declarations -Wextra-tokens -pipe conftest.c -L. -L/Users/tmaher/.rbenv/versions/2.2.3/lib -L. -L/Users/tmaher/.rbenv/versions/2.2.3/lib -fstack-protector -arch x86_64 -arch i386 -lffi -lruby-static -framework CoreFoundation -lffi -lpthread -ldl -lobjc " conftest.c:13:15: warning: implicit declaration of function 'rb_thread_blocking_region' is invalid in C99 [-Wimplicit-function-declaration] int t(void) { rb_thread_blocking_region(); return 0; } ^ 1 warning generated. Undefined symbols for architecture x86_64: "_rb_thread_blocking_region", referenced from: _t in conftest-655e14.o ld: symbol(s) not found for architecture x86_64 conftest.c:13:15: warning: implicit declaration of function 'rb_thread_blocking_region' is invalid in C99 [-Wimplicit-function-declaration] int t(void) { rb_thread_blocking_region(); return 0; } ^ 1 warning generated. clang: error: linker command failed with exit code 1 (use -v to see invocation) checked program was: /* begin */ 1: #include "ruby.h" 2: 3: /*top*/ 4: extern int t(void); 5: int main(int argc, char **argv) 6: { 7: if (argc > 1000000) { 8: printf("%p", &t); 9: } 10: 11: return 0; 12: } 13: int t(void) { rb_thread_blocking_region(); return 0; } /* end */ -------------------- have_func: checking for rb_thread_call_with_gvl()... -------------------- yes "xcrun cc -o conftest -I/Users/tmaher/.rbenv/versions/2.2.3/include/ruby-2.2.0/universal-darwin15 -I/Users/tmaher/.rbenv/versions/2.2.3/include/ruby-2.2.0/ruby/backward -I/Users/tmaher/.rbenv/versions/2.2.3/include/ruby-2.2.0 -I. -I/usr/include/ffi -I/Users/tmaher/.rbenv/versions/2.2.3/include -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_DARWIN_UNLIMITED_SELECT -D_REENTRANT -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wunused-variable -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wshorten-64-to-32 -Wimplicit-function-declaration -Wdivision-by-zero -Wdeprecated-declarations -Wextra-tokens -pipe conftest.c -L. -L/Users/tmaher/.rbenv/versions/2.2.3/lib -L. -L/Users/tmaher/.rbenv/versions/2.2.3/lib -fstack-protector -arch x86_64 -arch i386 -lffi -lruby-static -framework CoreFoundation -lffi -lpthread -ldl -lobjc " conftest.c:13:57: error: use of undeclared identifier 'rb_thread_call_with_gvl' int t(void) { void ((*volatile p)()); p = (void ((*)()))rb_thread_call_with_gvl; return 0; } ^ 1 error generated. checked program was: /* begin */ 1: #include "ruby.h" 2: 3: /*top*/ 4: extern int t(void); 5: int main(int argc, char **argv) 6: { 7: if (argc > 1000000) { 8: printf("%p", &t); 9: } 10: 11: return 0; 12: } 13: int t(void) { void ((*volatile p)()); p = (void ((*)()))rb_thread_call_with_gvl; return 0; } /* end */ "xcrun cc -o conftest -I/Users/tmaher/.rbenv/versions/2.2.3/include/ruby-2.2.0/universal-darwin15 -I/Users/tmaher/.rbenv/versions/2.2.3/include/ruby-2.2.0/ruby/backward -I/Users/tmaher/.rbenv/versions/2.2.3/include/ruby-2.2.0 -I. -I/usr/include/ffi -I/Users/tmaher/.rbenv/versions/2.2.3/include -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_DARWIN_UNLIMITED_SELECT -D_REENTRANT -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wunused-variable -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wshorten-64-to-32 -Wimplicit-function-declaration -Wdivision-by-zero -Wdeprecated-declarations -Wextra-tokens -pipe conftest.c -L. -L/Users/tmaher/.rbenv/versions/2.2.3/lib -L. -L/Users/tmaher/.rbenv/versions/2.2.3/lib -fstack-protector -arch x86_64 -arch i386 -lffi -lruby-static -framework CoreFoundation -lffi -lpthread -ldl -lobjc " conftest.c:13:15: warning: implicit declaration of function 'rb_thread_call_with_gvl' is invalid in C99 [-Wimplicit-function-declaration] int t(void) { rb_thread_call_with_gvl(); return 0; } ^ 1 warning generated. conftest.c:13:15: warning: implicit declaration of function 'rb_thread_call_with_gvl' is invalid in C99 [-Wimplicit-function-declaration] int t(void) { rb_thread_call_with_gvl(); return 0; } ^ 1 warning generated. checked program was: /* begin */ 1: #include "ruby.h" 2: 3: /*top*/ 4: extern int t(void); 5: int main(int argc, char **argv) 6: { 7: if (argc > 1000000) { 8: printf("%p", &t); 9: } 10: 11: return 0; 12: } 13: int t(void) { rb_thread_call_with_gvl(); return 0; } /* end */ -------------------- have_func: checking for rb_thread_call_without_gvl()... -------------------- yes "xcrun cc -o conftest -I/Users/tmaher/.rbenv/versions/2.2.3/include/ruby-2.2.0/universal-darwin15 -I/Users/tmaher/.rbenv/versions/2.2.3/include/ruby-2.2.0/ruby/backward -I/Users/tmaher/.rbenv/versions/2.2.3/include/ruby-2.2.0 -I. -I/usr/include/ffi -I/Users/tmaher/.rbenv/versions/2.2.3/include -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_DARWIN_UNLIMITED_SELECT -D_REENTRANT -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wunused-variable -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wshorten-64-to-32 -Wimplicit-function-declaration -Wdivision-by-zero -Wdeprecated-declarations -Wextra-tokens -pipe conftest.c -L. -L/Users/tmaher/.rbenv/versions/2.2.3/lib -L. -L/Users/tmaher/.rbenv/versions/2.2.3/lib -fstack-protector -arch x86_64 -arch i386 -lffi -lruby-static -framework CoreFoundation -lffi -lpthread -ldl -lobjc " conftest.c:13:57: error: use of undeclared identifier 'rb_thread_call_without_gvl' int t(void) { void ((*volatile p)()); p = (void ((*)()))rb_thread_call_without_gvl; return 0; } ^ 1 error generated. checked program was: /* begin */ 1: #include "ruby.h" 2: 3: /*top*/ 4: extern int t(void); 5: int main(int argc, char **argv) 6: { 7: if (argc > 1000000) { 8: printf("%p", &t); 9: } 10: 11: return 0; 12: } 13: int t(void) { void ((*volatile p)()); p = (void ((*)()))rb_thread_call_without_gvl; return 0; } /* end */ "xcrun cc -o conftest -I/Users/tmaher/.rbenv/versions/2.2.3/include/ruby-2.2.0/universal-darwin15 -I/Users/tmaher/.rbenv/versions/2.2.3/include/ruby-2.2.0/ruby/backward -I/Users/tmaher/.rbenv/versions/2.2.3/include/ruby-2.2.0 -I. -I/usr/include/ffi -I/Users/tmaher/.rbenv/versions/2.2.3/include -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_DARWIN_UNLIMITED_SELECT -D_REENTRANT -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wunused-variable -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wshorten-64-to-32 -Wimplicit-function-declaration -Wdivision-by-zero -Wdeprecated-declarations -Wextra-tokens -pipe conftest.c -L. -L/Users/tmaher/.rbenv/versions/2.2.3/lib -L. -L/Users/tmaher/.rbenv/versions/2.2.3/lib -fstack-protector -arch x86_64 -arch i386 -lffi -lruby-static -framework CoreFoundation -lffi -lpthread -ldl -lobjc " conftest.c:13:15: warning: implicit declaration of function 'rb_thread_call_without_gvl' is invalid in C99 [-Wimplicit-function-declaration] int t(void) { rb_thread_call_without_gvl(); return 0; } ^ 1 warning generated. conftest.c:13:15: warning: implicit declaration of function 'rb_thread_call_without_gvl' is invalid in C99 [-Wimplicit-function-declaration] int t(void) { rb_thread_call_without_gvl(); return 0; } ^ 1 warning generated. checked program was: /* begin */ 1: #include "ruby.h" 2: 3: /*top*/ 4: extern int t(void); 5: int main(int argc, char **argv) 6: { 7: if (argc > 1000000) { 8: printf("%p", &t); 9: } 10: 11: return 0; 12: } 13: int t(void) { rb_thread_call_without_gvl(); return 0; } /* end */ -------------------- have_func: checking for ffi_prep_cif_var()... -------------------- no "xcrun cc -o conftest -I/Users/tmaher/.rbenv/versions/2.2.3/include/ruby-2.2.0/universal-darwin15 -I/Users/tmaher/.rbenv/versions/2.2.3/include/ruby-2.2.0/ruby/backward -I/Users/tmaher/.rbenv/versions/2.2.3/include/ruby-2.2.0 -I. -I/usr/include/ffi -I/Users/tmaher/.rbenv/versions/2.2.3/include -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_DARWIN_UNLIMITED_SELECT -D_REENTRANT -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wunused-variable -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wshorten-64-to-32 -Wimplicit-function-declaration -Wdivision-by-zero -Wdeprecated-declarations -Wextra-tokens -pipe conftest.c -L. -L/Users/tmaher/.rbenv/versions/2.2.3/lib -L. -L/Users/tmaher/.rbenv/versions/2.2.3/lib -fstack-protector -arch x86_64 -arch i386 -lffi -lruby-static -framework CoreFoundation -lffi -lpthread -ldl -lobjc " conftest.c:13:57: error: use of undeclared identifier 'ffi_prep_cif_var' int t(void) { void ((*volatile p)()); p = (void ((*)()))ffi_prep_cif_var; return 0; } ^ 1 error generated. checked program was: /* begin */ 1: #include "ruby.h" 2: 3: /*top*/ 4: extern int t(void); 5: int main(int argc, char **argv) 6: { 7: if (argc > 1000000) { 8: printf("%p", &t); 9: } 10: 11: return 0; 12: } 13: int t(void) { void ((*volatile p)()); p = (void ((*)()))ffi_prep_cif_var; return 0; } /* end */ "xcrun cc -o conftest -I/Users/tmaher/.rbenv/versions/2.2.3/include/ruby-2.2.0/universal-darwin15 -I/Users/tmaher/.rbenv/versions/2.2.3/include/ruby-2.2.0/ruby/backward -I/Users/tmaher/.rbenv/versions/2.2.3/include/ruby-2.2.0 -I. -I/usr/include/ffi -I/Users/tmaher/.rbenv/versions/2.2.3/include -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_DARWIN_UNLIMITED_SELECT -D_REENTRANT -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wunused-variable -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wshorten-64-to-32 -Wimplicit-function-declaration -Wdivision-by-zero -Wdeprecated-declarations -Wextra-tokens -pipe conftest.c -L. -L/Users/tmaher/.rbenv/versions/2.2.3/lib -L. -L/Users/tmaher/.rbenv/versions/2.2.3/lib -fstack-protector -arch x86_64 -arch i386 -lffi -lruby-static -framework CoreFoundation -lffi -lpthread -ldl -lobjc " conftest.c:13:15: warning: implicit declaration of function 'ffi_prep_cif_var' is invalid in C99 [-Wimplicit-function-declaration] int t(void) { ffi_prep_cif_var(); return 0; } ^ 1 warning generated. Undefined symbols for architecture x86_64: "_ffi_prep_cif_var", referenced from: _t in conftest-cec60f.o ld: symbol(s) not found for architecture x86_64 conftest.c:13:15: warning: implicit declaration of function 'ffi_prep_cif_var' is invalid in C99 [-Wimplicit-function-declaration] int t(void) { ffi_prep_cif_var(); return 0; } ^ 1 warning generated. clang: error: linker command failed with exit code 1 (use -v to see invocation) checked program was: /* begin */ 1: #include "ruby.h" 2: 3: /*top*/ 4: extern int t(void); 5: int main(int argc, char **argv) 6: { 7: if (argc > 1000000) { 8: printf("%p", &t); 9: } 10: 11: return 0; 12: } 13: int t(void) { ffi_prep_cif_var(); return 0; } /* end */ -------------------- extconf.h is: /* begin */ 1: #ifndef EXTCONF_H 2: #define EXTCONF_H 3: #define HAVE_FFI_PREP_CLOSURE 1 4: #define HAVE_RB_THREAD_CALL_WITH_GVL 1 5: #define HAVE_RB_THREAD_CALL_WITHOUT_GVL 1 6: #define RUBY_1_9 1 7: #endif /* end */