1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

HomeBrewでsbclをinstallした時の覚書

Last updated at Posted at 2015-02-22

以前は普通にinstallできたのに最近のsbclのFormulaファルに問題があってinstallできない。はじめはまーいいかってほっておいたんだけど、なんか最近気になって治すことにした。

どの辺がもんだいか?

まず、brew install sbclするとrubyがエラーを吐く。これは、以下のところでエラーになる。

sbcl.rb
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。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?