Ruby 未定义符号:尝试运行精简Web服务器时的SSLv2_方法

Ruby 未定义符号:尝试运行精简Web服务器时的SSLv2_方法,ruby,rvm,Ruby,Rvm,我已经用rvm安装了OpenSSL(rvm pkg安装OpenSSL),然后用OpenSSL dir=$rvm\u path/usr重新安装了rvm 1.9.3 尝试运行精简Web服务器时,出现以下错误: /home/ubuntu/.rvm/rubies/ruby-1.9.3-p327/lib/ruby/1.9.1/x86_64-linux/openssl.so: 未定义符号:SSLv2_方法- /home/ubuntu/.rvm/rubies/ruby-1.9.3-p327/lib/ruby/

我已经用rvm安装了OpenSSL(
rvm pkg安装OpenSSL
),然后用OpenSSL dir=$rvm\u path/usr重新安装了
rvm 1.9.3

尝试运行精简Web服务器时,出现以下错误:

/home/ubuntu/.rvm/rubies/ruby-1.9.3-p327/lib/ruby/1.9.1/x86_64-linux/openssl.so: 未定义符号:SSLv2_方法- /home/ubuntu/.rvm/rubies/ruby-1.9.3-p327/lib/ruby/1.9.1/x86_64-linux/openssl.so (加载错误)


这是在Ubuntu12.04上运行的,我读到Ubuntu12在不支持SSLv2的情况下构建OpenSSL。然而,这里它引用了RVM的包——RVM也这样做吗?这个问题有没有已知的解决方法

正如您所说,Ubuntu构建openssl时不支持SSLv2:

对于阅读本文的人,您的选择是(难度越来越大):

(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 dir指向您安装openssl的位置重新编译ruby


(3) 修复thin,使其不再需要SSLv2_方法符号,然后在

上提交拉取请求,我遇到了完全相同的问题。你找到解决方案了吗?我想如果你能安装一个特定版本的openssl pkg,它会被修复的-我相信0.9.8可能是你想要的。不知道如何做到这一点,但rvm版本1.14.7的openssl包版本是0.9.8t。当我重新编译ruby时,我会让你知道它是否有效。它对你有效吗。。?我最后用的是Centose是的!现在我要发布一个答案,并要求一些投票!发自我冰冷的内心:谢谢你。我没有这个问题,但你的解决方案正是我所需要的。