morimorihogeです。中将落ちしました。オリョクルくらいしかしてないので仕方ないですね。
たまたま触ることになったDebian環境にいつも通りRails環境を構築していたらハマったのでメモです。今回は短いです。というかruby-buildの公式Wikiに書いてあることなので、ドキュメントをちゃんと読んで作業をする人には無縁なエントリです。
つまり読まずにやってハマった :p
参考: https://github.com/sstephenson/ruby-build/wiki
表示されるエラー
Debian 7 wheezyで普通にrbenv/ruby-buildをインストールし、rbenv install 2.1.0を実行すると、以下の様なエラーが出ます。
Installing ruby-2.1.0...
BUILD FAILED
Inspect or clean up the working tree at /tmp/ruby-build.20140605183846.10260
Results logged to /tmp/ruby-build.20140605183846.10260.log
Last 10 log lines:
make[2]: *** [ossl_ssl.o] Error 1
make[2]: Leaving directory `/tmp/ruby-build.20140605183846.10260/ruby-2.1.0/ext/openssl'
make[1]: *** [ext/openssl/all] Error 2
make[1]: *** Waiting for unfinished jobs....
checking ../.././parse.y and ../.././ext/ripper/eventids2.c
installing default ripper libraries
linking shared-object ripper.so
make[2]: Leaving directory `/tmp/ruby-build.20140605183846.10260/ruby-2.1.0/ext/ripper'
make[1]: Leaving directory `/tmp/ruby-build.20140605183846.10260/ruby-2.1.0'
make: *** [build-ext] Error 2
openssl周りのエラーが出ているのですが、さらに/tmpに残ったログを見ると、
ossl_ssl.c: In function ‘Init_ossl_ssl’:
ossl_ssl.c:2232:5: error: ‘SSL_OP_MSIE_SSLV2_RSA_PADDING’ undeclared (first use in this function)
の様に、opensslやlibssl-devパッケージが入っているのに定数未定義っぽいエラーが吐き出されています。
対策
ruby-build公式Wikiにも書いてあるとおり、patchutilsをインストールした上で、
$ curl -fsSL https://github.com/ruby/ruby/commit/1e7a929c1d44d7a368fbe379211183ac6c972920.patch | \
filterdiff --strip=1 -i a/ext/openssl/ossl_ssl.c | rbenv install -p 2.1.0
とすれば、パッチを当てた上でRubyをインストールすることができます。