«前の日記(2012-02-11) 最新 次の日記(2012-02-16)» 編集

いがいが日記


2012-02-15 [長年日記]

_ macでRVMのRuby1.9.3p0で Rails3.2.1 にて rails new したら bundle install でエラー

表題の環境で rails new したらbundle install のところで以下のようなエラーが。
$ rails new myapp
...
run  bundle install
/Users/igaiga/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/net/http.rb:799: [BUG] Segmentation fault
ruby 1.9.3p0 (2011-10-30 revision 33570) [x86_64-darwin10.8.0]
 
どうもRVMでRubyをビルド(rvm install ruby-1.9.3)するときに、MacPortsのopensslのlibを先に読み込んでいると起きるらしい。 調べるには
$ otool -L /Users/igaiga/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/x86_64-darwin10.8.0/openssl.bundle
/Users/igaiga/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/x86_64-darwin10.8.0/openssl.bundle:
        /Users/igaiga/.rvm/rubies/ruby-1.9.3-p0/lib/libruby.1.9.1.dylib (compatibility version 1.9.1, current version 1.9.1)
        /opt/local/lib/libssl.1.0.0.dylib (compatibility version 1.0.0, current version 1.0.0)
        /opt/local/lib/libcrypto.1.0.0.dylib (compatibility version 1.0.0, current version 1.0.0)
        /opt/local/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.5)
        /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 125.2.11)
        /usr/lib/libobjc.A.dylib (compatibility version 1.0.0, current version 227.0.0)
ああ、/opt/local/lib/libssl.1.0.0.dylibとか読んでますね。ダメなパターンのようです。 PATHから/opt/local/bin と /opt/local/sbin を外します。 RVMのrubyをコンパイルし直すのですが、ただ rvm uninstall して rvm install するだけではダメでした。
$ rvm remove ruby-1.9.3-p0
すればソースも消してくれるそうですが、当時removeを知らなかった私は以下で対応。
$ rvm cleanup sources
で過去にビルドしたソースを削除(注:~/.rvm/src/ 以下を全て削除します。)してから rvm install しました。
$ otool -L /Users/igaiga/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/x86_64-darwin10.8.0/openssl.bundle
/Users/igaiga/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/x86_64-darwin10.8.0/openssl.bundle:
        /Users/igaiga/.rvm/rubies/ruby-1.9.3-p0/lib/libruby.1.9.1.dylib (compatibility version 1.9.1, current version 1.9.1)
        /usr/lib/libssl.0.9.8.dylib (compatibility version 0.9.8, current version 0.9.8)
        /usr/lib/libcrypto.0.9.8.dylib (compatibility version 0.9.8, current version 0.9.8)
        /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 125.2.11)
        /usr/lib/libobjc.A.dylib (compatibility version 1.0.0, current version 227.0.0)
 
うん、直ったみたいですね。 その後、Rails3.2.1を入れて rails new したら bundle install もうまくいきました。 めでたしめでたし。 以下のページの報告に助けられました。 http://www.ruby-forum.com/topic/2977866

«前の日記(2012-02-11) 最新 次の日記(2012-02-16)» 編集