File: //usr/local/rvm/src/ruby-2.7.4/ext/fiddle/mkmf.log
"pkg-config --exists libffi"
| pkg-config --libs libffi
=> "-lffi \n"
"gcc -o conftest -I../../.ext/include/x86_64-linux -I../.././include -I../.././ext/fiddle -g -O2 -fPIC conftest.c -L. -L../.. -L. -fstack-protector-strong -rdynamic -Wl,-export-dynamic -Wl,-rpath,/usr/local/rvm/rubies/ruby-2.7.4/lib -L/usr/local/rvm/rubies/ruby-2.7.4/lib -lruby-static -lz -lpthread -lrt -lrt -ldl -lcrypt -lm -lm -lc"
checked program was:
/* begin */
1: #include "ruby.h"
2:
3: int main(int argc, char **argv)
4: {
5: return !!argv[argc];
6: }
/* end */
"gcc -o conftest -I../../.ext/include/x86_64-linux -I../.././include -I../.././ext/fiddle -g -O2 -fPIC conftest.c -L. -L../.. -L. -fstack-protector-strong -rdynamic -Wl,-export-dynamic -Wl,-rpath,/usr/local/rvm/rubies/ruby-2.7.4/lib -L/usr/local/rvm/rubies/ruby-2.7.4/lib -lruby-static -lz -lpthread -lrt -lrt -ldl -lcrypt -lm -lffi -lm -lc"
checked program was:
/* begin */
1: #include "ruby.h"
2:
3: int main(int argc, char **argv)
4: {
5: return !!argv[argc];
6: }
/* end */
| pkg-config --cflags-only-I libffi
=> "\n"
| pkg-config --cflags-only-other libffi
=> "\n"
| pkg-config --libs-only-l libffi
=> "-lffi \n"
package configuration for libffi
incflags:
cflags:
ldflags:
libs: -lffi
"pkg-config --exists libffi"
| pkg-config --modversion libffi
=> "3.1\n"
have_header: checking for ffi.h... -------------------- yes
"gcc -E -I../../.ext/include/x86_64-linux -I../.././include -I../.././ext/fiddle -g -O2 -fPIC conftest.c -o conftest.i"
checked program was:
/* begin */
1: #include "ruby.h"
2:
3: #include <ffi.h>
/* end */
--------------------
have_library: checking for -lffi... -------------------- yes
"gcc -o conftest -I../../.ext/include/x86_64-linux -I../.././include -I../.././ext/fiddle -g -O2 -fPIC conftest.c -L. -L../.. -L. -fstack-protector-strong -rdynamic -Wl,-export-dynamic -lffi -Wl,-rpath,/usr/local/rvm/rubies/ruby-2.7.4/lib -L/usr/local/rvm/rubies/ruby-2.7.4/lib -lruby-static -lz -lpthread -lrt -lrt -ldl -lcrypt -lm -lffi -lffi -lm -lc"
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: int (* volatile tp)(void)=(int (*)(void))&t;
9: printf("%d", (*tp)());
10: }
11:
12: return !!argv[argc];
13: }
14:
15: int t(void) { ; return 0; }
/* end */
--------------------
have_header: checking for sys/mman.h... -------------------- yes
"gcc -E -I../../.ext/include/x86_64-linux -I../.././include -I../.././ext/fiddle -g -O2 -fPIC conftest.c -o conftest.i"
checked program was:
/* begin */
1: #include "ruby.h"
2:
3: #include <sys/mman.h>
/* end */
--------------------
have_header: checking for dlfcn.h... -------------------- yes
"gcc -E -I../../.ext/include/x86_64-linux -I../.././include -I../.././ext/fiddle -g -O2 -fPIC conftest.c -o conftest.i"
checked program was:
/* begin */
1: #include "ruby.h"
2:
3: #include <dlfcn.h>
/* end */
--------------------
have_library: checking for -ldl... -------------------- yes
"gcc -o conftest -I../../.ext/include/x86_64-linux -I../.././include -I../.././ext/fiddle -g -O2 -fPIC conftest.c -L. -L../.. -L. -fstack-protector-strong -rdynamic -Wl,-export-dynamic -lffi -lffi -Wl,-rpath,/usr/local/rvm/rubies/ruby-2.7.4/lib -L/usr/local/rvm/rubies/ruby-2.7.4/lib -lruby-static -lz -lpthread -lrt -lrt -ldl -lcrypt -lm -ldl -lffi -lffi -lm -lc"
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: int (* volatile tp)(void)=(int (*)(void))&t;
9: printf("%d", (*tp)());
10: }
11:
12: return !!argv[argc];
13: }
14:
15: int t(void) { ; return 0; }
/* end */
--------------------
have_func: checking for dlopen()... -------------------- yes
"gcc -o conftest -I../../.ext/include/x86_64-linux -I../.././include -I../.././ext/fiddle -g -O2 -fPIC conftest.c -L. -L../.. -L. -fstack-protector-strong -rdynamic -Wl,-export-dynamic -ldl -lffi -lffi -Wl,-rpath,/usr/local/rvm/rubies/ruby-2.7.4/lib -L/usr/local/rvm/rubies/ruby-2.7.4/lib -lruby-static -lz -lpthread -lrt -lrt -ldl -lcrypt -lm -ldl -lffi -lffi -lm -lc"
conftest.c: In function ‘t’:
conftest.c:14:57: error: ‘dlopen’ undeclared (first use in this function); did you mean ‘popen’?
int t(void) { void ((*volatile p)()); p = (void ((*)()))dlopen; return !p; }
^~~~~~
popen
conftest.c:14:57: note: each undeclared identifier is reported only once for each function it appears in
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: int (* volatile tp)(void)=(int (*)(void))&t;
9: printf("%d", (*tp)());
10: }
11:
12: return !!argv[argc];
13: }
14: int t(void) { void ((*volatile p)()); p = (void ((*)()))dlopen; return !p; }
/* end */
"gcc -o conftest -I../../.ext/include/x86_64-linux -I../.././include -I../.././ext/fiddle -g -O2 -fPIC conftest.c -L. -L../.. -L. -fstack-protector-strong -rdynamic -Wl,-export-dynamic -ldl -lffi -lffi -Wl,-rpath,/usr/local/rvm/rubies/ruby-2.7.4/lib -L/usr/local/rvm/rubies/ruby-2.7.4/lib -lruby-static -lz -lpthread -lrt -lrt -ldl -lcrypt -lm -ldl -lffi -lffi -lm -lc"
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: int (* volatile tp)(void)=(int (*)(void))&t;
9: printf("%d", (*tp)());
10: }
11:
12: return !!argv[argc];
13: }
14: extern void dlopen();
15: int t(void) { dlopen(); return 0; }
/* end */
--------------------
have_func: checking for dlclose()... -------------------- yes
"gcc -o conftest -I../../.ext/include/x86_64-linux -I../.././include -I../.././ext/fiddle -g -O2 -fPIC conftest.c -L. -L../.. -L. -fstack-protector-strong -rdynamic -Wl,-export-dynamic -ldl -lffi -lffi -Wl,-rpath,/usr/local/rvm/rubies/ruby-2.7.4/lib -L/usr/local/rvm/rubies/ruby-2.7.4/lib -lruby-static -lz -lpthread -lrt -lrt -ldl -lcrypt -lm -ldl -lffi -lffi -lm -lc"
conftest.c: In function ‘t’:
conftest.c:14:57: error: ‘dlclose’ undeclared (first use in this function); did you mean ‘close’?
int t(void) { void ((*volatile p)()); p = (void ((*)()))dlclose; return !p; }
^~~~~~~
close
conftest.c:14:57: note: each undeclared identifier is reported only once for each function it appears in
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: int (* volatile tp)(void)=(int (*)(void))&t;
9: printf("%d", (*tp)());
10: }
11:
12: return !!argv[argc];
13: }
14: int t(void) { void ((*volatile p)()); p = (void ((*)()))dlclose; return !p; }
/* end */
"gcc -o conftest -I../../.ext/include/x86_64-linux -I../.././include -I../.././ext/fiddle -g -O2 -fPIC conftest.c -L. -L../.. -L. -fstack-protector-strong -rdynamic -Wl,-export-dynamic -ldl -lffi -lffi -Wl,-rpath,/usr/local/rvm/rubies/ruby-2.7.4/lib -L/usr/local/rvm/rubies/ruby-2.7.4/lib -lruby-static -lz -lpthread -lrt -lrt -ldl -lcrypt -lm -ldl -lffi -lffi -lm -lc"
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: int (* volatile tp)(void)=(int (*)(void))&t;
9: printf("%d", (*tp)());
10: }
11:
12: return !!argv[argc];
13: }
14: extern void dlclose();
15: int t(void) { dlclose(); return 0; }
/* end */
--------------------
have_func: checking for dlsym()... -------------------- yes
"gcc -o conftest -I../../.ext/include/x86_64-linux -I../.././include -I../.././ext/fiddle -g -O2 -fPIC conftest.c -L. -L../.. -L. -fstack-protector-strong -rdynamic -Wl,-export-dynamic -ldl -lffi -lffi -Wl,-rpath,/usr/local/rvm/rubies/ruby-2.7.4/lib -L/usr/local/rvm/rubies/ruby-2.7.4/lib -lruby-static -lz -lpthread -lrt -lrt -ldl -lcrypt -lm -ldl -lffi -lffi -lm -lc"
conftest.c: In function ‘t’:
conftest.c:14:57: error: ‘dlsym’ undeclared (first use in this function)
int t(void) { void ((*volatile p)()); p = (void ((*)()))dlsym; return !p; }
^~~~~
conftest.c:14:57: note: each undeclared identifier is reported only once for each function it appears in
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: int (* volatile tp)(void)=(int (*)(void))&t;
9: printf("%d", (*tp)());
10: }
11:
12: return !!argv[argc];
13: }
14: int t(void) { void ((*volatile p)()); p = (void ((*)()))dlsym; return !p; }
/* end */
"gcc -o conftest -I../../.ext/include/x86_64-linux -I../.././include -I../.././ext/fiddle -g -O2 -fPIC conftest.c -L. -L../.. -L. -fstack-protector-strong -rdynamic -Wl,-export-dynamic -ldl -lffi -lffi -Wl,-rpath,/usr/local/rvm/rubies/ruby-2.7.4/lib -L/usr/local/rvm/rubies/ruby-2.7.4/lib -lruby-static -lz -lpthread -lrt -lrt -ldl -lcrypt -lm -ldl -lffi -lffi -lm -lc"
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: int (* volatile tp)(void)=(int (*)(void))&t;
9: printf("%d", (*tp)());
10: }
11:
12: return !!argv[argc];
13: }
14: extern void dlsym();
15: int t(void) { dlsym(); return 0; }
/* end */
--------------------
have_func: checking for dlerror()... -------------------- yes
"gcc -o conftest -I../../.ext/include/x86_64-linux -I../.././include -I../.././ext/fiddle -g -O2 -fPIC conftest.c -L. -L../.. -L. -fstack-protector-strong -rdynamic -Wl,-export-dynamic -ldl -lffi -lffi -Wl,-rpath,/usr/local/rvm/rubies/ruby-2.7.4/lib -L/usr/local/rvm/rubies/ruby-2.7.4/lib -lruby-static -lz -lpthread -lrt -lrt -ldl -lcrypt -lm -ldl -lffi -lffi -lm -lc"
conftest.c: In function ‘t’:
conftest.c:14:57: error: ‘dlerror’ undeclared (first use in this function); did you mean ‘perror’?
int t(void) { void ((*volatile p)()); p = (void ((*)()))dlerror; return !p; }
^~~~~~~
perror
conftest.c:14:57: note: each undeclared identifier is reported only once for each function it appears in
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: int (* volatile tp)(void)=(int (*)(void))&t;
9: printf("%d", (*tp)());
10: }
11:
12: return !!argv[argc];
13: }
14: int t(void) { void ((*volatile p)()); p = (void ((*)()))dlerror; return !p; }
/* end */
"gcc -o conftest -I../../.ext/include/x86_64-linux -I../.././include -I../.././ext/fiddle -g -O2 -fPIC conftest.c -L. -L../.. -L. -fstack-protector-strong -rdynamic -Wl,-export-dynamic -ldl -lffi -lffi -Wl,-rpath,/usr/local/rvm/rubies/ruby-2.7.4/lib -L/usr/local/rvm/rubies/ruby-2.7.4/lib -lruby-static -lz -lpthread -lrt -lrt -ldl -lcrypt -lm -ldl -lffi -lffi -lm -lc"
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: int (* volatile tp)(void)=(int (*)(void))&t;
9: printf("%d", (*tp)());
10: }
11:
12: return !!argv[argc];
13: }
14: extern void dlerror();
15: int t(void) { dlerror(); return 0; }
/* end */
--------------------
have_const: checking for FFI_STDCALL in ffi.h... -------------------- yes
"gcc -I../../.ext/include/x86_64-linux -I../.././include -I../.././ext/fiddle -g -O2 -fPIC -c conftest.c"
checked program was:
/* begin */
1: #include "ruby.h"
2:
3: #include <ffi.h>
4:
5: /*top*/
6: typedef int conftest_type;
7: conftest_type conftestval = (int)FFI_STDCALL;
/* end */
--------------------
check_signedness: checking signedness of size_t... -------------------- unsigned
"gcc -I../../.ext/include/x86_64-linux -I../.././include -I../.././ext/fiddle -g -O2 -fPIC -c conftest.c"
conftest.c:7:5: error: size of array ‘conftest_const’ is negative
int conftest_const[((rbcv_typedef_)-1 < 0) ? 1 : -1];
^~~~~~~~~~~~~~
checked program was:
/* begin */
1: #include "ruby.h"
2:
3: #include <stddef.h>
4: typedef size_t rbcv_typedef_;
5:
6: /*top*/
7: int conftest_const[((rbcv_typedef_)-1 < 0) ? 1 : -1];
/* end */
"gcc -I../../.ext/include/x86_64-linux -I../.././include -I../.././ext/fiddle -g -O2 -fPIC -c conftest.c"
checked program was:
/* begin */
1: #include "ruby.h"
2:
3: #include <stddef.h>
4: typedef size_t rbcv_typedef_;
5:
6: /*top*/
7: int conftest_const[((rbcv_typedef_)-1 > 0) ? 1 : -1];
/* end */
--------------------
extconf.h is:
/* begin */
1: #ifndef EXTCONF_H
2: #define EXTCONF_H
3: #define HAVE_FFI_H 1
4: #define RUBY_LIBFFI_MODVERSION 3001000
5: #define HAVE_SYS_MMAN_H 1
6: #define HAVE_DLFCN_H 1
7: #define HAVE_DLOPEN 1
8: #define HAVE_DLCLOSE 1
9: #define HAVE_DLSYM 1
10: #define HAVE_DLERROR 1
11: #define HAVE_CONST_FFI_STDCALL 1
12: #define SIGNEDNESS_OF_SIZE_T +1
13: #endif
/* end */