From: "AUlrich (Andreas Ulrich) via ruby-core" Date: 2025-05-08T08:37:55+00:00 Subject: [ruby-core:121902] [Ruby Misc#21290] Unable to build ruby extension on Fedora 42 due to possible GCC 15 issues Issue #21290 has been updated by AUlrich (Andreas Ulrich). I also stumbled over this issue and falsely addressed it to mongodb/bson Here is a Dockerfile which lets you reproduce the issue https://github.com/mongodb/bson-ruby/discussions/351#discussioncomment-13059541 ---------------------------------------- Misc #21290: Unable to build ruby extension on Fedora 42 due to possible GCC 15 issues https://bugs.ruby-lang.org/issues/21290#change-112971 * Author: lukef (Luke Freeman) * Status: Open ---------------------------------------- At least one Ruby extension (ed25519) fails to build due to incompatibilities(?) with the core library headers on Fedora 42. When trying to build the ed25519 extension that is required for Kamal (and I guess Rails by association) there are errors relating to `bool` types. I'm assuming this is related to the inclusion of GCC 15 by default in version 42. For example: ``` /installs/ruby/3.4.3/include/ruby-3.4.0/ruby/internal/core/rtypeddata.h:578:15: note: ���bool��� is defined in header ������; this is probably fixable by adding ���#include ��� In file included from /installs/ruby/3.4.3/include/ruby-3.4.0/ruby/ruby.h:42: /installs/ruby/3.4.3/include/ruby-3.4.0/ruby/internal/memory.h:420:5: error: unknown type name ���bool��� 420 | bool left; /**< Whether overflow happened or not. */ | ^~~~ /installs/ruby/3.4.3/include/ruby-3.4.0/ruby/internal/memory.h:65:1: note: ���bool��� is defined in header ������; this is probably fixable by adding ���#include ��� 64 | #include "ruby/internal/stdckdint.h" +++ |+#include 65 | #include "ruby/internal/xmalloc.h" /installs/ruby/3.4.3/include/ruby-3.4.0/ruby/internal/memory.h: In function ���rbimpl_size_mul_overflow���: /installs/ruby/3.4.3/include/ruby-3.4.0/ruby/internal/memory.h:574:49: error: ���false��� undeclared (first use in this function) 574 | struct rbimpl_size_mul_overflow_tag ret = { false, 0, }; | ^~~~~ ``` I logged the relevant issue with Kamal and the ed25519 projects but figured the issue should be tracked here as anyone upgrading to Fedora 42 won't probably be able to use Rails if starting from scratch. Those issues are: - https://github.com/RubyCrypto/ed25519/issues/44 - https://github.com/basecamp/kamal/issues/1512 It's possible it is related to this issue also: https://bugs.ruby-lang.org/issues/21024. I have tried downgrading to Ruby 3.4.1 and even older, non-3.4 versions and the issue seems to be the same. I'm running: - Fedora 42 - Ruby 3.4+ Please let me know if you need additional information. ---Files-------------------------------- gem_make.out (32.5 KB) gem_make.out (33.1 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/