2016-10-20 32 views
1

私は作業用の開発マシンをSierraにアップグレードしましたが、Capistranoを使用して展開することはできません。Sierra-rubyへのアップグレード後のOpenSSL Segフォールト1.8.7

すると、それを追跡、問題は、私はまた、シエラにアップグレード別のMacを持っているが、それは結構です

/Users/programmer1/.rvm/rubies/ruby-1.8.7-p374/lib/ruby/1.8/irb.rb:310: [BUG] Segmentation fault 
ruby 1.8.7 (2013-06-27 patchlevel 374) [i686-darwin16.0.0] 

OpenSSL::PKey::RSA.new 

これは、結果への呼び出しです。

私は、Openssl v0.9.8zgに対してrvmを使ってrubyをビルドしました。

rvm reinstall 1.8.7-p374 --autolibs=0 --with-openssl=~/builds/openssl-0.9.8zg 

私はシステムに対してRVMのルビーを構築する場合は、私はカピストラーノを使用することができますOpenSSLをインストールしたのですが、SSLの設定、障害を持つRuby on RailsアプリケーションへのときにユーザがログインAuthlogicは失敗します。

OpenSSL v0.9.8gに対してrvmのルビーを構築すると、Authlogicは正しく動作しますが、リモートサーバに接続するとCapistrano seg faultsが発生します。

私はCapistranoを実行する前にローカルで構築されたOpenSSL v0.9.8にDYLD_LIBRARY_PATHを設定しようとしましたが、それでもコアダンプはあります。

Ruby on Rails 2.3.18(従来のアプリケーション)。 Ruby 1.8.7-p374 OS X Sierra

これを進める方法が今ではありません。

更新:

otool -L /Users/programmer1/.rvm/rubies/ruby-1.8.7-p374/lib/ruby/1.8/i686-darwin16.0.0/openssl.bundle 

/Users/programmer1/.rvm/rubies/ruby-1.8.7-p374/lib/ruby/1.8/i686-darwin16.0.0/openssl.bundle: 
/Users/programmer1/.rvm/rubies/ruby-1.8.7-p374/lib/libruby.dylib (compatibility version 1.8.0, current version 1.8.7) 
/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) 
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1238.0.0) 
/usr/lib/libobjc.A.dylib (compatibility version 1.0.0, current version 228.0.0) 

はどうすればSSLの0.9.7に対してリンクするRVMをしてください伝えることができルビーは常にlibssl1.0.0を使用していることを示し、決して0.9.7

答えて

0

私自身の問題に対する解決策を、自分自身や今後この問題を抱える他の人に向けて投稿しています。

私がOpenSSLを構成64

のOpenSSL(0.9.8)は、32ビット用にコンパイルされたことがないように見える。次いで

./config darwin64-x86_64-cc shared enable-ec_nistp_64_gcc_128 no-ssl2 no-ssl3 no-comp --openssldir=/usr/local/ssl/macos-x86_64 

https://wiki.openssl.org/index.php/Compilation_and_Installation#OS_X参照)

を介しruby1.8.7を再インストールrvm

rvm reinstall 1.8.7-p374 --autolibs=0 --with-openssl --with-opt-dir=/usr/local/ssl/macos-x86_64 

ロードされたバージョンを確認する

otool -L /Users/programmer1/.rvm/rubies/ruby-1.8.7-p374/lib/ruby/1.8/i686-darwin16.0.0/openssl.bundle 
関連する問題