CentOS6.4 64bitにRuby2.0をインストールする

はじめに

サーバ以降でRubyをインストールするときに、以下のエラーメッセージにて詰まったので、メモしておきます。
rbenvやRVMの存在を忘れて、ruby2.0を入れようとしてました。

実作業

$ configure
$ make

とソースを落としてきてコンパイルしようとしたら、以下の様なエラーに。

/usr/bin/ld: /usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../libncurses.a(lib_color.o): relocation R_X86_64_32S against `.rodata' can not be used when making a shared object; recompile with -fPIC

参考サイトに、以下のようなコマンドがあったため、パッケージが足りないのかと思いインストール。

# wget http://ftp.jaist.ac.jp/pub/Linux/Fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm
# rpm -ivh epel-release-6-8.noarch.rpm
# yum install gcc-c++ patch readline readline-devel zlib zlib-devel libffi-devel openssl-devel make bzip2 autoconf automake libtool bison gdbm-devel tcl-devel tk-devel libxslt-devel libxml2-devel
# yum install --enablerepo=epel libyaml-devel

その後、あらためて、ソースコンパイル

$ configure
$ make

うまくいきました。

おわりに

ずーっと、-fPICオプションについて調べまわっていたのですが、途中で諦めてパッケージにしようって思い、方向転換しました。おかげで、なんとかインストールできました。定期的に、他の方法じゃダメなのか再確認しながら作業したいものです。