動かざることバグの如し

近づきたいよ 君の理想に

CentOS6にRuby 2.5.0をインストールをしたい人生だった

結論

なんとかできる

ビルドできない問題

Ruby 2.5.0がリリースされて、早速ruby 2.5.0をインストールしようとしたが、

rbenv install 2.5.0

エラーになる。どうもビルドでコケるっぽい。

prelude.c: In function ‘prelude_eval’:
prelude.c:204: error: #pragma GCC diagnostic not allowed inside functions
prelude.c:205: error: #pragma GCC diagnostic not allowed inside functions
prelude.c:221: error: #pragma GCC diagnostic not allowed inside functions
トップレベル:
cc1: 警告: unrecognized command line option "-Wno-self-assign"
cc1: 警告: unrecognized command line option "-Wno-constant-logical-operand"
cc1: 警告: unrecognized command line option "-Wno-parentheses-equality"
cc1: 警告: unrecognized command line option "-Wno-tautological-compare"
make: *** [prelude.o] エラー 1

どうもCentOS6に入ってるgccのバージョンがとても古く、そのままではビルドできないとのこと。

Rubyのコアチームもすでにこの問題を認識している。

Bug #14234: Failed to build on CentOS 6.9 - Ruby trunk - Ruby Issue Tracking System

が、実際の対応はRuby 2.5.1以降のリリースになるらしい。そんなバカな。。。。

解決策

と嘆いていたが、どうも gccのバージョンを新しくすればCentOS6でもRuby2.5.0のインストールは成功するらしい。

以下の記事を参考にgccをアップデートする。

thr3a.hatenablog.com

$ ruby -v
ruby 2.5.0p0 (2017-12-25 revision 61468) [x86_64-linux]

やったぜ

参考リンク