have_func: checking for rb_enc_raise() in ruby.h... -------------------- yes "gcc -o conftest -I/Users/bladmin/.rubies/ruby-2.7.4/include/ruby-2.7.0/arm64-darwin22 -I/Users/bladmin/.rubies/ruby-2.7.4/include/ruby-2.7.0/ruby/backward -I/Users/bladmin/.rubies/ruby-2.7.4/include/ruby-2.7.0 -I. -I/opt/homebrew/opt/openssl@1.1/include -I/opt/homebrew/opt/readline/include -I/opt/homebrew/opt/libyaml/include -I/opt/homebrew/opt/gdbm/include -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_DARWIN_UNLIMITED_SELECT -D_REENTRANT -g -O2 -fno-common -pipe conftest.c -L. -L/Users/bladmin/.rubies/ruby-2.7.4/lib -L/opt/homebrew/opt/openssl@1.1/lib -L/opt/homebrew/opt/readline/lib -L/opt/homebrew/opt/libyaml/lib -L/opt/homebrew/opt/gdbm/lib -L. -fstack-protector-strong -L/opt/homebrew/opt/openssl@1.1/lib -L/opt/homebrew/opt/readline/lib -L/opt/homebrew/opt/libyaml/lib -L/opt/homebrew/opt/gdbm/lib -m64 -lruby.2.7 " 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/Users/bladmin/.rubies/ruby-2.7.4/include/ruby-2.7.0/arm64-darwin22 -I/Users/bladmin/.rubies/ruby-2.7.4/include/ruby-2.7.0/ruby/backward -I/Users/bladmin/.rubies/ruby-2.7.4/include/ruby-2.7.0 -I. -I/opt/homebrew/opt/openssl@1.1/include -I/opt/homebrew/opt/readline/include -I/opt/homebrew/opt/libyaml/include -I/opt/homebrew/opt/gdbm/include -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_DARWIN_UNLIMITED_SELECT -D_REENTRANT -g -O2 -fno-common -pipe conftest.c -L. -L/Users/bladmin/.rubies/ruby-2.7.4/lib -L/opt/homebrew/opt/openssl@1.1/lib -L/opt/homebrew/opt/readline/lib -L/opt/homebrew/opt/libyaml/lib -L/opt/homebrew/opt/gdbm/lib -L. -fstack-protector-strong -L/opt/homebrew/opt/openssl@1.1/lib -L/opt/homebrew/opt/readline/lib -L/opt/homebrew/opt/libyaml/lib -L/opt/homebrew/opt/gdbm/lib -m64 -lruby.2.7 " conftest.c:16:57: error: use of undeclared identifier 'rb_enc_raise' int t(void) { void ((*volatile p)()); p = (void ((*)()))rb_enc_raise; return !p; } ^ 1 error generated. 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: 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 ((*)()))rb_enc_raise; return !p; } /* end */ "gcc -o conftest -I/Users/bladmin/.rubies/ruby-2.7.4/include/ruby-2.7.0/arm64-darwin22 -I/Users/bladmin/.rubies/ruby-2.7.4/include/ruby-2.7.0/ruby/backward -I/Users/bladmin/.rubies/ruby-2.7.4/include/ruby-2.7.0 -I. -I/opt/homebrew/opt/openssl@1.1/include -I/opt/homebrew/opt/readline/include -I/opt/homebrew/opt/libyaml/include -I/opt/homebrew/opt/gdbm/include -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_DARWIN_UNLIMITED_SELECT -D_REENTRANT -g -O2 -fno-common -pipe conftest.c -L. -L/Users/bladmin/.rubies/ruby-2.7.4/lib -L/opt/homebrew/opt/openssl@1.1/lib -L/opt/homebrew/opt/readline/lib -L/opt/homebrew/opt/libyaml/lib -L/opt/homebrew/opt/gdbm/lib -L. -fstack-protector-strong -L/opt/homebrew/opt/openssl@1.1/lib -L/opt/homebrew/opt/readline/lib -L/opt/homebrew/opt/libyaml/lib -L/opt/homebrew/opt/gdbm/lib -m64 -lruby.2.7 " 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: int (* volatile tp)(void)=(int (*)(void))&t; 11: printf("%d", (*tp)()); 12: } 13: 14: return !!argv[argc]; 15: } 16: extern void rb_enc_raise(); 17: int t(void) { rb_enc_raise(); return 0; } /* end */ -------------------- have_func: checking for rb_enc_interned_str() in ruby.h... -------------------- no "gcc -o conftest -I/Users/bladmin/.rubies/ruby-2.7.4/include/ruby-2.7.0/arm64-darwin22 -I/Users/bladmin/.rubies/ruby-2.7.4/include/ruby-2.7.0/ruby/backward -I/Users/bladmin/.rubies/ruby-2.7.4/include/ruby-2.7.0 -I. -I/opt/homebrew/opt/openssl@1.1/include -I/opt/homebrew/opt/readline/include -I/opt/homebrew/opt/libyaml/include -I/opt/homebrew/opt/gdbm/include -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_DARWIN_UNLIMITED_SELECT -D_REENTRANT -g -O2 -fno-common -pipe conftest.c -L. -L/Users/bladmin/.rubies/ruby-2.7.4/lib -L/opt/homebrew/opt/openssl@1.1/lib -L/opt/homebrew/opt/readline/lib -L/opt/homebrew/opt/libyaml/lib -L/opt/homebrew/opt/gdbm/lib -L. -fstack-protector-strong -L/opt/homebrew/opt/openssl@1.1/lib -L/opt/homebrew/opt/readline/lib -L/opt/homebrew/opt/libyaml/lib -L/opt/homebrew/opt/gdbm/lib -m64 -lruby.2.7 " conftest.c:16:57: error: use of undeclared identifier 'rb_enc_interned_str' int t(void) { void ((*volatile p)()); p = (void ((*)()))rb_enc_interned_str; return !p; } ^ 1 error generated. 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: 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 ((*)()))rb_enc_interned_str; return !p; } /* end */ "gcc -o conftest -I/Users/bladmin/.rubies/ruby-2.7.4/include/ruby-2.7.0/arm64-darwin22 -I/Users/bladmin/.rubies/ruby-2.7.4/include/ruby-2.7.0/ruby/backward -I/Users/bladmin/.rubies/ruby-2.7.4/include/ruby-2.7.0 -I. -I/opt/homebrew/opt/openssl@1.1/include -I/opt/homebrew/opt/readline/include -I/opt/homebrew/opt/libyaml/include -I/opt/homebrew/opt/gdbm/include -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_DARWIN_UNLIMITED_SELECT -D_REENTRANT -g -O2 -fno-common -pipe conftest.c -L. -L/Users/bladmin/.rubies/ruby-2.7.4/lib -L/opt/homebrew/opt/openssl@1.1/lib -L/opt/homebrew/opt/readline/lib -L/opt/homebrew/opt/libyaml/lib -L/opt/homebrew/opt/gdbm/lib -L. -fstack-protector-strong -L/opt/homebrew/opt/openssl@1.1/lib -L/opt/homebrew/opt/readline/lib -L/opt/homebrew/opt/libyaml/lib -L/opt/homebrew/opt/gdbm/lib -m64 -lruby.2.7 " Undefined symbols for architecture arm64: "_rb_enc_interned_str", referenced from: _t in conftest-e6c065.o ld: symbol(s) not found for architecture arm64 clang: error: linker command failed with exit code 1 (use -v to see invocation) 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: int (* volatile tp)(void)=(int (*)(void))&t; 11: printf("%d", (*tp)()); 12: } 13: 14: return !!argv[argc]; 15: } 16: extern void rb_enc_interned_str(); 17: int t(void) { rb_enc_interned_str(); return 0; } /* end */ --------------------