[ruby-core:120802] [Ruby master Bug#21092] error building ruby 3.4.1 on cygwin

Issue #21092 has been reported by jeremyd2019 (Jeremy Drake). ---------------------------------------- Bug #21092: error building ruby 3.4.1 on cygwin https://bugs.ruby-lang.org/issues/21092 * Author: jeremyd2019 (Jeremy Drake) * Status: Open * Backport: 3.1: UNKNOWN, 3.2: UNKNOWN, 3.3: UNKNOWN, 3.4: UNKNOWN ---------------------------------------- While building from the release tarball ruby-3.4.1.tar.xz (also confirmed in snapshot-master.tar.gz from Jan 27, 2025), I get the following error: ../ruby-3.4.1/ext/extmk.rb:279:in 'Array#-': no implicit conversion of nil into Array (TypeError) from ../ruby-3.4.1/ext/extmk.rb:279:in 'Object#extmake' from ../ruby-3.4.1/ext/extmk.rb:659:in 'block in <main>' from ../ruby-3.4.1/ext/extmk.rb:653:in 'Array#each' from ../ruby-3.4.1/ext/extmk.rb:653:in '<main>' I have tracked this down to happening when an ext writes a dummy makefile. In this case, that ext is .bundle/gems/syslog-0.2.0. See https://github.com/ruby/syslog/pull/16 for fixing why it is writing a dummy makefile to begin with, but still, it seems like extmk.rb should handle this case gracefully rather than breaking the build. -- https://bugs.ruby-lang.org/

Issue #21092 has been updated by hsbt (Hiroshi SHIBATA). Status changed from Open to Assigned Assignee set to hsbt (Hiroshi SHIBATA) I could reproduce this. https://github.com/ruby/ruby/actions/runs/13001828367/job/36261824250?pr=126... ---------------------------------------- Bug #21092: error building ruby 3.4.1 on cygwin https://bugs.ruby-lang.org/issues/21092#change-111672 * Author: jeremyd2019 (Jeremy Drake) * Status: Assigned * Assignee: hsbt (Hiroshi SHIBATA) * Backport: 3.1: UNKNOWN, 3.2: UNKNOWN, 3.3: UNKNOWN, 3.4: UNKNOWN ---------------------------------------- While building from the release tarball ruby-3.4.1.tar.xz on cygwin (also confirmed in snapshot-master.tar.gz from Jan 27, 2025), I get the following error: ../ruby-3.4.1/ext/extmk.rb:279:in 'Array#-': no implicit conversion of nil into Array (TypeError) from ../ruby-3.4.1/ext/extmk.rb:279:in 'Object#extmake' from ../ruby-3.4.1/ext/extmk.rb:659:in 'block in <main>' from ../ruby-3.4.1/ext/extmk.rb:653:in 'Array#each' from ../ruby-3.4.1/ext/extmk.rb:653:in '<main>' I have tracked this down to happening when an ext writes a dummy makefile. In this case, that ext is .bundle/gems/syslog-0.2.0. See https://github.com/ruby/syslog/pull/16 for fixing why it is writing a dummy makefile to begin with, but still, it seems like extmk.rb should handle this case gracefully rather than breaking the build. -- https://bugs.ruby-lang.org/

Issue #21092 has been updated by nobu (Nobuyoshi Nakada). I cannot reproduce that error at all, with ruby-3.4.1. ---------------------------------------- Bug #21092: error building ruby 3.4.1 on cygwin/msys2 https://bugs.ruby-lang.org/issues/21092#change-111693 * Author: jeremyd2019 (Jeremy Drake) * Status: Assigned * Assignee: hsbt (Hiroshi SHIBATA) * Backport: 3.1: UNKNOWN, 3.2: UNKNOWN, 3.3: UNKNOWN, 3.4: UNKNOWN ---------------------------------------- While building from the release tarball ruby-3.4.1.tar.xz on cygwin (also confirmed in snapshot-master.tar.gz from Jan 27, 2025), I get the following error: ../ruby-3.4.1/ext/extmk.rb:279:in 'Array#-': no implicit conversion of nil into Array (TypeError) from ../ruby-3.4.1/ext/extmk.rb:279:in 'Object#extmake' from ../ruby-3.4.1/ext/extmk.rb:659:in 'block in <main>' from ../ruby-3.4.1/ext/extmk.rb:653:in 'Array#each' from ../ruby-3.4.1/ext/extmk.rb:653:in '<main>' I have tracked this down to happening when an ext writes a dummy makefile. In this case, that ext is .bundle/gems/syslog-0.2.0. See https://github.com/ruby/syslog/pull/16 for fixing why it is writing a dummy makefile to begin with, but still, it seems like extmk.rb should handle this case gracefully rather than breaking the build. -- https://bugs.ruby-lang.org/

Issue #21092 has been updated by nobu (Nobuyoshi Nakada). Backport changed from 3.1: UNKNOWN, 3.2: UNKNOWN, 3.3: UNKNOWN, 3.4: UNKNOWN to 3.1: REQUIRED, 3.2: REQUIRED, 3.3: REQUIRED, 3.4: REQUIRED nobu (Nobuyoshi Nakada) wrote in #note-4:
I cannot reproduce that error at all, with ruby-3.4.1.
This was because I failed to get msys to pretend to be cygwin, and it reproduced by simply trying on cygwin. MSys is mysterious. ---------------------------------------- Bug #21092: error building ruby 3.4.1 on cygwin/msys2 https://bugs.ruby-lang.org/issues/21092#change-111703 * Author: jeremyd2019 (Jeremy Drake) * Status: Assigned * Assignee: hsbt (Hiroshi SHIBATA) * Backport: 3.1: REQUIRED, 3.2: REQUIRED, 3.3: REQUIRED, 3.4: REQUIRED ---------------------------------------- While building from the release tarball ruby-3.4.1.tar.xz on cygwin (also confirmed in snapshot-master.tar.gz from Jan 27, 2025), I get the following error: ../ruby-3.4.1/ext/extmk.rb:279:in 'Array#-': no implicit conversion of nil into Array (TypeError) from ../ruby-3.4.1/ext/extmk.rb:279:in 'Object#extmake' from ../ruby-3.4.1/ext/extmk.rb:659:in 'block in <main>' from ../ruby-3.4.1/ext/extmk.rb:653:in 'Array#each' from ../ruby-3.4.1/ext/extmk.rb:653:in '<main>' I have tracked this down to happening when an ext writes a dummy makefile. In this case, that ext is .bundle/gems/syslog-0.2.0. See https://github.com/ruby/syslog/pull/16 for fixing why it is writing a dummy makefile to begin with, but still, it seems like extmk.rb should handle this case gracefully rather than breaking the build. -- https://bugs.ruby-lang.org/

Issue #21092 has been updated by k0kubun (Takashi Kokubun). Backport changed from 3.1: REQUIRED, 3.2: REQUIRED, 3.3: REQUIRED, 3.4: REQUIRED to 3.1: REQUIRED, 3.2: REQUIRED, 3.3: REQUIRED, 3.4: DONE ruby_3_4 commit:2ee25f7b47a30b7515cdb4da341d28931d8b5810 merged revision(s) commit:2b6fc9ea7212543a1be26768403f59c7a759b5ea. ---------------------------------------- Bug #21092: error building ruby 3.4.1 on cygwin/msys2 https://bugs.ruby-lang.org/issues/21092#change-111933 * Author: jeremyd2019 (Jeremy Drake) * Status: Closed * Assignee: hsbt (Hiroshi SHIBATA) * Backport: 3.1: REQUIRED, 3.2: REQUIRED, 3.3: REQUIRED, 3.4: DONE ---------------------------------------- While building from the release tarball ruby-3.4.1.tar.xz on cygwin (also confirmed in snapshot-master.tar.gz from Jan 27, 2025), I get the following error: ../ruby-3.4.1/ext/extmk.rb:279:in 'Array#-': no implicit conversion of nil into Array (TypeError) from ../ruby-3.4.1/ext/extmk.rb:279:in 'Object#extmake' from ../ruby-3.4.1/ext/extmk.rb:659:in 'block in <main>' from ../ruby-3.4.1/ext/extmk.rb:653:in 'Array#each' from ../ruby-3.4.1/ext/extmk.rb:653:in '<main>' I have tracked this down to happening when an ext writes a dummy makefile. In this case, that ext is .bundle/gems/syslog-0.2.0. See https://github.com/ruby/syslog/pull/16 for fixing why it is writing a dummy makefile to begin with, but still, it seems like extmk.rb should handle this case gracefully rather than breaking the build. -- https://bugs.ruby-lang.org/

Issue #21092 has been updated by nagachika (Tomoyuki Chikanaga). Backport changed from 3.1: REQUIRED, 3.2: DONE, 3.3: REQUIRED, 3.4: DONE to 3.1: REQUIRED, 3.2: DONE, 3.3: DONE, 3.4: DONE ruby_3_3 commit:da86a9959b4c5bbdefb6fd1000a0251a151ffbc1 merged revision(s) commit:2b6fc9ea7212543a1be26768403f59c7a759b5ea. ---------------------------------------- Bug #21092: error building ruby 3.4.1 on cygwin/msys2 https://bugs.ruby-lang.org/issues/21092#change-112349 * Author: jeremyd2019 (Jeremy Drake) * Status: Closed * Assignee: hsbt (Hiroshi SHIBATA) * Backport: 3.1: REQUIRED, 3.2: DONE, 3.3: DONE, 3.4: DONE ---------------------------------------- While building from the release tarball ruby-3.4.1.tar.xz on cygwin (also confirmed in snapshot-master.tar.gz from Jan 27, 2025), I get the following error: ../ruby-3.4.1/ext/extmk.rb:279:in 'Array#-': no implicit conversion of nil into Array (TypeError) from ../ruby-3.4.1/ext/extmk.rb:279:in 'Object#extmake' from ../ruby-3.4.1/ext/extmk.rb:659:in 'block in <main>' from ../ruby-3.4.1/ext/extmk.rb:653:in 'Array#each' from ../ruby-3.4.1/ext/extmk.rb:653:in '<main>' I have tracked this down to happening when an ext writes a dummy makefile. In this case, that ext is .bundle/gems/syslog-0.2.0. See https://github.com/ruby/syslog/pull/16 for fixing why it is writing a dummy makefile to begin with, but still, it seems like extmk.rb should handle this case gracefully rather than breaking the build. -- https://bugs.ruby-lang.org/
participants (5)
-
hsbt (Hiroshi SHIBATA)
-
jeremyd2019 (Jeremy Drake)
-
k0kubun (Takashi Kokubun)
-
nagachika (Tomoyuki Chikanaga)
-
nobu (Nobuyoshi Nakada)