From: "nobu (Nobuyoshi Nakada) via ruby-core" Date: 2024-04-22T04:27:42+00:00 Subject: [ruby-core:117638] [Ruby master Bug#20431] Ruby 3.3.0 build fail with make: *** [io_buffer.o] Error 1 Issue #20431 has been updated by nobu (Nobuyoshi Nakada). Status changed from Feedback to Closed Backport changed from 3.0: UNKNOWN, 3.1: UNKNOWN, 3.2: UNKNOWN, 3.3: UNKNOWN to 3.0: DONTNEED, 3.1: REQUIRED, 3.2: REQUIRED, 3.3: REQUIRED The main cause is not only by old gcc. Although newer gcc defines `__BYTE_ORDER__` indeed, but other compilers may not. And the use of `REG_DWORD` in the fallback part was wrong. `REG_DWORD` is a constant used as a registry type on Windows, and `REG_DWORD_LITTLE_ENDIAN` is an alias of it always, but `REG_DWORD_BIG_ENDIAN` is not equal to it. That is, the constant is not for portabilities. ---------------------------------------- Bug #20431: Ruby 3.3.0 build fail with make: *** [io_buffer.o] Error 1 https://bugs.ruby-lang.org/issues/20431#change-108046 * Author: shubham_yadav (Shubham Yadav) * Status: Closed * Backport: 3.0: DONTNEED, 3.1: REQUIRED, 3.2: REQUIRED, 3.3: REQUIRED ---------------------------------------- I'm trying to build ruby from scratch with openss1.1.0. But it's failing with below error. In file included from ./include/ruby/internal/arithmetic/char.h:23, from ./include/ruby/internal/arithmetic.h:24, from ./include/ruby/ruby.h:28, from ./include/ruby/encoding.h:19, from ./include/ruby/io.h:16, from io_buffer.c:9: ./include/ruby/internal/arithmetic/int.h: In function ���rb_int2num_inline���: ./include/ruby/internal/arithmetic/int.h:241: warning: comparison is always true due to limited range of data type ./include/ruby/internal/arithmetic/int.h:241: warning: comparison is always true due to limited range of data type ./include/ruby/internal/arithmetic/int.h: In function ���rb_uint2num_inline���: ./include/ruby/internal/arithmetic/int.h:256: warning: comparison is always true due to limited range of data type io_buffer.c: In function ���io_buffer_read_U8���: io_buffer.c:1872: error: ���RB_IO_BUFFER_HOST_ENDIAN��� undeclared (first use in this function) io_buffer.c:1872: error: (Each undeclared identifier is reported only once io_buffer.c:1872: error: for each function it appears in.) io_buffer.c: In function ���io_buffer_write_U8���: io_buffer.c:1872: error: ���RB_IO_BUFFER_HOST_ENDIAN��� undeclared (first use in this function) io_buffer.c: In function ���io_buffer_read_S8���: io_buffer.c:1873: error: ���RB_IO_BUFFER_HOST_ENDIAN��� undeclared (first use in this function) io_buffer.c: In function ���io_buffer_write_S8���: io_buffer.c:1873: error: ���RB_IO_BUFFER_HOST_ENDIAN��� undeclared (first use in this function) io_buffer.c: In function ���io_buffer_read_u16���: io_buffer.c:1875: error: ���RB_IO_BUFFER_HOST_ENDIAN��� undeclared (first use in this function) io_buffer.c: In function ���io_buffer_write_u16���: io_buffer.c:1875: error: ���RB_IO_BUFFER_HOST_ENDIAN��� undeclared (first use in this function) io_buffer.c: In function ���io_buffer_read_U16���: io_buffer.c:1876: error: ���RB_IO_BUFFER_HOST_ENDIAN��� undeclared (first use in this function) io_buffer.c: In function ���io_buffer_write_U16���: io_buffer.c:1876: error: ���RB_IO_BUFFER_HOST_ENDIAN��� undeclared (first use in this function) io_buffer.c: In function ���io_buffer_read_s16���: io_buffer.c:1877: error: ���RB_IO_BUFFER_HOST_ENDIAN��� undeclared (first use in this function) io_buffer.c: In function ���io_buffer_write_s16���: io_buffer.c:1877: error: ���RB_IO_BUFFER_HOST_ENDIAN��� undeclared (first use in this function) io_buffer.c: In function ���io_buffer_read_S16���: io_buffer.c:1878: error: ���RB_IO_BUFFER_HOST_ENDIAN��� undeclared (first use in this function) io_buffer.c: In function ���io_buffer_write_S16���: io_buffer.c:1878: error: ���RB_IO_BUFFER_HOST_ENDIAN��� undeclared (first use in this function) io_buffer.c: In function ���io_buffer_read_u32���: io_buffer.c:1880: error: ���RB_IO_BUFFER_HOST_ENDIAN��� undeclared (first use in this function) io_buffer.c: In function ���io_buffer_write_u32���: io_buffer.c:1880: error: ���RB_IO_BUFFER_HOST_ENDIAN��� undeclared (first use in this function) io_buffer.c: In function ���io_buffer_read_U32���: io_buffer.c:1881: error: ���RB_IO_BUFFER_HOST_ENDIAN��� undeclared (first use in this function) io_buffer.c: In function ���io_buffer_write_U32���: io_buffer.c:1881: error: ���RB_IO_BUFFER_HOST_ENDIAN��� undeclared (first use in this function) io_buffer.c: In function ���io_buffer_read_s32���: io_buffer.c:1882: error: ���RB_IO_BUFFER_HOST_ENDIAN��� undeclared (first use in this function) io_buffer.c: In function ���io_buffer_write_s32���: io_buffer.c:1882: error: ���RB_IO_BUFFER_HOST_ENDIAN��� undeclared (first use in this function) io_buffer.c: In function ���io_buffer_read_S32���: io_buffer.c:1883: error: ���RB_IO_BUFFER_HOST_ENDIAN��� undeclared (first use in this function) io_buffer.c: In function ���io_buffer_write_S32���: io_buffer.c:1883: error: ���RB_IO_BUFFER_HOST_ENDIAN��� undeclared (first use in this function) io_buffer.c: In function ���io_buffer_read_u64���: io_buffer.c:1885: error: ���RB_IO_BUFFER_HOST_ENDIAN��� undeclared (first use in this function) io_buffer.c: In function ���io_buffer_write_u64���: io_buffer.c:1885: error: ���RB_IO_BUFFER_HOST_ENDIAN��� undeclared (first use in this function) io_buffer.c: In function ���io_buffer_read_U64���: io_buffer.c:1886: error: ���RB_IO_BUFFER_HOST_ENDIAN��� undeclared (first use in this function) io_buffer.c: In function ���io_buffer_write_U64���: io_buffer.c:1886: error: ���RB_IO_BUFFER_HOST_ENDIAN��� undeclared (first use in this function) io_buffer.c: In function ���io_buffer_read_s64���: io_buffer.c:1887: error: ���RB_IO_BUFFER_HOST_ENDIAN��� undeclared (first use in this function) io_buffer.c: In function ���io_buffer_write_s64���: io_buffer.c:1887: error: ���RB_IO_BUFFER_HOST_ENDIAN��� undeclared (first use in this function) io_buffer.c: In function ���io_buffer_read_S64���: io_buffer.c:1888: error: ���RB_IO_BUFFER_HOST_ENDIAN��� undeclared (first use in this function) io_buffer.c: In function ���io_buffer_write_S64���: io_buffer.c:1888: error: ���RB_IO_BUFFER_HOST_ENDIAN��� undeclared (first use in this function) io_buffer.c: In function ���io_buffer_read_f32���: io_buffer.c:1890: error: ���RB_IO_BUFFER_HOST_ENDIAN��� undeclared (first use in this function) io_buffer.c: In function ���io_buffer_write_f32���: io_buffer.c:1890: error: ���RB_IO_BUFFER_HOST_ENDIAN��� undeclared (first use in this function) io_buffer.c: In function ���io_buffer_read_F32���: io_buffer.c:1891: error: ���RB_IO_BUFFER_HOST_ENDIAN��� undeclared (first use in this function) io_buffer.c: In function ���io_buffer_write_F32���: io_buffer.c:1891: error: ���RB_IO_BUFFER_HOST_ENDIAN��� undeclared (first use in this function) io_buffer.c: In function ���io_buffer_read_f64���: io_buffer.c:1892: error: ���RB_IO_BUFFER_HOST_ENDIAN��� undeclared (first use in this function) io_buffer.c: In function ���io_buffer_write_f64���: io_buffer.c:1892: error: ���RB_IO_BUFFER_HOST_ENDIAN��� undeclared (first use in this function) io_buffer.c: In function ���io_buffer_read_F64���: io_buffer.c:1893: error: ���RB_IO_BUFFER_HOST_ENDIAN��� undeclared (first use in this function) io_buffer.c: In function ���io_buffer_write_F64���: io_buffer.c:1893: error: ���RB_IO_BUFFER_HOST_ENDIAN��� undeclared (first use in this function) io_buffer.c: In function ���Init_IO_Buffer���: io_buffer.c:3702: error: ���RB_IO_BUFFER_HOST_ENDIAN��� undeclared (first use in this function) At top level: cc1: warning: unrecognized command line option "-Wno-maybe-uninitialized" cc1: warning: unrecognized command line option "-Wno-tautological-compare" cc1: warning: unrecognized command line option "-Wno-self-assign" cc1: warning: unrecognized command line option "-Wno-parentheses-equality" cc1: warning: unrecognized command line option "-Wno-constant-logical-operand" cc1: warning: unrecognized command line option "-Wno-cast-function-type" make: *** [io_buffer.o] Error 1 -- https://bugs.ruby-lang.org/ ______________________________________________ ruby-core mailing list -- ruby-core@ml.ruby-lang.org To unsubscribe send an email to ruby-core-leave@ml.ruby-lang.org ruby-core info -- https://ml.ruby-lang.org/mailman3/postorius/lists/ruby-core.ml.ruby-lang.org/