なんかやたらと手間取った。
rvm インストール して、適当なライブラリをインストールして、上手くインストールできたと思ったら、gem install ruby-gems-update でネットでよく見かけるエラーに遭遇。
$ gem install rubygems-update
ERROR: Loading command: install (LoadError)
cannot load such file -- zlib
ERROR: While executing gem ... (NameError)
uninitialized constant Gem::Commands::InstallCommand
(もちろん zlib, zlib-devel はインストール済みで install 時にも –with-zlib-dir を渡してる)
このパターンのトラブルシューティングは、以下のようにして回避ってのが定番なんだが、どうもうまくいかない。
$ $rvm_path/src/ruby-1.9.3-p125/ext/zlib
$ ruby extconf.rb
$ ../../
$ make
$ make install
でも、エラーでまくり。
checking for deflateReset() in -ltrue... no
checking for deflateReset() in -llibz... no
checking for deflateReset() in -lzlib1... no
checking for deflateReset() in -lzlib... no
checking for deflateReset() in -lzdll... no
散々調べまっくた経緯を4000字ほど書きたいところだが、結論だけ書くと、公式にあるようにすれば一発で OK だった。
Remove all the manually installed packages:
$ rm -rf $rvm_path/usrFind the requirements (follow the instructions):
$ rvm requirementsReinstall ruby:
$ rvm reinstall 1.9.3
ちなみに、readline やら、openssl でエラーが出ても、手順は似たようなものになると思う。
あと、rvm pkg install readline のときに、autoreconf でエラーが出てたんだが、これも公式にあったように、
$ rvm --skip-autoreconf pkg install readline
とすれば、インストールできた。(いいのか??)
まぁ、とりあえずは動きそうだからよいか。
しかし、なんで –with-zlib-dir… を指定して、reinstall してもエラーなのに、何の指定もなしでエラーが無くなったんだろう。余分だったのかな。
最後に
ライブラリはこれだけインストールしときゃ、だいたい幸せなはず。
sudo yum install -y gcc-c++ patch readline readline-devel zlib zlib-devel libyaml-devel libffi-devel openssl-devel make bzip2 autoconf automake libtool bison iconv-devel
コメント
“[さくらVPS(CentOS)]Ruby 1.9.3 インストール時の対応メモ(zlib, readline らへん) – suVeneのアレ” http://t.co/N1pW0aWo
[…] Ruby は前回 入れ、Rails も gem install rails で問題なく完了。 […]
[…] こちらのページ(注: リンク更新しました)によると、OpenSSLなどの一部のライブラリについては、以下のコマンドで、rvm内にインストールが出来るようです。 […]