げっとシステムログ

WEB開発メモ

CentOS7 に ruby 2.2.0 をインストールする

以下、 CentOS7 に ruby 2.2.0 をインストールした記録

この前に ruby 2.0.0-p481 をインストールしているので全然初期状態じゃない
あと、 CentOS だけど sudo できるようにしてある

作業開始

[shun ~]$ rbenv install 2.2.0
Downloading ruby-2.2.0.tar.bz2...
-> https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.0.tar.bz2
Installing ruby-2.2.0...

BUILD FAILED (CentOS Linux 7 using ruby-build 20160228-5-g522f3ba)

Inspect or clean up the working tree at /tmp/ruby-build.20160312114127.7199
Results logged to /tmp/ruby-build.20160312114127.7199.log

Last 10 log lines:
/usr/bin/ld: ./libffi-3.2.1/.libs/libffi.a(raw_api.o): 再配置 R_X86_64_32S (`.rodata' に対する) は共有オブジェクト作成時には使用できません。-fPIC を付けて再コンパイルしてください。
./libffi-3.2.1/.libs/libffi.a: シンボルを読み込めませんでした: 不正な値です
collect2: エラー: ld はステータス 1 で終了しました
make[2]: *** [../../.ext/x86_64-linux/fiddle.so] エラー 1
make[2]: ディレクトリ `/tmp/ruby-build.20160312114127.7199/ruby-2.2.0/ext/fiddle' から出ます
make[1]: *** [ext/fiddle/all] エラー 2
make[1]: *** 未完了のジョブを待っています....
make[2]: ディレクトリ `/tmp/ruby-build.20160312114127.7199/ruby-2.2.0/ext/io/nonblock' から出ます
make[1]: ディレクトリ `/tmp/ruby-build.20160312114127.7199/ruby-2.2.0' から出ます
make: *** [build-ext] エラー 2

libffi がない

いろいろ調べたら libffi-devel らしい(どこのブログだったか記録がない)

[shun ~]$ sudo yum install libffi-devel

インストール完了のログはなくしました

確認

[shun ~]$ cd work/
[shun work]$ ruby -v
ruby 2.2.0p0 (2014-12-25 revision 49005) [x86_64-linux]

完了です