[ruby-core:123421] [Ruby Bug#21629] Ruby-3.4.7 fails to build using clang / llvm
From:
"k0kubun (Takashi Kokubun) via ruby-core" <ruby-core@...>
Date:
2025-10-07 23:18:27 UTC
List:
ruby-core #123421
Issue #21629 has been updated by k0kubun (Takashi Kokubun).
File ruby-log-2.txt added
Status changed from Open to Feedback
> Attaching the build log for ruby-3.4.7.
Could you also include the logs of configure and the commands you ran (both configure and make)? As an example, I've attached mine.
As attached in the log, it succeeded with llvm-21. So this is not necessarily and issue of Ruby 3.4.7 with LLVM 21 on macOS. As such, I strongly encourage you to test it after upgrading your macOS to a non-EOL version.
----------------------------------------
Bug #21629: Ruby-3.4.7 fails to build using clang / llvm
https://bugs.ruby-lang.org/issues/21629#change-114788
* Author: debo (David Bohman)
* Status: Feedback
* ruby -v: ruby 3.4.7 (2025-10-08 revision 7a5688e2a2) +PRISM [x86_64-darwin16]
* Backport: 3.2: UNKNOWN, 3.3: UNKNOWN, 3.4: UNKNOWN
----------------------------------------
Here is the error I encountered. This is using clang version 21.1.3 as the compiler toolchain on Darwin.
```
DYLD_LIBRARY_PATH=.:../../.. ASAN_OPTIONS=detect_leaks=0 "clang -I../../../.ext/include/x86_64-darwin16 -I../../../../ruby-3.4.7/include -I../../../../ruby-3.4.7/ext/-test-/public_header_warnings -I/usr/local/include -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_DARWIN_UNLIMITED_SELECT -D_REENTRANT -fstack-protector-strong -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fdeclspec -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wextra-tokens -Wdeprecated-declarations -Wdivision-by-zero -Wdiv-by-zero -Wimplicit-function-declaration -Wimplicit-int -Wpointer-arith -Wshorten-64-to-32 -Wwrite-strings -Wold-style-definition -Wmissing-noreturn -Wno-cast-function-type -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wunused-variable -Wmisleading-indentation -Wundef -fno-common -pipe -D_TEST_OK -Werror -c conftest.c"
In file included from conftest.c:1:
In file included from ../../../../ruby-3.4.7/include/ruby.h:38:
In file included from ../../../../ruby-3.4.7/include/ruby/ruby.h:28:
In file included from ../../../../ruby-3.4.7/include/ruby/internal/arithmetic.h:24:
In file included from ../../../../ruby-3.4.7/include/ruby/internal/arithmetic/char.h:29:
../../../../ruby-3.4.7/include/ruby/internal/core/rstring.h:398:24: error: default initialization of an object of type 'struct RString' with const member leaves the object uninitialized [-Werror,-Wdefault-const-init-field-unsafe]
398 | struct RString retval;
| ^
../../../../ruby-3.4.7/include/ruby/internal/core/rbasic.h:86:17: note: member 'klass' declared 'const' here
86 | const VALUE klass;
| ^
1 error generated.
checked program was:
/* begin */
1: #include "ruby.h"
2:
3: int main(int argc, char **argv)
4: {
5: return !!argv[argc];
6: }
/* end */
```
The configuration is the following:
```
CC=clang CXX=clang++ CPPFLAGS=-I/usr/local/include LDFLAGS=-L/usr/local/lib ../ruby-3.4.7/configure --enable-shared --with-rdoc=ri,html
```
---Files--------------------------------
ruby-log.txt (432 KB)
ruby-log-2.txt (372 KB)
--
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/lists/ruby-core.ml.ruby-lang.org/