Issue #19268 has been updated by cfis (Charlie Savage).
This is still happening in Ruby 3.2.2.
I suspect I see this because I use mingw64 make versus msys make.
----------------------------------------
Bug #19268: Mingw64 Build Failure
https://bugs.ruby-lang.org/issues/19268#change-104755
* Author: cfis (Charlie Savage)
* Status: Open
* Priority: Normal
* ruby -v: ruby 3.1.3p185 (2022-11-24 revision 1a6b16756e) [x64-mingw-ucrt]
* Backport: 2.7: UNKNOWN, 3.0: UNKNOWN, 3.1: UNKNOWN, 3.2: UNKNOWN
----------------------------------------
For both Ruby 3.1.3 and Ruby 3.2.0, building on msys2/ucrt64 fails:
``` c
linking miniruby.exe
/usr/bin/sh: -c: line 1: syntax error near unexpected token `('
/usr/bin/sh: -c: line 1: `/usr/local/ruby/bin/ruby --disable=gems -n -e
BEGIN{version=ARGV.shift;mis=ARGV.dup} -e END{abort "UNICODE version mismatch:
#{mis}" unless mis.empty?} -e (mis.delete(ARGF.path); ARGF.close) if
/ONIG_UNICODE_VERSION_STRING +"#{Regexp.quote(version)}"/o 15.0.0
./enc/unicode/15.0.0/casefold.h ./enc/unicode/15.0.0/name2ctype.h'
make: *** [uncommon.mk:878: .rbconfig.time] Error 2
```
The fix that works for me is changing:
``` c
-e '(mis.delete(ARGF.path); ARGF.close) if /ONIG_UNICODE_VERSION_STRING
+"#{Regexp.quote(version)}"/o' \
```
To
``` c
-e "(mis.delete(ARGF.path); ARGF.close) if /ONIG_UNICODE_VERSION_STRING
+\"#{Regexp.quote(version)}\"/o" \
```
```
--
https://bugs.ruby-lang.org/