未定义的符号:SSLv2_method试图运行Web服务器薄时(undefined symbol:

2019-08-02 16:40发布

我已经安装了RVM的OpenSSL( rvm pkg install openssl ),然后没rvm reinstall 1.9.3 --with-openssl-dir=$rvm_path/usr

当我尝试运行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 /红宝石/ 1.9.1 / x86_64的-LINUX / openssl.so(LoadError)

这是在Ubuntu 12.04上运行,而我读过,Ubuntu的12建立的OpenSSL没有的SSLv2支持。 然而,在这里它引用RVM的包 - 没有RVM做? 是否有此问题的任何已知的解决方法?

Answer 1:

正如你所说的,Ubuntu建立的OpenSSL没有的SSLv2支持: 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

安装所需的软件包,重新编译你的红宝石,它应该工作!

(2)(此为您提供了更高的安全性):从源代码编译自己的OpenSSL,其配置包括支持的SSLv2,然后重新编译与无论你安装了OpenSSL的--with-的OpenSSL目录指向你的红宝石。

(3)修正薄,使得它不再需要的SSLv2_method符号,然后提交上拉请求GitHub的



文章来源: undefined symbol: SSLv2_method when trying to run Thin webserver
标签: ruby rvm