以前は普通にinstallできたのに最近のsbclのFormulaファルに問題があってinstallできない。はじめはまーいいかってほっておいたんだけど、なんか最近気になって治すことにした。
どの辺がもんだいか?
まず、brew install sbcl
するとrubyがエラーを吐く。これは、以下のところでエラーになる。
79 # Remove non-ASCII values from environment as they cause build failure
s
80 # More information: http://bugs.gentoo.org/show_bug.cgi?id=174702
81 ENV.delete_if do |key, value|
82 value =~ /[\x80-\xff]/n
84 end
エラーの内容としては
ncompatible encoding regexp match (ASCII-8BIT regexp with UTF-8 string) (Encoding::CompatibilityError)
こんな感じ。ま、用は正規表現で16進コードを書いているようなのでこの辺が問題ということらしい。
で、コメントを読むと環境変数にnon-ASCIIな値が入っているとsbclを作るときにエラーになるということらしい。なので、この82行目をなんとかすればよさそう。
解決方法
問題の箇所はnon-ASCIIかどうかを判定しているだけなので、これと同じことができればいい。rubyには ascii_only?
というメソッドがあるのでこれで代用することにした。
ENV.delete_if fo |key, value|
value =~ /[¥x80-¥xff]/n
end
こうなっているところを
ENV.delete_if fo |key, value|
false == value.ascii_only?
end
と、するだけ。
これで一応インストールはできるようになった。
注意
ネットで探してみたけど、僕と同じエラーが出てHomebrewをつかってのインストールができないといった問題の人を見つけられなかった。なので、僕だけの問題なのかもw。