LD_LIBRARY_PATH=.:/opt/puppetlabs/puppet/lib pkg-config --exists libffi
rpm: /opt/puppetlabs/puppet/lib/libcrypto.so.3: version `OPENSSL_3.4.0' not found (required by /lib64/librpmio.so.9)
/usr/bin/pkg-config: line 8: /usr/bin/-pkg-config: No such file or directory
package configuration for libffi is not found
have_header: checking for ffi.h... -------------------- yes

LD_LIBRARY_PATH=.:/opt/puppetlabs/puppet/lib "gcc -o conftest -I/opt/puppetlabs/puppet/include/ruby-3.2.0/x86_64-linux -I/opt/puppetlabs/puppet/include/ruby-3.2.0/ruby/backward -I/opt/puppetlabs/puppet/include/ruby-3.2.0 -I. -I/opt/puppetlabs/puppet/include -D_FORTIFY_SOURCE=2   -fstack-protector-strong -fno-plt -O2 -fPIC conftest.c  -L. -L/opt/puppetlabs/puppet/lib -Wl,-rpath,/opt/puppetlabs/puppet/lib -L/opt/puppetlabs/puppet/lib -Wl,-rpath,/opt/puppetlabs/puppet/lib -L. -L/opt/puppetlabs/puppet/lib -Wl,-rpath=/opt/puppetlabs/puppet/lib,-z,relro,-z,now -fstack-protector-strong -L/opt/puppetlabs/puppet/lib  -Wl,-rpath,/opt/puppetlabs/puppet/lib -rdynamic -Wl,-export-dynamic -Wl,--no-as-needed     -Wl,-rpath,/opt/puppetlabs/puppet/lib -L/opt/puppetlabs/puppet/lib -lruby  -lm -lpthread  -lc"
checked program was:
/* begin */
1: #include "ruby.h"
2: 
3: int main(int argc, char **argv)
4: {
5:   return !!argv[argc];
6: }
/* end */

LD_LIBRARY_PATH=.:/opt/puppetlabs/puppet/lib "gcc -I/opt/puppetlabs/puppet/include/ruby-3.2.0/x86_64-linux -I/opt/puppetlabs/puppet/include/ruby-3.2.0/ruby/backward -I/opt/puppetlabs/puppet/include/ruby-3.2.0 -I. -I/opt/puppetlabs/puppet/include -D_FORTIFY_SOURCE=2   -fstack-protector-strong -fno-plt -O2 -fPIC   -c conftest.c"
checked program was:
/* begin */
1: #include "ruby.h"
2: 
3: #include <ffi.h>
/* end */

--------------------

have_library: checking for ffi_prep_closure_loc() in -lffi... -------------------- yes

LD_LIBRARY_PATH=.:/opt/puppetlabs/puppet/lib "gcc -o conftest -I/opt/puppetlabs/puppet/include/ruby-3.2.0/x86_64-linux -I/opt/puppetlabs/puppet/include/ruby-3.2.0/ruby/backward -I/opt/puppetlabs/puppet/include/ruby-3.2.0 -I. -I/opt/puppetlabs/puppet/include -D_FORTIFY_SOURCE=2   -fstack-protector-strong -fno-plt -O2 -fPIC conftest.c  -L. -L/opt/puppetlabs/puppet/lib -Wl,-rpath,/opt/puppetlabs/puppet/lib -L/opt/puppetlabs/puppet/lib -Wl,-rpath,/opt/puppetlabs/puppet/lib -L. -L/opt/puppetlabs/puppet/lib -Wl,-rpath=/opt/puppetlabs/puppet/lib,-z,relro,-z,now -fstack-protector-strong -L/opt/puppetlabs/puppet/lib  -Wl,-rpath,/opt/puppetlabs/puppet/lib -rdynamic -Wl,-export-dynamic -Wl,--no-as-needed     -Wl,-rpath,/opt/puppetlabs/puppet/lib -L/opt/puppetlabs/puppet/lib -lruby -lffi  -lm -lpthread  -lc"
checked program was:
/* begin */
 1: #include "ruby.h"
 2: 
 3: #include <ffi.h>
 4: 
 5: /*top*/
 6: extern int t(void);
 7: int main(int argc, char **argv)
 8: {
 9:   if (argc > 1000000) {
10:     int (* volatile tp)(void)=(int (*)(void))&t;
11:     printf("%d", (*tp)());
12:   }
13: 
14:   return !!argv[argc];
15: }
16: int t(void) { void ((*volatile p)()); p = (void ((*)()))ffi_prep_closure_loc; return !p; }
/* end */

--------------------

have_func: checking for ffi_prep_cif_var()... -------------------- yes

LD_LIBRARY_PATH=.:/opt/puppetlabs/puppet/lib "gcc -o conftest -I/opt/puppetlabs/puppet/include/ruby-3.2.0/x86_64-linux -I/opt/puppetlabs/puppet/include/ruby-3.2.0/ruby/backward -I/opt/puppetlabs/puppet/include/ruby-3.2.0 -I. -I/opt/puppetlabs/puppet/include -D_FORTIFY_SOURCE=2   -fstack-protector-strong -fno-plt -O2 -fPIC conftest.c  -L. -L/opt/puppetlabs/puppet/lib -Wl,-rpath,/opt/puppetlabs/puppet/lib -L/opt/puppetlabs/puppet/lib -Wl,-rpath,/opt/puppetlabs/puppet/lib -L. -L/opt/puppetlabs/puppet/lib -Wl,-rpath=/opt/puppetlabs/puppet/lib,-z,relro,-z,now -fstack-protector-strong -L/opt/puppetlabs/puppet/lib  -Wl,-rpath,/opt/puppetlabs/puppet/lib -rdynamic -Wl,-export-dynamic -Wl,--no-as-needed    -lffi  -Wl,-rpath,/opt/puppetlabs/puppet/lib -L/opt/puppetlabs/puppet/lib -lruby -lffi  -lm -lpthread  -lc"
conftest.c: In function 't':
conftest.c:14:57: error: 'ffi_prep_cif_var' undeclared (first use in this function)
   14 | int t(void) { void ((*volatile p)()); p = (void ((*)()))ffi_prep_cif_var; 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 ((*)()))ffi_prep_cif_var; return !p; }
/* end */

LD_LIBRARY_PATH=.:/opt/puppetlabs/puppet/lib "gcc -o conftest -I/opt/puppetlabs/puppet/include/ruby-3.2.0/x86_64-linux -I/opt/puppetlabs/puppet/include/ruby-3.2.0/ruby/backward -I/opt/puppetlabs/puppet/include/ruby-3.2.0 -I. -I/opt/puppetlabs/puppet/include -D_FORTIFY_SOURCE=2   -fstack-protector-strong -fno-plt -O2 -fPIC conftest.c  -L. -L/opt/puppetlabs/puppet/lib -Wl,-rpath,/opt/puppetlabs/puppet/lib -L/opt/puppetlabs/puppet/lib -Wl,-rpath,/opt/puppetlabs/puppet/lib -L. -L/opt/puppetlabs/puppet/lib -Wl,-rpath=/opt/puppetlabs/puppet/lib,-z,relro,-z,now -fstack-protector-strong -L/opt/puppetlabs/puppet/lib  -Wl,-rpath,/opt/puppetlabs/puppet/lib -rdynamic -Wl,-export-dynamic -Wl,--no-as-needed    -lffi  -Wl,-rpath,/opt/puppetlabs/puppet/lib -L/opt/puppetlabs/puppet/lib -lruby -lffi  -lm -lpthread  -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 ffi_prep_cif_var();
15: int t(void) { ffi_prep_cif_var(); return 0; }
/* end */

--------------------

have_func: checking for ffi_raw_call()... -------------------- yes

LD_LIBRARY_PATH=.:/opt/puppetlabs/puppet/lib "gcc -o conftest -I/opt/puppetlabs/puppet/include/ruby-3.2.0/x86_64-linux -I/opt/puppetlabs/puppet/include/ruby-3.2.0/ruby/backward -I/opt/puppetlabs/puppet/include/ruby-3.2.0 -I. -I/opt/puppetlabs/puppet/include -D_FORTIFY_SOURCE=2   -fstack-protector-strong -fno-plt -O2 -fPIC conftest.c  -L. -L/opt/puppetlabs/puppet/lib -Wl,-rpath,/opt/puppetlabs/puppet/lib -L/opt/puppetlabs/puppet/lib -Wl,-rpath,/opt/puppetlabs/puppet/lib -L. -L/opt/puppetlabs/puppet/lib -Wl,-rpath=/opt/puppetlabs/puppet/lib,-z,relro,-z,now -fstack-protector-strong -L/opt/puppetlabs/puppet/lib  -Wl,-rpath,/opt/puppetlabs/puppet/lib -rdynamic -Wl,-export-dynamic -Wl,--no-as-needed    -lffi  -Wl,-rpath,/opt/puppetlabs/puppet/lib -L/opt/puppetlabs/puppet/lib -lruby -lffi  -lm -lpthread  -lc"
conftest.c: In function 't':
conftest.c:14:57: error: 'ffi_raw_call' undeclared (first use in this function)
   14 | int t(void) { void ((*volatile p)()); p = (void ((*)()))ffi_raw_call; 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 ((*)()))ffi_raw_call; return !p; }
/* end */

LD_LIBRARY_PATH=.:/opt/puppetlabs/puppet/lib "gcc -o conftest -I/opt/puppetlabs/puppet/include/ruby-3.2.0/x86_64-linux -I/opt/puppetlabs/puppet/include/ruby-3.2.0/ruby/backward -I/opt/puppetlabs/puppet/include/ruby-3.2.0 -I. -I/opt/puppetlabs/puppet/include -D_FORTIFY_SOURCE=2   -fstack-protector-strong -fno-plt -O2 -fPIC conftest.c  -L. -L/opt/puppetlabs/puppet/lib -Wl,-rpath,/opt/puppetlabs/puppet/lib -L/opt/puppetlabs/puppet/lib -Wl,-rpath,/opt/puppetlabs/puppet/lib -L. -L/opt/puppetlabs/puppet/lib -Wl,-rpath=/opt/puppetlabs/puppet/lib,-z,relro,-z,now -fstack-protector-strong -L/opt/puppetlabs/puppet/lib  -Wl,-rpath,/opt/puppetlabs/puppet/lib -rdynamic -Wl,-export-dynamic -Wl,--no-as-needed    -lffi  -Wl,-rpath,/opt/puppetlabs/puppet/lib -L/opt/puppetlabs/puppet/lib -lruby -lffi  -lm -lpthread  -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 ffi_raw_call();
15: int t(void) { ffi_raw_call(); return 0; }
/* end */

--------------------

have_func: checking for ffi_prep_raw_closure()... -------------------- yes

LD_LIBRARY_PATH=.:/opt/puppetlabs/puppet/lib "gcc -o conftest -I/opt/puppetlabs/puppet/include/ruby-3.2.0/x86_64-linux -I/opt/puppetlabs/puppet/include/ruby-3.2.0/ruby/backward -I/opt/puppetlabs/puppet/include/ruby-3.2.0 -I. -I/opt/puppetlabs/puppet/include -D_FORTIFY_SOURCE=2   -fstack-protector-strong -fno-plt -O2 -fPIC conftest.c  -L. -L/opt/puppetlabs/puppet/lib -Wl,-rpath,/opt/puppetlabs/puppet/lib -L/opt/puppetlabs/puppet/lib -Wl,-rpath,/opt/puppetlabs/puppet/lib -L. -L/opt/puppetlabs/puppet/lib -Wl,-rpath=/opt/puppetlabs/puppet/lib,-z,relro,-z,now -fstack-protector-strong -L/opt/puppetlabs/puppet/lib  -Wl,-rpath,/opt/puppetlabs/puppet/lib -rdynamic -Wl,-export-dynamic -Wl,--no-as-needed    -lffi  -Wl,-rpath,/opt/puppetlabs/puppet/lib -L/opt/puppetlabs/puppet/lib -lruby -lffi  -lm -lpthread  -lc"
conftest.c: In function 't':
conftest.c:14:57: error: 'ffi_prep_raw_closure' undeclared (first use in this function)
   14 | int t(void) { void ((*volatile p)()); p = (void ((*)()))ffi_prep_raw_closure; 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 ((*)()))ffi_prep_raw_closure; return !p; }
/* end */

LD_LIBRARY_PATH=.:/opt/puppetlabs/puppet/lib "gcc -o conftest -I/opt/puppetlabs/puppet/include/ruby-3.2.0/x86_64-linux -I/opt/puppetlabs/puppet/include/ruby-3.2.0/ruby/backward -I/opt/puppetlabs/puppet/include/ruby-3.2.0 -I. -I/opt/puppetlabs/puppet/include -D_FORTIFY_SOURCE=2   -fstack-protector-strong -fno-plt -O2 -fPIC conftest.c  -L. -L/opt/puppetlabs/puppet/lib -Wl,-rpath,/opt/puppetlabs/puppet/lib -L/opt/puppetlabs/puppet/lib -Wl,-rpath,/opt/puppetlabs/puppet/lib -L. -L/opt/puppetlabs/puppet/lib -Wl,-rpath=/opt/puppetlabs/puppet/lib,-z,relro,-z,now -fstack-protector-strong -L/opt/puppetlabs/puppet/lib  -Wl,-rpath,/opt/puppetlabs/puppet/lib -rdynamic -Wl,-export-dynamic -Wl,--no-as-needed    -lffi  -Wl,-rpath,/opt/puppetlabs/puppet/lib -L/opt/puppetlabs/puppet/lib -lruby -lffi  -lm -lpthread  -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 ffi_prep_raw_closure();
15: int t(void) { ffi_prep_raw_closure(); return 0; }
/* end */

--------------------

have_func: checking for rb_gc_mark_movable()... -------------------- yes

LD_LIBRARY_PATH=.:/opt/puppetlabs/puppet/lib "gcc -o conftest -I/opt/puppetlabs/puppet/include/ruby-3.2.0/x86_64-linux -I/opt/puppetlabs/puppet/include/ruby-3.2.0/ruby/backward -I/opt/puppetlabs/puppet/include/ruby-3.2.0 -I. -I/opt/puppetlabs/puppet/include -D_FORTIFY_SOURCE=2   -fstack-protector-strong -fno-plt -O2 -fPIC conftest.c  -L. -L/opt/puppetlabs/puppet/lib -Wl,-rpath,/opt/puppetlabs/puppet/lib -L/opt/puppetlabs/puppet/lib -Wl,-rpath,/opt/puppetlabs/puppet/lib -L. -L/opt/puppetlabs/puppet/lib -Wl,-rpath=/opt/puppetlabs/puppet/lib,-z,relro,-z,now -fstack-protector-strong -L/opt/puppetlabs/puppet/lib  -Wl,-rpath,/opt/puppetlabs/puppet/lib -rdynamic -Wl,-export-dynamic -Wl,--no-as-needed    -lffi  -Wl,-rpath,/opt/puppetlabs/puppet/lib -L/opt/puppetlabs/puppet/lib -lruby -lffi  -lm -lpthread  -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: int t(void) { void ((*volatile p)()); p = (void ((*)()))rb_gc_mark_movable; return !p; }
/* end */

--------------------

block in append_ldflags: checking for whether -pthread is accepted as LDFLAGS... -------------------- yes

LD_LIBRARY_PATH=.:/opt/puppetlabs/puppet/lib "gcc -o conftest -I/opt/puppetlabs/puppet/include/ruby-3.2.0/x86_64-linux -I/opt/puppetlabs/puppet/include/ruby-3.2.0/ruby/backward -I/opt/puppetlabs/puppet/include/ruby-3.2.0 -I. -I/opt/puppetlabs/puppet/include -D_FORTIFY_SOURCE=2   -fstack-protector-strong -fno-plt -O2 -fPIC conftest.c  -L. -L/opt/puppetlabs/puppet/lib -Wl,-rpath,/opt/puppetlabs/puppet/lib -L/opt/puppetlabs/puppet/lib -Wl,-rpath,/opt/puppetlabs/puppet/lib -L. -L/opt/puppetlabs/puppet/lib -Wl,-rpath=/opt/puppetlabs/puppet/lib,-z,relro,-z,now -fstack-protector-strong -L/opt/puppetlabs/puppet/lib  -Wl,-rpath,/opt/puppetlabs/puppet/lib -rdynamic -Wl,-export-dynamic -Wl,--no-as-needed    -lffi  -Wl,-rpath,/opt/puppetlabs/puppet/lib -L/opt/puppetlabs/puppet/lib -lruby -pthread -lm -lpthread  -lc"
checked program was:
/* begin */
1: #include "ruby.h"
2: 
3: int main(int argc, char **argv)
4: {
5:   return !!argv[argc];
6: }
/* end */

--------------------

extconf.h is:
/* begin */
1: #ifndef EXTCONF_H
2: #define EXTCONF_H
3: #define HAVE_FFI_H 1
4: #define HAVE_FFI_PREP_CIF_VAR 1
5: #define HAVE_FFI_RAW_CALL 1
6: #define HAVE_FFI_PREP_RAW_CLOSURE 1
7: #define HAVE_RAW_API 1
8: #define HAVE_RB_GC_MARK_MOVABLE 1
9: #endif
/* end */

