Issue #13091 has been updated by Yui NARUSE.

Backport changed from 2.2: UNKNOWN, 2.3: UNKNOWN, 2.4: UNKNOWN to 2.2: DONTNEED, 2.3: DONTNEED, 2.4: REQUIRED

修正しました。

#11054 は修正されたはずだけどなー、っと思ったら別の場所で分岐無しで使ってるんですね。
しかし、7世代以上前のmacOSを今サポートすべきだとは思わないのでそのままですかね。

なお、手元で動かす分にはfgetattrlistをgetattrlistで置き換えれば突破できるんじゃないかと思います。

----------------------------------------
Bug #13091: 2.4.0がコンパイルできない
https://bugs.ruby-lang.org/issues/13091#change-62351

* Author: Satoru Koizumi
* Status: Closed
* Priority: Normal
* Assignee: 
* Target version: 
* ruby -v: 2.4.0
* Backport: 2.2: DONTNEED, 2.3: DONTNEED, 2.4: REQUIRED
----------------------------------------
2.4.0のコンパイルができません。

(省略)
compiling array.c
array.c: In function ‘rb_ary_zip’:
array.c:3340: error: syntax error before ‘)’ token
(省略)

となります。(私の古い)Macで発生している現象ですが、nclude/ruby/ruby.hの以下の部分が原因と思われますので影響範囲はそれなりに広いのではないでしょうか。

diff -u include/ruby/ruby.h.orig include/ruby/ruby.h
--- include/ruby/ruby.h.orig	2016-12-23 05:58:55.000000000 +0900
+++ include/ruby/ruby.h	2017-01-01 22:44:46.000000000 +0900
@@ -1633,7 +1633,7 @@
 #ifdef C_ALLOCA
 # define RB_ALLOCV(v, n) rb_alloc_tmp_buffer(&(v), (n))
 # define RB_ALLOCV_N(type, v, n) \
-     rb_alloc_tmp_buffer2(&(v), (n), sizeof(type))))
+     rb_alloc_tmp_buffer2(&(v), (n), sizeof(type))
 #else
 # define RUBY_ALLOCV_LIMIT 1024
 # define RB_ALLOCV(v, n) ((n) < RUBY_ALLOCV_LIMIT ? \


ただ、上記のように修正しても #11054 で結局はコンパイルできないのですけれど、、、、



-- 
https://bugs.ruby-lang.org/