Debian 7 wheezy環境でrbenvでのRubyビルドに失敗する時の対処方法

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をインストールすることができます。

デザインも頼めるシステム開発会社をお探しならBPS株式会社までどうぞ 開発エンジニア積極採用中です! Ruby on Rails の開発なら実績豊富なBPS

この記事の著者

morimorihoge

高校卒業後,学生をやりながらずっとWebアプリ開発に携わってきました.2010くらいまではPHP/Symfonyプログラマでしたが,それ以降のWeb開発はRailsほぼ一本に宗旨替えしました.開発とは別にサーバ構築・運用も10年以上やってきているので,要件定義から設計・実装・環境構築・運用まで一通り何でもこなせます.開発以外では季節により大学でWebサービス開発やプログラミング関連の非常勤講師もしており,技術の啓蒙・教育にも積極的に関わっています.最近はPM的な仕事が増えていますが,現役開発者としていつでも動ける程度にはコードもサーバも弄る日々を送っています.AWS 認定ソリューションアーキテクト – アソシエイトレベル取りました

morimorihogeの書いた記事

週刊Railsウォッチ

インフラ

ActiveSupport探訪シリーズ

BPSアドベントカレンダー