
Issue #19612 has been reported by hdiwan415 (Hasan Diwan). ---------------------------------------- Bug #19612: Embed error https://bugs.ruby-lang.org/issues/19612 * Author: hdiwan415 (Hasan Diwan) * Status: Open * Priority: Normal * ruby -v: ruby 3.2.0 (2022-12-25 revision a528908271) [x86_64-linux] * Backport: 3.0: UNKNOWN, 3.1: UNKNOWN, 3.2: UNKNOWN ---------------------------------------- Makefile: INC_DIRS=$(HOME)/.rvm/rubies/ruby-3.2.0/include/ruby/ LIB=$(HOME)/.rvm/rubies/ruby-3.2.0/lib/ # Thanks to Job Vranish (https://spin.atomicobject.com/2016/08/26/makefile-c-projects/) TARGET_EXEC := dotiw BUILD_DIR := ./build SRC_DIRS := . # Find all the C and C++ files we want to compile # Note the single quotes around the * expressions. The shell will incorrectly expand these otherwise, but we want to send the * directly to the find command. SRCS := $(shell find $(SRC_DIRS) -name '*.cpp' -or -name '*.c' -or -name '*.s') # Prepends BUILD_DIR and appends .o to every src file # As an example, ./your_dir/hello.cpp turns into ./build/./your_dir/hello.cpp.o OBJS := $(SRCS:%=$(BUILD_DIR)/%.o) # String substitution (suffix version without %). # As an example, ./build/hello.cpp.o turns into ./build/hello.cpp.d DEPS := $(OBJS:.o=.d) # Add a prefix to INC_DIRS. So moduleA would become -ImoduleA. GCC understands this -I flag INC_FLAGS := $(addprefix -I,$(INC_DIRS)) # The -MMD and -MP flags together generate Makefiles for us! # These files will have .d instead of .o as the output. CPPFLAGS := $(INC_FLAGS) -MMD -MP # The final build step. $(BUILD_DIR)/$(TARGET_EXEC): $(OBJS) $(CC) $(OBJS) -o $@ $(LDFLAGS) $(LIB) -lruby # Build step for C source $(BUILD_DIR)/%.c.o: %.c mkdir -p $(dir $@) $(CC) $(CPPFLAGS) $(CFLAGS) -c $< -o $@ # Build step for C++ source $(BUILD_DIR)/%.cpp.o: %.cpp mkdir -p $(dir $@) $(CXX) $(CPPFLAGS) $(CXXFLAGS) -c $< -o $@ .PHONY: clean clean: rm -r $(BUILD_DIR) # Include the .d makefiles. The - at the front suppresses the errors of missing # Makefiles. Initially, all the .d files will be missing, and we don't want those # errors to show up. -include $(DEPS) ______ END OF Makefile ____ dotiw.c: #include "ruby.h" int main(int argc, char* argv[]) { int state = 0; /* construct the VM */ ruby_init(); ruby_script(argv[0]); ruby_init_loadpath(); void* node = ruby_options(2, "puts \"hello world!\""); if (ruby_executable_node(node, &state)) { state = ruby_exec_node(node); } if (state) { /* handle exception, perhaps */ } return ruby_cleanup(state); } ______ END OF dotiw.c ____ Finally, a compile log: mkdir -p build/./ cc -I/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ -MMD -MP -c dotiw.c -o build/./dotiw.c.o In file included from [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/backward/2/bool.h:22[m[K, from [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/defines.h:74[m[K, from [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/ruby.h:25[m[K, from [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby.h:38[m[K, from [01m[Kdotiw.c:1[m[K: [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/internal/stdbool.h:43:23:[m[K [01;31m[Kerror: [m[Ktwo or more data types in declaration specifiers 43 | typedef unsigned char [01;31m[K_Bool[m[K; | [01;31m[K^~~~~[m[K [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/internal/stdbool.h:43:1:[m[K [01;35m[Kwarning: [m[Kuseless type name in empty declaration 43 | [01;35m[Ktypedef[m[K unsigned char _Bool; | [01;35m[K^~~~~~~[m[K In file included from [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/defines.h:75[m[K: [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/backward/2/long_long.h:67:3:[m[K [01;31m[Kerror: [m[K#error Hello! Ruby developers believe this message must not happen. 67 | # [01;31m[Kerror[m[K Hello! Ruby developers believe this message must not happen. | [01;31m[K^~~~~[m[K [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/backward/2/long_long.h:68:3:[m[K [01;31m[Kerror: [m[K#error If you encounter this message, can you file a bug report? 68 | # [01;31m[Kerror[m[K If you encounter this message, can you file a bug report? | [01;31m[K^~~~~[m[K [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/backward/2/long_long.h:69:3:[m[K [01;31m[Kerror: [m[K#error Remember to attach a detailed description of your environment. 69 | # [01;31m[Kerror[m[K Remember to attach a detailed description of your environment. | [01;31m[K^~~~~[m[K [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/backward/2/long_long.h:70:3:[m[K [01;31m[Kerror: [m[K#error Thank you! 70 | # [01;31m[Kerror[m[K Thank you! | [01;31m[K^~~~~[m[K In file included from [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/defines.h:79[m[K: [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/missing.h:64:5:[m[K [01;31m[Kerror: [m[Kunknown type name '[01m[Ktime_t[m[K' 64 | [01;31m[Ktime_t[m[K tv_sec; /* seconds */ | [01;31m[K^~~~~~[m[K [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/missing.h:75:5:[m[K [01;31m[Kerror: [m[Kunknown type name '[01m[Ktime_t[m[K' 75 | [01;31m[Ktime_t[m[K tv_sec; /* seconds */ | [01;31m[K^~~~~~[m[K [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/missing.h:248:13:[m[K [01;31m[Kerror: [m[Kunknown type name '[01m[Krb_uid_t[m[K' 248 | RUBY_EXTERN [01;31m[Krb_uid_t[m[K geteuid(void); | [01;31m[K^~~~~~~~[m[K [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/missing.h:252:13:[m[K [01;31m[Kerror: [m[Kunknown type name '[01m[Krb_uid_t[m[K' 252 | RUBY_EXTERN [01;31m[Krb_uid_t[m[K getuid(void); | [01;31m[K^~~~~~~~[m[K [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/missing.h:256:13:[m[K [01;31m[Kerror: [m[Kunknown type name '[01m[Krb_gid_t[m[K' 256 | RUBY_EXTERN [01;31m[Krb_gid_t[m[K getegid(void); | [01;31m[K^~~~~~~~[m[K [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/missing.h:260:13:[m[K [01;31m[Kerror: [m[Kunknown type name '[01m[Krb_gid_t[m[K' 260 | RUBY_EXTERN [01;31m[Krb_gid_t[m[K getgid(void); | [01;31m[K^~~~~~~~[m[K [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/missing.h:268:13:[m[K [01;31m[Kerror: [m[Kunknown type name '[01m[Krb_pid_t[m[K' 268 | RUBY_EXTERN [01;31m[Krb_pid_t[m[K getppid(void); | [01;31m[K^~~~~~~~[m[K [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/missing.h:272:13:[m[K [01;31m[Kerror: [m[Kunknown type name '[01m[Krb_mode_t[m[K' 272 | RUBY_EXTERN [01;31m[Krb_mode_t[m[K umask(rb_mode_t); | [01;31m[K^~~~~~~~~[m[K [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/missing.h:272:1:[m[K [01;35m[Kwarning: [m[Kparameter names (without types) in function declaration 272 | [01;35m[KRUBY_EXTERN[m[K rb_mode_t umask(rb_mode_t); | [01;35m[K^~~~~~~~~~~[m[K [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/missing.h:276:37:[m[K [01;31m[Kerror: [m[Kunknown type name '[01m[Krb_mode_t[m[K' 276 | RUBY_EXTERN int chmod(const char *, [01;31m[Krb_mode_t[m[K); | [01;31m[K^~~~~~~~~[m[K [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/missing.h:280:37:[m[K [01;31m[Kerror: [m[Kunknown type name '[01m[Krb_uid_t[m[K' 280 | RUBY_EXTERN int chown(const char *, [01;31m[Krb_uid_t[m[K, rb_gid_t); | [01;31m[K^~~~~~~~[m[K [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/missing.h:280:47:[m[K [01;31m[Kerror: [m[Kunknown type name '[01m[Krb_gid_t[m[K' 280 | RUBY_EXTERN int chown(const char *, rb_uid_t, [01;31m[Krb_gid_t[m[K); | [01;31m[K^~~~~~~~[m[K [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/missing.h:304:31:[m[K [01;31m[Kerror: [m[Kexpected '[01m[K)[m[K' before '[01m[Kint[m[K' 304 | RUBY_EXTERN int kill(rb_pid_t,[01;31m[K [m[K[32m[Kint[m[K); | [01;31m[K^[m[K[32m[K~~~[m[K | [32m[K)[m[K [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/missing.h:337:13:[m[K [01;31m[Kerror: [m[Kunknown type name '[01m[Krb_pid_t[m[K' 337 | RUBY_EXTERN [01;31m[Krb_pid_t[m[K waitpid(rb_pid_t, int *, int); | [01;31m[K^~~~~~~~[m[K [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/missing.h:337:39:[m[K [01;31m[Kerror: [m[Kexpected '[01m[K)[m[K' before '[01m[Kint[m[K' 337 | RUBY_EXTERN rb_pid_t waitpid(rb_pid_t,[01;31m[K [m[K[32m[Kint[m[K *, int); | [01;31m[K^[m[K[32m[K~~~[m[K | [32m[K)[m[K In file included from [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/internal/value.h:23[m[K, from [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/internal/intern/class.h:24[m[K, from [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/internal/anyargs.h:76[m[K, from [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/ruby.h:27[m[K: [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/internal/value.h:128:34:[m[K [01;31m[Kerror: [m[K'[01m[KSIZEOF_INT[m[K' undeclared here (not in a function); did you mean '[01m[KSIZE_MIN[m[K'? 128 | RBIMPL_STATIC_ASSERT(sizeof_int, [01;31m[KSIZEOF_INT[m[K == sizeof(int)); | [01;31m[K^~~~~~~~~~[m[K [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/internal/static_assert.h:70:27:[m[K [01;36m[Knote: [m[Kin definition of macro '[01m[KRBIMPL_STATIC_ASSERT[m[K' 70 | RBIMPL_STATIC_ASSERT0([01;36m[Kexpr[m[K, # name ": " # expr) | [01;36m[K^~~~[m[K [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/internal/value.h:128:34:[m[K [01;31m[Kerror: [m[Kexpression in static assertion is not an integer 128 | RBIMPL_STATIC_ASSERT(sizeof_int, [01;31m[KSIZEOF_INT[m[K == sizeof(int)); | [01;31m[K^~~~~~~~~~[m[K [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/internal/static_assert.h:70:27:[m[K [01;36m[Knote: [m[Kin definition of macro '[01m[KRBIMPL_STATIC_ASSERT[m[K' 70 | RBIMPL_STATIC_ASSERT0([01;36m[Kexpr[m[K, # name ": " # expr) | [01;36m[K^~~~[m[K [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/internal/value.h:129:35:[m[K [01;31m[Kerror: [m[K'[01m[KSIZEOF_LONG[m[K' undeclared here (not in a function) 129 | RBIMPL_STATIC_ASSERT(sizeof_long, [01;31m[KSIZEOF_LONG[m[K == sizeof(long)); | [01;31m[K^~~~~~~~~~~[m[K [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/internal/static_assert.h:70:27:[m[K [01;36m[Knote: [m[Kin definition of macro '[01m[KRBIMPL_STATIC_ASSERT[m[K' 70 | RBIMPL_STATIC_ASSERT0([01;36m[Kexpr[m[K, # name ": " # expr) | [01;36m[K^~~~[m[K [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/internal/value.h:129:35:[m[K [01;31m[Kerror: [m[Kexpression in static assertion is not an integer 129 | RBIMPL_STATIC_ASSERT(sizeof_long, [01;31m[KSIZEOF_LONG[m[K == sizeof(long)); | [01;31m[K^~~~~~~~~~~[m[K [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/internal/static_assert.h:70:27:[m[K [01;36m[Knote: [m[Kin definition of macro '[01m[KRBIMPL_STATIC_ASSERT[m[K' 70 | RBIMPL_STATIC_ASSERT0([01;36m[Kexpr[m[K, # name ": " # expr) | [01;36m[K^~~~[m[K [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/internal/value.h:130:40:[m[K [01;31m[Kerror: [m[K'[01m[KSIZEOF_LONG_LONG[m[K' undeclared here (not in a function) 130 | RBIMPL_STATIC_ASSERT(sizeof_long_long, [01;31m[KSIZEOF_LONG_LONG[m[K == sizeof(LONG_LONG)); | [01;31m[K^~~~~~~~~~~~~~~~[m[K [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/internal/static_assert.h:70:27:[m[K [01;36m[Knote: [m[Kin definition of macro '[01m[KRBIMPL_STATIC_ASSERT[m[K' 70 | RBIMPL_STATIC_ASSERT0([01;36m[Kexpr[m[K, # name ": " # expr) | [01;36m[K^~~~[m[K [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/internal/value.h:130:67:[m[K [01;31m[Kerror: [m[K'[01m[KLONG_LONG[m[K' undeclared here (not in a function); did you mean '[01m[KLONG_MIN[m[K'? 130 | RBIMPL_STATIC_ASSERT(sizeof_long_long, SIZEOF_LONG_LONG == sizeof([01;31m[KLONG_LONG[m[K)); | [01;31m[K^~~~~~~~~[m[K [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/internal/static_assert.h:70:27:[m[K [01;36m[Knote: [m[Kin definition of macro '[01m[KRBIMPL_STATIC_ASSERT[m[K' 70 | RBIMPL_STATIC_ASSERT0([01;36m[Kexpr[m[K, # name ": " # expr) | [01;36m[K^~~~[m[K [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/internal/value.h:130:40:[m[K [01;31m[Kerror: [m[Kexpression in static assertion is not an integer 130 | RBIMPL_STATIC_ASSERT(sizeof_long_long, [01;31m[KSIZEOF_LONG_LONG[m[K == sizeof(LONG_LONG)); | [01;31m[K^~~~~~~~~~~~~~~~[m[K [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/internal/static_assert.h:70:27:[m[K [01;36m[Knote: [m[Kin definition of macro '[01m[KRBIMPL_STATIC_ASSERT[m[K' 70 | RBIMPL_STATIC_ASSERT0([01;36m[Kexpr[m[K, # name ": " # expr) | [01;36m[K^~~~[m[K [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/internal/value.h:131:36:[m[K [01;31m[Kerror: [m[K'[01m[KSIZEOF_VOIDP[m[K' undeclared here (not in a function); did you mean '[01m[KSIZEOF_VALUE[m[K'? 131 | RBIMPL_STATIC_ASSERT(sizeof_voidp, [01;31m[KSIZEOF_VOIDP[m[K == sizeof(void *)); | [01;31m[K^~~~~~~~~~~~[m[K [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/internal/static_assert.h:70:27:[m[K [01;36m[Knote: [m[Kin definition of macro '[01m[KRBIMPL_STATIC_ASSERT[m[K' 70 | RBIMPL_STATIC_ASSERT0([01;36m[Kexpr[m[K, # name ": " # expr) | [01;36m[K^~~~[m[K [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/internal/value.h:131:36:[m[K [01;31m[Kerror: [m[Kexpression in static assertion is not an integer 131 | RBIMPL_STATIC_ASSERT(sizeof_voidp, [01;31m[KSIZEOF_VOIDP[m[K == sizeof(void *)); | [01;31m[K^~~~~~~~~~~~[m[K [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/internal/static_assert.h:70:27:[m[K [01;36m[Knote: [m[Kin definition of macro '[01m[KRBIMPL_STATIC_ASSERT[m[K' 70 | RBIMPL_STATIC_ASSERT0([01;36m[Kexpr[m[K, # name ": " # expr) | [01;36m[K^~~~[m[K In file included from [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/internal/arithmetic/int.h:25[m[K, from [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/internal/arithmetic/char.h:23[m[K, from [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/internal/arithmetic.h:24[m[K, from [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/ruby.h:28[m[K: [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/internal/arithmetic/intptr_t.h:45:18:[m[K [01;31m[Kerror: [m[Kunknown type name '[01m[Kintptr_t[m[K' 45 | VALUE rb_int2big([01;31m[Kintptr_t[m[K i); | [01;31m[K^~~~~~~~[m[K [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/internal/arithmetic/intptr_t.h:1:1:[m[K [01;36m[Knote: [m[K'[01m[Kintptr_t[m[K' is defined in header '[01m[K<stdint.h>[m[K'; did you forget to '[01m[K#include <stdint.h>[m[K'? +++ |+[32m[K#include <stdint.h>[m[K 1 | #ifndef RBIMPL_ARITHMETIC_INTPTR_T_H /*-*-C++-*-vi:se ft=cpp:*/ [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/internal/arithmetic/intptr_t.h:53:19:[m[K [01;31m[Kerror: [m[Kunknown type name '[01m[Kintptr_t[m[K' 53 | VALUE rb_int2inum([01;31m[Kintptr_t[m[K i); | [01;31m[K^~~~~~~~[m[K [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/internal/arithmetic/intptr_t.h:53:19:[m[K [01;36m[Knote: [m[K'[01m[Kintptr_t[m[K' is defined in header '[01m[K<stdint.h>[m[K'; did you forget to '[01m[K#include <stdint.h>[m[K'? [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/internal/arithmetic/intptr_t.h:63:19:[m[K [01;31m[Kerror: [m[Kunknown type name '[01m[Kuintptr_t[m[K' 63 | VALUE rb_uint2big([01;31m[Kuintptr_t[m[K i); | [01;31m[K^~~~~~~~~[m[K [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/internal/arithmetic/intptr_t.h:63:19:[m[K [01;36m[Knote: [m[K'[01m[Kuintptr_t[m[K' is defined in header '[01m[K<stdint.h>[m[K'; did you forget to '[01m[K#include <stdint.h>[m[K'? [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/internal/arithmetic/intptr_t.h:71:20:[m[K [01;31m[Kerror: [m[Kunknown type name '[01m[Kuintptr_t[m[K' 71 | VALUE rb_uint2inum([01;31m[Kuintptr_t[m[K i); | [01;31m[K^~~~~~~~~[m[K [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/internal/arithmetic/intptr_t.h:71:20:[m[K [01;36m[Knote: [m[K'[01m[Kuintptr_t[m[K' is defined in header '[01m[K<stdint.h>[m[K'; did you forget to '[01m[K#include <stdint.h>[m[K'? [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/internal/special_consts.h:[m[K In function '[01m[KRB_STATIC_SYM_P[m[K': [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/internal/value.h:110:28:[m[K [01;31m[Kerror: [m[K'[01m[KULONG_MAX[m[K' undeclared (first use in this function) 110 | # define RBIMPL_VALUE_FULL [01;31m[KULONG_MAX[m[K | [01;31m[K^~~~~~~~~[m[K [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/internal/special_consts.h:270:26:[m[K [01;36m[Knote: [m[Kin expansion of macro '[01m[KRBIMPL_VALUE_FULL[m[K' 270 | const VALUE mask = ~([01;36m[KRBIMPL_VALUE_FULL[m[K << RUBY_SPECIAL_SHIFT); | [01;36m[K^~~~~~~~~~~~~~~~~[m[K In file included from [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/internal/arithmetic/long.h:42[m[K, from [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/internal/arithmetic/int.h:26[m[K: [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/internal/special_consts.h:31:1:[m[K [01;36m[Knote: [m[K'[01m[KULONG_MAX[m[K' is defined in header '[01m[K<limits.h>[m[K'; did you forget to '[01m[K#include <limits.h>[m[K'? 30 | #include "ruby/internal/attr/enum_extensibility.h" +++ |+[32m[K#include <limits.h>[m[K 31 | #include "ruby/internal/stdbool.h" [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/internal/value.h:110:28:[m[K [01;36m[Knote: [m[Keach undeclared identifier is reported only once for each function it appears in 110 | # define RBIMPL_VALUE_FULL [01;36m[KULONG_MAX[m[K | [01;36m[K^~~~~~~~~[m[K [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/internal/special_consts.h:270:26:[m[K [01;36m[Knote: [m[Kin expansion of macro '[01m[KRBIMPL_VALUE_FULL[m[K' 270 | const VALUE mask = ~([01;36m[KRBIMPL_VALUE_FULL[m[K << RUBY_SPECIAL_SHIFT); | [01;36m[K^~~~~~~~~~~~~~~~~[m[K [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/internal/arithmetic/long.h:[m[K In function '[01m[Krb_long2num_inline[m[K': [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/internal/arithmetic/long.h:313:16:[m[K [01;35m[Kwarning: [m[Kimplicit declaration of function '[01m[Krb_int2big[m[K' [[01;35m[K]8;;https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Wimplicit-function-declaration-Wimplicit-function-declaration]8;;[m[K] 313 | return [01;35m[Krb_int2big[m[K(v); | [01;35m[K^~~~~~~~~~[m[K [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/internal/arithmetic/long.h:[m[K In function '[01m[Krb_ulong2num_inline[m[K': [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/internal/arithmetic/long.h:328:16:[m[K [01;35m[Kwarning: [m[Kimplicit declaration of function '[01m[Krb_uint2big[m[K' [[01;35m[K]8;;https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Wimplicit-function-declaration-Wimplicit-function-declaration]8;;[m[K] 328 | return [01;35m[Krb_uint2big[m[K(v); | [01;35m[K^~~~~~~~~~~[m[K In file included from [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/internal/arithmetic.h:31[m[K: [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/internal/arithmetic/long_long.h:[m[K At top level: [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/internal/arithmetic/long_long.h:44:18:[m[K [01;31m[Kerror: [m[Kexpected declaration specifiers or '[01m[K...[m[K' before '[01m[KLONG_LONG[m[K' 44 | VALUE rb_ll2inum([01;31m[KLONG_LONG[m[K num); | [01;31m[K^~~~~~~~~[m[K [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/internal/arithmetic/long_long.h:52:38:[m[K [01;31m[Kerror: [m[Kexpected '[01m[K;[m[K', '[01m[K,[m[K' or '[01m[K)[m[K' before '[01m[Knum[m[K' 52 | VALUE rb_ull2inum(unsigned LONG_LONG [01;31m[Knum[m[K); | [01;31m[K^~~[m[K [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/internal/arithmetic/long_long.h:62:1:[m[K [01;31m[Kerror: [m[Kunknown type name '[01m[KLONG_LONG[m[K'; did you mean '[01m[KLONG_MIN[m[K'? 62 | [01;31m[KLONG_LONG[m[K rb_num2ll(VALUE num); | [01;31m[K^~~~~~~~~[m[K | [32m[KLONG_MIN[m[K [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/internal/arithmetic/long_long.h:72:20:[m[K [01;31m[Kerror: [m[Kexpected '[01m[K=[m[K', '[01m[K,[m[K', '[01m[K;[m[K', '[01m[Kasm[m[K' or '[01m[K__attribute__[m[K' before '[01m[Krb_num2ull[m[K' 72 | unsigned LONG_LONG [01;31m[Krb_num2ull[m[K(VALUE num); | [01;31m[K^~~~~~~~~~[m[K [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/internal/arithmetic/long_long.h:82:18:[m[K [01;31m[Kerror: [m[Kexpected declaration specifiers or '[01m[K...[m[K' before '[01m[KLONG_LONG[m[K' 82 | rb_ll2num_inline([01;31m[KLONG_LONG[m[K n) | [01;31m[K^~~~~~~~~[m[K [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/internal/arithmetic/long_long.h:95:38:[m[K [01;31m[Kerror: [m[Kexpected '[01m[K;[m[K', '[01m[K,[m[K' or '[01m[K)[m[K' before '[01m[Kn[m[K' 95 | rb_ull2num_inline(unsigned LONG_LONG [01;31m[Kn[m[K) | [01;31m[K^[m[K [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/internal/arithmetic/long_long.h:110:1:[m[K [01;31m[Kerror: [m[Kexpected '[01m[K=[m[K', '[01m[K,[m[K', '[01m[K;[m[K', '[01m[Kasm[m[K' or '[01m[K__attribute__[m[K' before '[01m[Krb_num2ll_inline[m[K' 110 | [01;31m[Krb_num2ll_inline[m[K(VALUE x) | [01;31m[K^~~~~~~~~~~~~~~~[m[K [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/internal/arithmetic/long_long.h:127:1:[m[K [01;31m[Kerror: [m[Kexpected '[01m[K=[m[K', '[01m[K,[m[K', '[01m[K;[m[K', '[01m[Kasm[m[K' or '[01m[K__attribute__[m[K' before '[01m[Krb_num2ull_inline[m[K' 127 | [01;31m[Krb_num2ull_inline[m[K(VALUE x) | [01;31m[K^~~~~~~~~~~~~~~~~[m[K In file included from [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/defines.h:73[m[K: [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/st.h:177:54:[m[K [01;31m[Kerror: [m[Kunknown type name '[01m[Kuint32_t[m[K' 177 | CONSTFUNC(st_index_t rb_st_hash_uint32(st_index_t h, [01;31m[Kuint32_t[m[K i)); | [01;31m[K^~~~~~~~[m[K [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/backward/2/attributes.h:50:42:[m[K [01;36m[Knote: [m[Kin definition of macro '[01m[KCONSTFUNC[m[K' 50 | #define CONSTFUNC(x) RBIMPL_ATTR_CONST() [01;36m[Kx[m[K | [01;36m[K^[m[K In file included from [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/internal/arithmetic/st_data_t.h:31[m[K, from [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/internal/arithmetic.h:37[m[K: [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/st.h:1:1:[m[K [01;36m[Knote: [m[K'[01m[Kuint32_t[m[K' is defined in header '[01m[K<stdint.h>[m[K'; did you forget to '[01m[K#include <stdint.h>[m[K'? +++ |+[32m[K#include <stdint.h>[m[K 1 | /* This is a public domain general purpose hash table package In file included from [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/internal/core.h:30[m[K, from [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/ruby.h:29[m[K: [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/internal/core/robject.h:143:14:[m[K [01;31m[Kerror: [m[Kunknown type name '[01m[Kint32_t[m[K' 143 | static const [01;31m[Kint32_t[m[K ROBJECT_OFFSET_AS_HEAP_IVPTR = offsetof(struct RObject, as.heap.ivptr); | [01;31m[K^~~~~~~[m[K [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/internal/core/robject.h:143:53:[m[K [01;35m[Kwarning: [m[Kimplicit declaration of function '[01m[Koffsetof[m[K' [[01;35m[K]8;;https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Wimplicit-function-declaration-Wimplicit-function-declaration]8;;[m[K] 143 | static const int32_t ROBJECT_OFFSET_AS_HEAP_IVPTR = [01;35m[Koffsetof[m[K(struct RObject, as.heap.ivptr); | [01;35m[K^~~~~~~~[m[K [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/internal/core/robject.h:1:1:[m[K [01;36m[Knote: [m[K'[01m[Koffsetof[m[K' is defined in header '[01m[K<stddef.h>[m[K'; did you forget to '[01m[K#include <stddef.h>[m[K'? +++ |+[32m[K#include <stddef.h>[m[K 1 | #ifndef RBIMPL_ROBJECT_H /*-*-C++-*-vi:se ft=cpp:*/ [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/internal/core/robject.h:143:62:[m[K [01;31m[Kerror: [m[Kexpected expression before '[01m[Kstruct[m[K' 143 | static const int32_t ROBJECT_OFFSET_AS_HEAP_IVPTR = offsetof([01;31m[Kstruct[m[K RObject, as.heap.ivptr); | [01;31m[K^~~~~~[m[K [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/internal/core/robject.h:144:14:[m[K [01;31m[Kerror: [m[Kunknown type name '[01m[Kint32_t[m[K' 144 | static const [01;31m[Kint32_t[m[K ROBJECT_OFFSET_AS_HEAP_IV_INDEX_TBL = offsetof(struct RObject, as.heap.iv_index_tbl); | [01;31m[K^~~~~~~[m[K [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/internal/core/robject.h:144:69:[m[K [01;31m[Kerror: [m[Kexpected expression before '[01m[Kstruct[m[K' 144 | static const int32_t ROBJECT_OFFSET_AS_HEAP_IV_INDEX_TBL = offsetof([01;31m[Kstruct[m[K RObject, as.heap.iv_index_tbl); | [01;31m[K^~~~~~[m[K [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/internal/core/robject.h:145:14:[m[K [01;31m[Kerror: [m[Kunknown type name '[01m[Kint32_t[m[K' 145 | static const [01;31m[Kint32_t[m[K ROBJECT_OFFSET_AS_ARY = offsetof(struct RObject, as.ary); | [01;31m[K^~~~~~~[m[K [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/internal/core/robject.h:145:55:[m[K [01;31m[Kerror: [m[Kexpected expression before '[01m[Kstruct[m[K' 145 | static const int32_t ROBJECT_OFFSET_AS_ARY = offsetof([01;31m[Kstruct[m[K RObject, as.ary); | [01;31m[K^~~~~~[m[K In file included from [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/ruby.h:34[m[K: [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/internal/event.h:103:9:[m[K [01;31m[Kerror: [m[Kunknown type name '[01m[Kuint32_t[m[K' 103 | typedef [01;31m[Kuint32_t[m[K rb_event_flag_t; | [01;31m[K^~~~~~~~[m[K In file included from [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/ruby.h:42[m[K: [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/internal/memory.h:[m[K In function '[01m[Krb_mul_size_overflow[m[K': [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/internal/memory.h:528:31:[m[K [01;31m[Kerror: [m[Kexpected '[01m[K=[m[K', '[01m[K,[m[K', '[01m[K;[m[K', '[01m[Kasm[m[K' or '[01m[K__attribute__[m[K' before '[01m[Kda[m[K' 528 | RB_GNUC_EXTENSION DSIZE_T [01;31m[Kda[m[K, db, c2; | [01;31m[K^~[m[K [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/internal/memory.h:528:31:[m[K [01;31m[Kerror: [m[K'[01m[Kda[m[K' undeclared (first use in this function); did you mean '[01m[Ka[m[K'? 528 | RB_GNUC_EXTENSION DSIZE_T [01;31m[Kda[m[K, db, c2; | [01;31m[K^~[m[K | [32m[Ka[m[K [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/internal/memory.h:528:35:[m[K [01;31m[Kerror: [m[K'[01m[Kdb[m[K' undeclared (first use in this function); did you mean '[01m[Kb[m[K'? 528 | RB_GNUC_EXTENSION DSIZE_T da, [01;31m[Kdb[m[K, c2; | [01;31m[K^~[m[K | [32m[Kb[m[K [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/internal/memory.h:528:39:[m[K [01;31m[Kerror: [m[K'[01m[Kc2[m[K' undeclared (first use in this function); did you mean '[01m[Kc[m[K'? 528 | RB_GNUC_EXTENSION DSIZE_T da, db, [01;31m[Kc2[m[K; | [01;31m[K^~[m[K | [32m[Kc[m[K [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/internal/memory.h:[m[K In function '[01m[Kruby_nonempty_memcpy[m[K': [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/internal/memory.h:658:16:[m[K [01;35m[Kwarning: [m[Kimplicit declaration of function '[01m[Kmemcpy[m[K' [[01;35m[K]8;;https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Wimplicit-function-declaration-Wimplicit-function-declaration]8;;[m[K] 658 | return [01;35m[Kmemcpy[m[K(dest, src, n); | [01;35m[K^~~~~~[m[K [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/internal/memory.h:1:1:[m[K [01;36m[Knote: [m[Kinclude '[01m[K<string.h>[m[K' or provide a declaration of '[01m[Kmemcpy[m[K' +++ |+[32m[K#include <string.h>[m[K 1 | #ifndef RBIMPL_MEMORY_H /*-*-C++-*-vi:se ft=cpp:*/ [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/internal/memory.h:658:16:[m[K [01;35m[Kwarning: [m[Kincompatible implicit declaration of built-in function '[01m[Kmemcpy[m[K' [[01;35m[K]8;;https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Wbuiltin-declaration-mismatch-Wbuiltin-declaration-mismatch]8;;[m[K] 658 | return [01;35m[Kmemcpy[m[K(dest, src, n); | [01;35m[K^~~~~~[m[K [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/internal/memory.h:658:16:[m[K [01;36m[Knote: [m[Kinclude '[01m[K<string.h>[m[K' or provide a declaration of '[01m[Kmemcpy[m[K' In file included from [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/ruby.h:49[m[K: [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/internal/symbol.h:[m[K In function '[01m[Krb_intern_const[m[K': [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/internal/symbol.h:278:18:[m[K [01;35m[Kwarning: [m[Kimplicit declaration of function '[01m[Kstrlen[m[K' [[01;35m[K]8;;https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Wimplicit-function-declaration-Wimplicit-function-declaration]8;;[m[K] 278 | size_t len = [01;35m[Kstrlen[m[K(str); | [01;35m[K^~~~~~[m[K [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/internal/symbol.h:1:1:[m[K [01;36m[Knote: [m[Kinclude '[01m[K<string.h>[m[K' or provide a declaration of '[01m[Kstrlen[m[K' +++ |+[32m[K#include <string.h>[m[K 1 | #ifndef RBIMPL_SYMBOL_H /*-*-C++-*-vi:se ft=cpp:*/ [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/internal/symbol.h:278:18:[m[K [01;35m[Kwarning: [m[Kincompatible implicit declaration of built-in function '[01m[Kstrlen[m[K' [[01;35m[K]8;;https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Wbuiltin-declaration-mismatch-Wbuiltin-declaration-mismatch]8;;[m[K] 278 | size_t len = [01;35m[Kstrlen[m[K(str); | [01;35m[K^~~~~~[m[K [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/internal/symbol.h:278:18:[m[K [01;36m[Knote: [m[Kinclude '[01m[K<string.h>[m[K' or provide a declaration of '[01m[Kstrlen[m[K' In file included from [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/intern.h:38[m[K, from [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/ruby.h:193[m[K: [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/internal/intern/file.h:[m[K At top level: [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/internal/intern/file.h:209:1:[m[K [01;31m[Kerror: [m[Kunknown type name '[01m[Krb_off_t[m[K'; did you mean '[01m[Koff_t[m[K'? 209 | [01;31m[Krb_off_t[m[K rb_file_size(VALUE file); | [01;31m[K^~~~~~~~[m[K | [32m[Koff_t[m[K In file included from [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/intern.h:41[m[K: [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/internal/intern/io.h:577:54:[m[K [01;31m[Kerror: [m[Kunknown type name '[01m[Kmode_t[m[K' 577 | int rb_cloexec_open(const char *pathname, int flags, [01;31m[Kmode_t[m[K mode); | [01;31m[K^~~~~~[m[K In file included from [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/intern.h:48[m[K: [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/internal/intern/process.h:40:37:[m[K [01;31m[Kerror: [m[Kunknown type name '[01m[Krb_pid_t[m[K' 40 | void rb_last_status_set(int status, [01;31m[Krb_pid_t[m[K pid); | [01;31m[K^~~~~~~~[m[K [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/internal/intern/process.h:190:1:[m[K [01;31m[Kerror: [m[Kunknown type name '[01m[Krb_pid_t[m[K' 190 | [01;31m[Krb_pid_t[m[K rb_waitpid(rb_pid_t pid, int *status, int flags); | [01;31m[K^~~~~~~~[m[K [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/internal/intern/process.h:190:21:[m[K [01;31m[Kerror: [m[Kunknown type name '[01m[Krb_pid_t[m[K' 190 | rb_pid_t rb_waitpid([01;31m[Krb_pid_t[m[K pid, int *status, int flags); | [01;31m[K^~~~~~~~[m[K [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/internal/intern/process.h:200:17:[m[K [01;31m[Kerror: [m[Kunknown type name '[01m[Krb_pid_t[m[K' 200 | void rb_syswait([01;31m[Krb_pid_t[m[K pid); | [01;31m[K^~~~~~~~[m[K [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/internal/intern/process.h:221:1:[m[K [01;31m[Kerror: [m[Kunknown type name '[01m[Krb_pid_t[m[K' 221 | [01;31m[Krb_pid_t[m[K rb_spawn(int argc, const VALUE *argv); | [01;31m[K^~~~~~~~[m[K [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/internal/intern/process.h:240:1:[m[K [01;31m[Kerror: [m[Kunknown type name '[01m[Krb_pid_t[m[K' 240 | [01;31m[Krb_pid_t[m[K rb_spawn_err(int argc, const VALUE *argv, char *errbuf, size_t buflen); | [01;31m[K^~~~~~~~[m[K [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/internal/intern/process.h:269:25:[m[K [01;31m[Kerror: [m[Kunknown type name '[01m[Krb_pid_t[m[K' 269 | VALUE rb_detach_process([01;31m[Krb_pid_t[m[K pid); | [01;31m[K^~~~~~~~[m[K In file included from [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/internal/intern/select.h:41[m[K, from [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/intern.h:54[m[K: [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/internal/intern/select/posix.h:48:9:[m[K [01;31m[Kerror: [m[Kunknown type name '[01m[Kfd_set[m[K' 48 | typedef [01;31m[Kfd_set[m[K rb_fdset_t; | [01;31m[K^~~~~~[m[K [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/internal/intern/select/posix.h:86:35:[m[K [01;31m[Kerror: [m[Kunknown type name '[01m[Kfd_set[m[K' 86 | rb_fd_copy(rb_fdset_t *dst, const [01;31m[Kfd_set[m[K *src, int n) | [01;31m[K^~~~~~[m[K [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/internal/intern/select/posix.h:101:34:[m[K [01;31m[Kerror: [m[Kunknown type name '[01m[Kfd_set[m[K' 101 | rb_fd_dup(rb_fdset_t *dst, const [01;31m[Kfd_set[m[K *src) | [01;31m[K^~~~~~[m[K [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/internal/intern/select/posix.h:119:15:[m[K [01;31m[Kerror: [m[Kunknown type name '[01m[Kfd_set[m[K' 119 | static inline [01;31m[Kfd_set[m[K * | [01;31m[K^~~~~~[m[K [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/internal/intern/select/posix.h:[m[K In function '[01m[Krb_fd_max[m[K': [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/internal/intern/select/posix.h:135:12:[m[K [01;31m[Kerror: [m[K'[01m[KFD_SETSIZE[m[K' undeclared (first use in this function) 135 | return [01;31m[KFD_SETSIZE[m[K; | [01;31m[K^~~~~~~~~~[m[K In file included from [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/internal/assume.h:29[m[K, from [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/backward/2/assume.h:24[m[K, from [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/defines.h:72[m[K: [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/internal/intern/string.h:[m[K In function '[01m[Krbimpl_strlen[m[K': [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/internal/intern/string.h:1351:30:[m[K [01;35m[Kwarning: [m[Kincompatible implicit declaration of built-in function '[01m[Kstrlen[m[K' [[01;35m[K]8;;https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Wbuiltin-declaration-mismatch-Wbuiltin-declaration-mismatch]8;;[m[K] 1351 | return RBIMPL_CAST((long)[01;35m[Kstrlen[m[K(str)); | [01;35m[K^~~~~~[m[K [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/internal/cast.h:31:29:[m[K [01;36m[Knote: [m[Kin definition of macro '[01m[KRBIMPL_CAST[m[K' 31 | # define RBIMPL_CAST(expr) ([01;36m[Kexpr[m[K) | [01;36m[K^~~~[m[K In file included from [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/intern.h:57[m[K: [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/internal/intern/string.h:1:1:[m[K [01;36m[Knote: [m[Kinclude '[01m[K<string.h>[m[K' or provide a declaration of '[01m[Kstrlen[m[K' +++ |+[32m[K#include <string.h>[m[K 1 | #ifndef RBIMPL_INTERN_STRING_H /*-*-C++-*-vi:se ft=cpp:*/ In file included from [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/intern.h:60[m[K: [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/internal/intern/time.h:[m[K At top level: [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/internal/intern/time.h:59:19:[m[K [01;31m[Kerror: [m[Kunknown type name '[01m[Ktime_t[m[K' 59 | VALUE rb_time_new([01;31m[Ktime_t[m[K sec, long usec); | [01;31m[K^~~~~~[m[K [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/internal/intern/time.h:1:1:[m[K [01;36m[Knote: [m[K'[01m[Ktime_t[m[K' is defined in header '[01m[K<time.h>[m[K'; did you forget to '[01m[K#include <time.h>[m[K'? +++ |+[32m[K#include <time.h>[m[K 1 | #ifndef RBIMPL_INTERN_TIME_H /*-*-C++-*-vi:se ft=cpp:*/ [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/internal/intern/time.h:70:24:[m[K [01;31m[Kerror: [m[Kunknown type name '[01m[Ktime_t[m[K' 70 | VALUE rb_time_nano_new([01;31m[Ktime_t[m[K sec, long nsec); | [01;31m[K^~~~~~[m[K [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/internal/intern/time.h:70:24:[m[K [01;36m[Knote: [m[K'[01m[Ktime_t[m[K' is defined in header '[01m[K<time.h>[m[K'; did you forget to '[01m[K#include <time.h>[m[K'? [01m[Kdotiw.c:[m[K In function '[01m[Kmain[m[K': [01m[Kdotiw.c:10:38:[m[K [01;35m[Kwarning: [m[Kpassing argument 2 of '[01m[Kruby_options[m[K' from incompatible pointer type [[01;35m[K]8;;https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Wincompatible-pointer-types-Wincompatible-pointer-types]8;;[m[K] 10 | void* node = ruby_options(2, [01;35m[K"puts \"hello world!\""[m[K); | [01;35m[K^~~~~~~~~~~~~~~~~~~~~~~[m[K | [01;35m[K|[m[K | [01;35m[Kchar *[m[K In file included from [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/backward.h:11[m[K, from [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/internal/core/rhash.h:33[m[K, from [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/internal/core.h:29[m[K: [01m[K/home/user/.rvm/rubies/ruby-3.2.0/include/ruby/ruby/internal/interpreter.h:92:37:[m[K [01;36m[Knote: [m[Kexpected '[01m[Kchar **[m[K' but argument is of type '[01m[Kchar *[m[K' 92 | void* ruby_options(int argc, [01;36m[Kchar** argv[m[K); | [01;36m[K~~~~~~~^~~~[m[K make: *** [Makefile:35: build/./dotiw.c.o] Error 1 _______ end of log ______ I saw "If you encounter this message, can you file a bug report?"" here's my bug report. -- https://bugs.ruby-lang.org/