さとうようぞうの技術メモ

技術的な内容はこっちに書こうかなぁ、と思ったので。

Ruby2.0.0 の RPM を作成

Virtualbox 上の CentOS 6.4 で作成。全部 root で作業

mkdir -p rpmbuild/{BUILD,BUILDROOT,RPMS,SOURCES,SPECS,SRPMS}
yum groupinstall 'Development Tools'
yum install  -y readline-devel libyaml-devel gdbm-devel tcl-devel openssl-devel db4-devel libffi-devel wget
wget http://cache.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p353.tar.gz -P ./rpmbuild/SOURCES/
wget https://raw.github.com/hansode/ruby-2.0.0-rpm/master/ruby200.spec -P ./rpmbuild/SPECS
rpmbuild -bb rpmbuild/SPECS/ruby200.spec
rpm -i --test ./rpmbuild/RPMS/x86_64/ruby-2.0.0p353-2.el6.x86_64.rpm
rpm -i ./rpmbuild/RPMS/x86_64/ruby-2.0.0p353-2.el6.x86_64.rpm

実行環境

[vagrant@vagrant-centos64 ~]$ cat /etc/redhat-release 
CentOS release 6.4 (Final)

作成した RPM をインストールしようとすると、いくつかライブラリが足りないっぽい。

[vagrant@vagrant-centos64 ~]$ sudo rpm -Uvh /tmp/ruby-2.0.0p353-2.el6.x86_64.rpm
error: Failed dependencies:
        libcrypto.so.10(OPENSSL_1.0.1_EC)(64bit) is needed by ruby-2.0.0p353-2.el6.x86_64
        libcrypto.so.10(libcrypto.so.10)(64bit) is needed by ruby-2.0.0p353-2.el6.x86_64
        libssl.so.10(libssl.so.10)(64bit) is needed by ruby-2.0.0p353-2.el6.x86_64
        libyaml-0.so.2()(64bit) is needed by ruby-2.0.0p353-2.el6.x86_64