きりかノート 3冊め

おあそびプログラミング

素のlibffiがMac上でmakeできないのでパッチ送った

(11/15 追記。このパッチもマージされました。次の3.0.11には反映されている予定です)

前述の調査でgithubのissuesを調べたりもしたんだけど、そこにあった問題からひとつ。libffiをふつーにソースとってきて、Mac上でconfigure && makeすると、makeが失敗する。

GNU core utilsとMacBSD由来ぽい`wc'(語数とか行数を数えるコマンド)の出力形式がちょびっとちがうのが原因。

   % echo | wc -w     # Mac OS X builtin wc
          0
   % echo | gwc -w    # GNU coreutils wc (port:coreutils)
   0

Makefile中で文字としてこの結果を比較してる箇所があって、もちろん、

   % test "       0" = "0"; echo $?
   1
   % test "0" = "0"; echo $?
   0

となる。簡単に解決するなら-eqにすればいいよね。

   % test "       0" -eq 0; echo $?
   0
   % test "0" -eq 0; echo $?
   0

ということで修正をつくってpull requestなげた。

これもね、少なくともMacPortsはパッチ当ててるのよ。というかパッチ内容から原因を特定したのだ。

もーさ、世界中がばらばらに個別に対応するのってば効率悪くないすか?なぜなぜupstreamに反映されていないのさー。