おもむろに最新パッチレベルとそろそろruby2.1.1を入れようと思って、
CONFIGURE_OPTS="--with-readline-dir=`brew --prefix readline` --with-openssl-dir=`brew --prefix openssl` --with-gcc=clang" rbenv install 2.0.0-p451を叩いたらエラーでインストールできなかった。
エラーログを見てみると下記のようなエラーメッセージが出ていたので、どうやら readline 関連でエラーが出ているらしい。
readline.c:1886:26: error: use of undeclared identifier 'Function'
rl_pre_input_hook = (Function *)readline_pre_input_hook;
^
readline.c:1886:36: error: expected expression
rl_pre_input_hook = (Function *)readline_pre_input_hook;
調べてみると、どうやら readline が 6.3 になって rbenv でインストールしようとしたらエラーになるということらしい。
参考:MacでRuby 2.x.xがインストールできないバグ (homebrew + rbenv) - Qiita
readline を以前のバージョンに戻せばインストールできるとのことなので、
pinzolo@ileach % brew info readline
readline: stable 6.3.3 (bottled)
http://tiswww.case.edu/php/chet/readline/rltop.html
This formula is keg-only.
OS X provides the BSD libedit library, which shadows libreadline.
In order to prevent conflicts when programs look for libreadline we are
defaulting this GNU Readline installation to keg-only.
/usr/local/Cellar/readline/6.2.2 (30 files, 1.6M)
/usr/local/Cellar/readline/6.2.4 (30 files, 1.6M)
/usr/local/Cellar/readline/6.3.3 (40 files, 2.1M) *
Poured from bottle
From: https://github.com/Homebrew/homebrew/commits/master/Library/Formula/readline.rb
6.2.4 が入っていることを確認して、
pinzolo@ileach % brew switch readline 6.2.4
Cleaning /usr/local/Cellar/readline/6.2.2
Cleaning /usr/local/Cellar/readline/6.2.4
Cleaning /usr/local/Cellar/readline/6.3.3
Opt link created for /usr/local/Cellar/readline/6.2.4
readline を切り替えて再度インストールしたら無事インストールできた。
0 件のコメント :
コメントを投稿