package configuration for libffi cflags: ldflags: libs: -lffi have_library: checking for ffi_call() in -lffi... -------------------- yes "gcc -o conftest -I/usr/local/rvm/rubies/ruby-1.9.3-p429/include/ruby-1.9.1/x86_64-linux -I/usr/local/rvm/rubies/ruby-1.9.3-p429/include/ruby-1.9.1/ruby/backward -I/usr/local/rvm/rubies/ruby-1.9.3-p429/include/ruby-1.9.1 -I. -O3 -ggdb -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wimplicit-function-declaration -fPIC conftest.c -L. -L/usr/local/rvm/rubies/ruby-1.9.3-p429/lib -Wl,-R/usr/local/rvm/rubies/ruby-1.9.3-p429/lib -L. -rdynamic -Wl,-export-dynamic -lffi -Wl,-R -Wl,/usr/local/rvm/rubies/ruby-1.9.3-p429/lib -L/usr/local/rvm/rubies/ruby-1.9.3-p429/lib -lruby -lpthread -lrt -ldl -lcrypt -lm -lc" checked program was: /* begin */ 1: #include "ruby.h" 2: 3: int main(int argc, char **argv) 4: { 5: return 0; 6: } /* end */ "gcc -o conftest -I/usr/local/rvm/rubies/ruby-1.9.3-p429/include/ruby-1.9.1/x86_64-linux -I/usr/local/rvm/rubies/ruby-1.9.3-p429/include/ruby-1.9.1/ruby/backward -I/usr/local/rvm/rubies/ruby-1.9.3-p429/include/ruby-1.9.1 -I. -O3 -ggdb -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wimplicit-function-declaration -fPIC conftest.c -L. -L/usr/local/rvm/rubies/ruby-1.9.3-p429/lib -Wl,-R/usr/local/rvm/rubies/ruby-1.9.3-p429/lib -L. -rdynamic -Wl,-export-dynamic -lffi -Wl,-R -Wl,/usr/local/rvm/rubies/ruby-1.9.3-p429/lib -L/usr/local/rvm/rubies/ruby-1.9.3-p429/lib -lruby -lffi -lffi -lpthread -lrt -ldl -lcrypt -lm -lc" conftest.c: In function ‘t’: conftest.c:6:28: warning: variable ‘p’ set but not used [-Wunused-but-set-variable] checked program was: /* begin */ 1: #include "ruby.h" 2: 3: #include 4: 5: /*top*/ 6: int t() { void ((*volatile p)()); p = (void ((*)()))ffi_call; return 0; } 7: int main(int argc, char **argv) 8: { 9: if (argc > 1000000) { 10: printf("%p", &t); 11: } 12: 13: return 0; 14: } /* end */ -------------------- have_func: checking for ffi_prep_closure()... -------------------- yes "gcc -o conftest -I/usr/local/rvm/rubies/ruby-1.9.3-p429/include/ruby-1.9.1/x86_64-linux -I/usr/local/rvm/rubies/ruby-1.9.3-p429/include/ruby-1.9.1/ruby/backward -I/usr/local/rvm/rubies/ruby-1.9.3-p429/include/ruby-1.9.1 -I. -O3 -ggdb -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wimplicit-function-declaration -fPIC conftest.c -L. -L/usr/local/rvm/rubies/ruby-1.9.3-p429/lib -Wl,-R/usr/local/rvm/rubies/ruby-1.9.3-p429/lib -L. -rdynamic -Wl,-export-dynamic -lffi -lffi -Wl,-R -Wl,/usr/local/rvm/rubies/ruby-1.9.3-p429/lib -L/usr/local/rvm/rubies/ruby-1.9.3-p429/lib -lruby -lffi -lffi -lpthread -lrt -ldl -lcrypt -lm -lc" conftest.c: In function ‘t’: conftest.c:4:53: error: ‘ffi_prep_closure’ undeclared (first use in this function) conftest.c:4:53: note: each undeclared identifier is reported only once for each function it appears in conftest.c:4:28: warning: variable ‘p’ set but not used [-Wunused-but-set-variable] checked program was: /* begin */ 1: #include "ruby.h" 2: 3: /*top*/ 4: int t() { void ((*volatile p)()); p = (void ((*)()))ffi_prep_closure; return 0; } 5: int main(int argc, char **argv) 6: { 7: if (argc > 1000000) { 8: printf("%p", &t); 9: } 10: 11: return 0; 12: } /* end */ "gcc -o conftest -I/usr/local/rvm/rubies/ruby-1.9.3-p429/include/ruby-1.9.1/x86_64-linux -I/usr/local/rvm/rubies/ruby-1.9.3-p429/include/ruby-1.9.1/ruby/backward -I/usr/local/rvm/rubies/ruby-1.9.3-p429/include/ruby-1.9.1 -I. -O3 -ggdb -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wimplicit-function-declaration -fPIC conftest.c -L. -L/usr/local/rvm/rubies/ruby-1.9.3-p429/lib -Wl,-R/usr/local/rvm/rubies/ruby-1.9.3-p429/lib -L. -rdynamic -Wl,-export-dynamic -lffi -lffi -Wl,-R -Wl,/usr/local/rvm/rubies/ruby-1.9.3-p429/lib -L/usr/local/rvm/rubies/ruby-1.9.3-p429/lib -lruby -lffi -lffi -lpthread -lrt -ldl -lcrypt -lm -lc" conftest.c: In function ‘t’: conftest.c:4:1: warning: implicit declaration of function ‘ffi_prep_closure’ [-Wimplicit-function-declaration] checked program was: /* begin */ 1: #include "ruby.h" 2: 3: /*top*/ 4: int t() { ffi_prep_closure(); return 0; } 5: int main(int argc, char **argv) 6: { 7: if (argc > 1000000) { 8: printf("%p", &t); 9: } 10: 11: return 0; 12: } /* end */ -------------------- have_func: checking for ffi_raw_call()... -------------------- yes "gcc -o conftest -I/usr/local/rvm/rubies/ruby-1.9.3-p429/include/ruby-1.9.1/x86_64-linux -I/usr/local/rvm/rubies/ruby-1.9.3-p429/include/ruby-1.9.1/ruby/backward -I/usr/local/rvm/rubies/ruby-1.9.3-p429/include/ruby-1.9.1 -I. -O3 -ggdb -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wimplicit-function-declaration -fPIC conftest.c -L. -L/usr/local/rvm/rubies/ruby-1.9.3-p429/lib -Wl,-R/usr/local/rvm/rubies/ruby-1.9.3-p429/lib -L. -rdynamic -Wl,-export-dynamic -lffi -lffi -Wl,-R -Wl,/usr/local/rvm/rubies/ruby-1.9.3-p429/lib -L/usr/local/rvm/rubies/ruby-1.9.3-p429/lib -lruby -lffi -lffi -lpthread -lrt -ldl -lcrypt -lm -lc" conftest.c: In function ‘t’: conftest.c:4:53: error: ‘ffi_raw_call’ undeclared (first use in this function) conftest.c:4:53: note: each undeclared identifier is reported only once for each function it appears in conftest.c:4:28: warning: variable ‘p’ set but not used [-Wunused-but-set-variable] checked program was: /* begin */ 1: #include "ruby.h" 2: 3: /*top*/ 4: int t() { void ((*volatile p)()); p = (void ((*)()))ffi_raw_call; return 0; } 5: int main(int argc, char **argv) 6: { 7: if (argc > 1000000) { 8: printf("%p", &t); 9: } 10: 11: return 0; 12: } /* end */ "gcc -o conftest -I/usr/local/rvm/rubies/ruby-1.9.3-p429/include/ruby-1.9.1/x86_64-linux -I/usr/local/rvm/rubies/ruby-1.9.3-p429/include/ruby-1.9.1/ruby/backward -I/usr/local/rvm/rubies/ruby-1.9.3-p429/include/ruby-1.9.1 -I. -O3 -ggdb -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wimplicit-function-declaration -fPIC conftest.c -L. -L/usr/local/rvm/rubies/ruby-1.9.3-p429/lib -Wl,-R/usr/local/rvm/rubies/ruby-1.9.3-p429/lib -L. -rdynamic -Wl,-export-dynamic -lffi -lffi -Wl,-R -Wl,/usr/local/rvm/rubies/ruby-1.9.3-p429/lib -L/usr/local/rvm/rubies/ruby-1.9.3-p429/lib -lruby -lffi -lffi -lpthread -lrt -ldl -lcrypt -lm -lc" conftest.c: In function ‘t’: conftest.c:4:1: warning: implicit declaration of function ‘ffi_raw_call’ [-Wimplicit-function-declaration] checked program was: /* begin */ 1: #include "ruby.h" 2: 3: /*top*/ 4: int t() { ffi_raw_call(); return 0; } 5: int main(int argc, char **argv) 6: { 7: if (argc > 1000000) { 8: printf("%p", &t); 9: } 10: 11: return 0; 12: } /* end */ -------------------- have_func: checking for ffi_prep_raw_closure()... -------------------- yes "gcc -o conftest -I/usr/local/rvm/rubies/ruby-1.9.3-p429/include/ruby-1.9.1/x86_64-linux -I/usr/local/rvm/rubies/ruby-1.9.3-p429/include/ruby-1.9.1/ruby/backward -I/usr/local/rvm/rubies/ruby-1.9.3-p429/include/ruby-1.9.1 -I. -O3 -ggdb -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wimplicit-function-declaration -fPIC conftest.c -L. -L/usr/local/rvm/rubies/ruby-1.9.3-p429/lib -Wl,-R/usr/local/rvm/rubies/ruby-1.9.3-p429/lib -L. -rdynamic -Wl,-export-dynamic -lffi -lffi -Wl,-R -Wl,/usr/local/rvm/rubies/ruby-1.9.3-p429/lib -L/usr/local/rvm/rubies/ruby-1.9.3-p429/lib -lruby -lffi -lffi -lpthread -lrt -ldl -lcrypt -lm -lc" conftest.c: In function ‘t’: conftest.c:4:53: error: ‘ffi_prep_raw_closure’ undeclared (first use in this function) conftest.c:4:53: note: each undeclared identifier is reported only once for each function it appears in conftest.c:4:28: warning: variable ‘p’ set but not used [-Wunused-but-set-variable] checked program was: /* begin */ 1: #include "ruby.h" 2: 3: /*top*/ 4: int t() { void ((*volatile p)()); p = (void ((*)()))ffi_prep_raw_closure; return 0; } 5: int main(int argc, char **argv) 6: { 7: if (argc > 1000000) { 8: printf("%p", &t); 9: } 10: 11: return 0; 12: } /* end */ "gcc -o conftest -I/usr/local/rvm/rubies/ruby-1.9.3-p429/include/ruby-1.9.1/x86_64-linux -I/usr/local/rvm/rubies/ruby-1.9.3-p429/include/ruby-1.9.1/ruby/backward -I/usr/local/rvm/rubies/ruby-1.9.3-p429/include/ruby-1.9.1 -I. -O3 -ggdb -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wimplicit-function-declaration -fPIC conftest.c -L. -L/usr/local/rvm/rubies/ruby-1.9.3-p429/lib -Wl,-R/usr/local/rvm/rubies/ruby-1.9.3-p429/lib -L. -rdynamic -Wl,-export-dynamic -lffi -lffi -Wl,-R -Wl,/usr/local/rvm/rubies/ruby-1.9.3-p429/lib -L/usr/local/rvm/rubies/ruby-1.9.3-p429/lib -lruby -lffi -lffi -lpthread -lrt -ldl -lcrypt -lm -lc" conftest.c: In function ‘t’: conftest.c:4:1: warning: implicit declaration of function ‘ffi_prep_raw_closure’ [-Wimplicit-function-declaration] checked program was: /* begin */ 1: #include "ruby.h" 2: 3: /*top*/ 4: int t() { ffi_prep_raw_closure(); return 0; } 5: int main(int argc, char **argv) 6: { 7: if (argc > 1000000) { 8: printf("%p", &t); 9: } 10: 11: return 0; 12: } /* end */ -------------------- have_func: checking for rb_thread_blocking_region()... -------------------- yes "gcc -o conftest -I/usr/local/rvm/rubies/ruby-1.9.3-p429/include/ruby-1.9.1/x86_64-linux -I/usr/local/rvm/rubies/ruby-1.9.3-p429/include/ruby-1.9.1/ruby/backward -I/usr/local/rvm/rubies/ruby-1.9.3-p429/include/ruby-1.9.1 -I. -O3 -ggdb -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wimplicit-function-declaration -fPIC conftest.c -L. -L/usr/local/rvm/rubies/ruby-1.9.3-p429/lib -Wl,-R/usr/local/rvm/rubies/ruby-1.9.3-p429/lib -L. -rdynamic -Wl,-export-dynamic -lffi -lffi -Wl,-R -Wl,/usr/local/rvm/rubies/ruby-1.9.3-p429/lib -L/usr/local/rvm/rubies/ruby-1.9.3-p429/lib -lruby -lffi -lffi -lpthread -lrt -ldl -lcrypt -lm -lc" conftest.c: In function ‘t’: conftest.c:4:28: warning: variable ‘p’ set but not used [-Wunused-but-set-variable] checked program was: /* begin */ 1: #include "ruby.h" 2: 3: /*top*/ 4: int t() { void ((*volatile p)()); p = (void ((*)()))rb_thread_blocking_region; return 0; } 5: int main(int argc, char **argv) 6: { 7: if (argc > 1000000) { 8: printf("%p", &t); 9: } 10: 11: return 0; 12: } /* end */ -------------------- have_func: checking for rb_thread_call_with_gvl()... -------------------- yes "gcc -o conftest -I/usr/local/rvm/rubies/ruby-1.9.3-p429/include/ruby-1.9.1/x86_64-linux -I/usr/local/rvm/rubies/ruby-1.9.3-p429/include/ruby-1.9.1/ruby/backward -I/usr/local/rvm/rubies/ruby-1.9.3-p429/include/ruby-1.9.1 -I. -O3 -ggdb -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wimplicit-function-declaration -fPIC conftest.c -L. -L/usr/local/rvm/rubies/ruby-1.9.3-p429/lib -Wl,-R/usr/local/rvm/rubies/ruby-1.9.3-p429/lib -L. -rdynamic -Wl,-export-dynamic -lffi -lffi -Wl,-R -Wl,/usr/local/rvm/rubies/ruby-1.9.3-p429/lib -L/usr/local/rvm/rubies/ruby-1.9.3-p429/lib -lruby -lffi -lffi -lpthread -lrt -ldl -lcrypt -lm -lc" conftest.c: In function ‘t’: conftest.c:4:53: error: ‘rb_thread_call_with_gvl’ undeclared (first use in this function) conftest.c:4:53: note: each undeclared identifier is reported only once for each function it appears in conftest.c:4:28: warning: variable ‘p’ set but not used [-Wunused-but-set-variable] checked program was: /* begin */ 1: #include "ruby.h" 2: 3: /*top*/ 4: int t() { void ((*volatile p)()); p = (void ((*)()))rb_thread_call_with_gvl; return 0; } 5: int main(int argc, char **argv) 6: { 7: if (argc > 1000000) { 8: printf("%p", &t); 9: } 10: 11: return 0; 12: } /* end */ "gcc -o conftest -I/usr/local/rvm/rubies/ruby-1.9.3-p429/include/ruby-1.9.1/x86_64-linux -I/usr/local/rvm/rubies/ruby-1.9.3-p429/include/ruby-1.9.1/ruby/backward -I/usr/local/rvm/rubies/ruby-1.9.3-p429/include/ruby-1.9.1 -I. -O3 -ggdb -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wimplicit-function-declaration -fPIC conftest.c -L. -L/usr/local/rvm/rubies/ruby-1.9.3-p429/lib -Wl,-R/usr/local/rvm/rubies/ruby-1.9.3-p429/lib -L. -rdynamic -Wl,-export-dynamic -lffi -lffi -Wl,-R -Wl,/usr/local/rvm/rubies/ruby-1.9.3-p429/lib -L/usr/local/rvm/rubies/ruby-1.9.3-p429/lib -lruby -lffi -lffi -lpthread -lrt -ldl -lcrypt -lm -lc" conftest.c: In function ‘t’: conftest.c:4:1: warning: implicit declaration of function ‘rb_thread_call_with_gvl’ [-Wimplicit-function-declaration] checked program was: /* begin */ 1: #include "ruby.h" 2: 3: /*top*/ 4: int t() { rb_thread_call_with_gvl(); return 0; } 5: int main(int argc, char **argv) 6: { 7: if (argc > 1000000) { 8: printf("%p", &t); 9: } 10: 11: return 0; 12: } /* end */ -------------------- have_func: checking for rb_thread_call_without_gvl()... -------------------- yes "gcc -o conftest -I/usr/local/rvm/rubies/ruby-1.9.3-p429/include/ruby-1.9.1/x86_64-linux -I/usr/local/rvm/rubies/ruby-1.9.3-p429/include/ruby-1.9.1/ruby/backward -I/usr/local/rvm/rubies/ruby-1.9.3-p429/include/ruby-1.9.1 -I. -O3 -ggdb -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wimplicit-function-declaration -fPIC conftest.c -L. -L/usr/local/rvm/rubies/ruby-1.9.3-p429/lib -Wl,-R/usr/local/rvm/rubies/ruby-1.9.3-p429/lib -L. -rdynamic -Wl,-export-dynamic -lffi -lffi -Wl,-R -Wl,/usr/local/rvm/rubies/ruby-1.9.3-p429/lib -L/usr/local/rvm/rubies/ruby-1.9.3-p429/lib -lruby -lffi -lffi -lpthread -lrt -ldl -lcrypt -lm -lc" conftest.c: In function ‘t’: conftest.c:4:53: error: ‘rb_thread_call_without_gvl’ undeclared (first use in this function) conftest.c:4:53: note: each undeclared identifier is reported only once for each function it appears in conftest.c:4:28: warning: variable ‘p’ set but not used [-Wunused-but-set-variable] checked program was: /* begin */ 1: #include "ruby.h" 2: 3: /*top*/ 4: int t() { void ((*volatile p)()); p = (void ((*)()))rb_thread_call_without_gvl; return 0; } 5: int main(int argc, char **argv) 6: { 7: if (argc > 1000000) { 8: printf("%p", &t); 9: } 10: 11: return 0; 12: } /* end */ "gcc -o conftest -I/usr/local/rvm/rubies/ruby-1.9.3-p429/include/ruby-1.9.1/x86_64-linux -I/usr/local/rvm/rubies/ruby-1.9.3-p429/include/ruby-1.9.1/ruby/backward -I/usr/local/rvm/rubies/ruby-1.9.3-p429/include/ruby-1.9.1 -I. -O3 -ggdb -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wimplicit-function-declaration -fPIC conftest.c -L. -L/usr/local/rvm/rubies/ruby-1.9.3-p429/lib -Wl,-R/usr/local/rvm/rubies/ruby-1.9.3-p429/lib -L. -rdynamic -Wl,-export-dynamic -lffi -lffi -Wl,-R -Wl,/usr/local/rvm/rubies/ruby-1.9.3-p429/lib -L/usr/local/rvm/rubies/ruby-1.9.3-p429/lib -lruby -lffi -lffi -lpthread -lrt -ldl -lcrypt -lm -lc" conftest.c: In function ‘t’: conftest.c:4:1: warning: implicit declaration of function ‘rb_thread_call_without_gvl’ [-Wimplicit-function-declaration] checked program was: /* begin */ 1: #include "ruby.h" 2: 3: /*top*/ 4: int t() { rb_thread_call_without_gvl(); return 0; } 5: int main(int argc, char **argv) 6: { 7: if (argc > 1000000) { 8: printf("%p", &t); 9: } 10: 11: return 0; 12: } /* end */ -------------------- have_func: checking for ffi_prep_cif_var()... -------------------- yes "gcc -o conftest -I/usr/local/rvm/rubies/ruby-1.9.3-p429/include/ruby-1.9.1/x86_64-linux -I/usr/local/rvm/rubies/ruby-1.9.3-p429/include/ruby-1.9.1/ruby/backward -I/usr/local/rvm/rubies/ruby-1.9.3-p429/include/ruby-1.9.1 -I. -O3 -ggdb -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wimplicit-function-declaration -fPIC conftest.c -L. -L/usr/local/rvm/rubies/ruby-1.9.3-p429/lib -Wl,-R/usr/local/rvm/rubies/ruby-1.9.3-p429/lib -L. -rdynamic -Wl,-export-dynamic -lffi -lffi -Wl,-R -Wl,/usr/local/rvm/rubies/ruby-1.9.3-p429/lib -L/usr/local/rvm/rubies/ruby-1.9.3-p429/lib -lruby -lffi -lffi -lpthread -lrt -ldl -lcrypt -lm -lc" conftest.c: In function ‘t’: conftest.c:4:53: error: ‘ffi_prep_cif_var’ undeclared (first use in this function) conftest.c:4:53: note: each undeclared identifier is reported only once for each function it appears in conftest.c:4:28: warning: variable ‘p’ set but not used [-Wunused-but-set-variable] checked program was: /* begin */ 1: #include "ruby.h" 2: 3: /*top*/ 4: int t() { void ((*volatile p)()); p = (void ((*)()))ffi_prep_cif_var; return 0; } 5: int main(int argc, char **argv) 6: { 7: if (argc > 1000000) { 8: printf("%p", &t); 9: } 10: 11: return 0; 12: } /* end */ "gcc -o conftest -I/usr/local/rvm/rubies/ruby-1.9.3-p429/include/ruby-1.9.1/x86_64-linux -I/usr/local/rvm/rubies/ruby-1.9.3-p429/include/ruby-1.9.1/ruby/backward -I/usr/local/rvm/rubies/ruby-1.9.3-p429/include/ruby-1.9.1 -I. -O3 -ggdb -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wimplicit-function-declaration -fPIC conftest.c -L. -L/usr/local/rvm/rubies/ruby-1.9.3-p429/lib -Wl,-R/usr/local/rvm/rubies/ruby-1.9.3-p429/lib -L. -rdynamic -Wl,-export-dynamic -lffi -lffi -Wl,-R -Wl,/usr/local/rvm/rubies/ruby-1.9.3-p429/lib -L/usr/local/rvm/rubies/ruby-1.9.3-p429/lib -lruby -lffi -lffi -lpthread -lrt -ldl -lcrypt -lm -lc" conftest.c: In function ‘t’: conftest.c:4:1: warning: implicit declaration of function ‘ffi_prep_cif_var’ [-Wimplicit-function-declaration] checked program was: /* begin */ 1: #include "ruby.h" 2: 3: /*top*/ 4: int t() { ffi_prep_cif_var(); return 0; } 5: int main(int argc, char **argv) 6: { 7: if (argc > 1000000) { 8: printf("%p", &t); 9: } 10: 11: return 0; 12: } /* end */ -------------------- extconf.h is: /* begin */ 1: #ifndef EXTCONF_H 2: #define EXTCONF_H 3: #define HAVE_FFI_PREP_CLOSURE 1 4: #define HAVE_FFI_RAW_CALL 1 5: #define HAVE_FFI_PREP_RAW_CLOSURE 1 6: #define HAVE_RAW_API 1 7: #define HAVE_RB_THREAD_BLOCKING_REGION 1 8: #define HAVE_RB_THREAD_CALL_WITH_GVL 1 9: #define HAVE_RB_THREAD_CALL_WITHOUT_GVL 1 10: #define HAVE_FFI_PREP_CIF_VAR 1 11: #define RUBY_1_9 1 12: #endif /* end */