2012-11-13 59 views
4

我已經安裝了RVM(rvm pkg install openssl)的OpenSSL,然後什麼時候rvm reinstall 1.9.3 --with-openssl-dir=$rvm_path/usr未定義的符號:SSLv2_method嘗試運行Web服務器薄

當我嘗試運行Web服務器薄,我得到以下錯誤:

/home/ubuntu/.rvm/rubies/ruby-1.9.3-p327/lib/ruby/1.9.1/x86_64-linux/openssl.so: undefined symbol: SSLv2_method - /home/ubuntu/.rvm/rubies/ruby-1.9.3-p327/lib/ruby/1.9.1/x86_64-linux/openssl.so (LoadError)

這是在Ubuntu 12.04上運行的,我讀過Ubuntu 12構建了沒有SSLv2支持的OpenSSL。然而,這裏引用了RVM的包 - RVM是否也這樣做?有沒有已知的解決方法解決這個問題?

+0

我正好找到了同樣的問題提交pull請求。你找到解決方案嗎? – user1158559

+0

我認爲這將是固定的,如果你可以安裝一個特定版本的openssl pkg - 我相信0.9.8可能是你想要的。 – user1158559

+0

不知道如何做到這一點,但rvm版本1.14.7的openssl包版本是0.9.8t。如果它在我重新編譯過紅寶石時起作用,我會告訴你。 – user1158559

回答

4

正如你所說的,Ubuntu建立的OpenSSL沒有的SSLv2支持:Ubuntu and undefined symbol for 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 

安裝所需的軟件包,重新編譯你的紅寶石,它應該工作! (2)(這會給你更多的安全性):從源代碼編譯自己的openssl,配置它以包含SSLv2支持,然後使用--with-openssl-dir重新編譯你的ruby,指向你安裝openssl的地方。

(3)固定薄,使得它不再需要SSLv2_method符號,然後在GitHub

+1

從我的寒冷底下,開發者心中:謝謝。我沒有這個確切的問題,但是你的解決方案#1正是我所需要的。 –

相關問題