4

OpenSSL を rvm ( rvm pkg install openssl) でインストールしてから実行しましたrvm reinstall 1.9.3 --with-openssl-dir=$rvm_path/usr

Thin Web サーバーを実行しようとすると、次のエラーが表示されます。

/home/ubuntu/.rvm/rubies/ruby-1.9.3-p327/lib/ruby/1.9.1/x86_64-linux/openssl.so: 未定義のシンボル: SSLv2_method - /home/ubuntu/.rvm/rubies/ruby -1.9.3-p327/lib/ruby/1.9.1/x86_64-linux/openssl.so (ロードエラー)

これはUbuntu 12.04で実行されており、Ubuntu 12はSSLv2サポートなしでOpenSSLを構築することを読みました。しかし、ここでは RVM のパッケージを参照しています -- RVM は同じことをしますか? この問題に対する既知の回避策はありますか?

4

1 に答える 1

4

あなたが言うように、Ubuntu は SSLv2 サポートなしで openssl をビルドします: Ubuntu と SSLv2_method の未定義のシンボル

これを読んでいる人にとって、あなたの選択肢は次のとおりです(難易度が高くなります):

(1) rvm バージョン 1.14.7 をインストールします。この場合、openssl pkg には openssl バージョン 0.9.8 が含まれており、デフォルトで SSLv2 サポートが含まれています。

rvm implode # Completely destroy your rvm installation
curl -L https://get.rvm.io | bash -s -- --version 1.14.7

必要なパッケージをインストールし、Ruby を再コンパイルすると、動作するはずです!

(2) (これによりセキュリティが強化されます): ソースから独自の openssl をコンパイルし、SSLv2 サポートを含めるように構成してから、openssl をインストールした場所を指す --with-openssl-dir を使用して ruby​​ を再コンパイルします。

(3) SSLv2_method シンボルが不要になるように thin を修正し、GitHubでプル リクエストを送信します。

于 2012-11-20T11:59:32.333 に答える