2014年12月27日土曜日

CentOS6.5にruby2.2.0を入れてみた

CentOS6.5にruby2.2.0を入れてみました。

rubyのバージョン管理はrbenvとruby-buildでやっています。
そのインストールは別途調べてください。

まずはruby-buildをアップデートします。
アップデート後にインストールできるバージョンを確認すると、2.2.0が追加されています。
# rbenv install -l
Available versions:
  1.8.6-p383
  1.8.6-p420
  1.8.7-p249
  1.8.7-p302
  1.8.7-p334
  1.8.7-p352
  1.8.7-p357
  1.8.7-p358
  1.8.7-p370
  1.8.7-p371
  1.8.7-p374
  1.8.7-p375
  1.9.1-p378
  1.9.1-p430
  1.9.2-p0
  1.9.2-p180
  1.9.2-p290
  1.9.2-p318
  1.9.2-p320
  1.9.2-p326
  1.9.2-p330
  1.9.3-dev
  1.9.3-preview1
  1.9.3-rc1
  1.9.3-p0
  1.9.3-p125
  1.9.3-p194
  1.9.3-p286
  1.9.3-p327
  1.9.3-p362
  1.9.3-p374
  1.9.3-p385
  1.9.3-p392
  1.9.3-p429
  1.9.3-p448
  1.9.3-p484
  1.9.3-p545
  1.9.3-p547
  1.9.3-p550
  1.9.3-p551
  2.0.0-dev
  2.0.0-preview1
  2.0.0-preview2
  2.0.0-rc1
  2.0.0-rc2
  2.0.0-p0
  2.0.0-p195
  2.0.0-p247
  2.0.0-p353
  2.0.0-p451
  2.0.0-p481
  2.0.0-p576
  2.0.0-p594
  2.0.0-p598
  2.1.0-dev
  2.1.0-preview1
  2.1.0-preview2
  2.1.0-rc1
  2.1.0
  2.1.1
  2.1.2
  2.1.3
  2.1.4
  2.1.5
  2.2.0-dev
  2.2.0-preview1
  2.2.0-preview2
  2.2.0-rc1
  2.2.0
  jruby-1.5.6
  jruby-1.6.3
  jruby-1.6.4
  jruby-1.6.5
  jruby-1.6.5.1
  jruby-1.6.6
  jruby-1.6.7
  jruby-1.6.7.2
  jruby-1.6.8
  jruby-1.7.0-preview1
  jruby-1.7.0-preview2
  jruby-1.7.0-rc1
  jruby-1.7.0-rc2
  jruby-1.7.0
  jruby-1.7.1
  jruby-1.7.2
  jruby-1.7.3
  jruby-1.7.4
  jruby-1.7.5
  jruby-1.7.6
  jruby-1.7.7
  jruby-1.7.8
  jruby-1.7.9
  jruby-1.7.10
  jruby-1.7.11
  jruby-1.7.12
  jruby-1.7.13
  jruby-1.7.14
  jruby-1.7.15
  jruby-1.7.16
  jruby-1.7.16.1
  jruby-1.7.16.2
  jruby-1.7.17
  jruby-1.7.18
  jruby-9.0.0.0-dev
  jruby-9.0.0.0+graal-dev
  jruby-9000-dev
  jruby-9000+graal-dev
  maglev-1.0.0
  maglev-1.1.0-dev
  maglev-2.0.0-dev
  mruby-dev
  mruby-1.0.0
  rbx-1.2.4
  rbx-2.0.0-dev
  rbx-2.0.0-rc1
  rbx-2.0.0
  rbx-2.1.0
  rbx-2.1.1
  rbx-2.2.0
  rbx-2.2.1
  rbx-2.2.2
  rbx-2.2.3
  rbx-2.2.4
  rbx-2.2.5
  rbx-2.2.6
  rbx-2.2.7
  rbx-2.2.9
  rbx-2.2.10
  ree-1.8.6-2009.06
  ree-1.8.7-2009.09
  ree-1.8.7-2009.10
  ree-1.8.7-2010.01
  ree-1.8.7-2010.02
  ree-1.8.7-2011.03
  ree-1.8.7-2011.12
  ree-1.8.7-2012.01
  ree-1.8.7-2012.02
  topaz-dev

早速2.2.0をインストールしてみます。
# rbenv install 2.2.0
Downloading ruby-2.2.0.tar.gz...
-> http://dqw8nmjcqpjn7.cloudfront.net/7671e394abfb5d262fbcd3b27a71bf78737c7e9347fa21c39e58b0bb9c4840fc
Installing ruby-2.2.0...
 
BUILD FAILED (CentOS release 6.5 (Final) using ruby-build 20141225-1-g45b75ed)
 
Inspect or clean up the working tree at /tmp/ruby-build.20141226162728.13624
Results logged to /tmp/ruby-build.20141226162728.13624.log
 
Last 10 log lines:
make[3]: ディレクトリ `/tmp/ruby-build.20141226162728.13624/ruby-2.2.0/ext/fiddle/libffi-3.2.1' から出ます
linking shared-object fiddle.so
/usr/bin/ld: ./libffi-3.2.1/.libs/libffi.a(raw_api.o): relocation R_X86_64_32 against `.text' can not be used when making a shared object; recompile with -fPIC
./libffi-3.2.1/.libs/libffi.a: could not read symbols: Bad value
collect2: ld はステータス 1 で終了しました
make[2]: *** [../../.ext/x86_64-linux/fiddle.so] エラー 1
make[2]: ディレクトリ `/tmp/ruby-build.20141226162728.13624/ruby-2.2.0/ext/fiddle' から出ます
make[1]: *** [ext/fiddle/all] エラー 2
make[1]: ディレクトリ `/tmp/ruby-build.20141226162728.13624/ruby-2.2.0' から出ます
make: *** [build-ext] エラー 2
エラーが出ました。
libffi云々でエラーが出ました。
libffiのインストール状況とリポジトリの情報を調べてみました。
# yum list installed|grep libffi
libffi.x86_64           3.0.5-3.2.el6   @anaconda-CentOS-201311291202.x86_64/6.5

# yum search libffi
Loaded plugins: fastestmirror, security
Loading mirror speeds from cached hostfile
 * base: ftp.tsukuba.wide.ad.jp
 * epel: ftp.tsukuba.wide.ad.jp
 * extras: ftp.tsukuba.wide.ad.jp
 * updates: ftp.tsukuba.wide.ad.jp
============================================================================= N/S Matched: libffi =============================================================================
libffi-devel.i686 : Development files for libffi
libffi-devel.x86_64 : Development files for libffi
libffi.i686 : A portable foreign function interface library
libffi.x86_64 : A portable foreign function interface library
 
  Name and summary matches only, use "search all" for everything.
libffi-devel.x86_64を入れてみて、再度2.2.0のインストールを実行すると成功しました。
# rbenv versions
  2.2.0

参考URL
http://qiita.com/MorimotoYasunori@github/items/fb81946fc088b18d6a3a

0 件のコメント:

コメントを投稿