未定义符号:尝试运行瘦网络服务器时的 SSLv2_method [英] undefined symbol: SSLv2_method when trying to run Thin webserver

查看:58
本文介绍了未定义符号:尝试运行瘦网络服务器时的 SSLv2_method的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我已经用 rvm (rvm pkg install openssl) 安装了 OpenSSL,然后 rvm 重新安装了 1.9.3 --with-openssl-dir=$rvm_path/usr

I've installed OpenSSL with rvm (rvm pkg install openssl) and then did rvm reinstall 1.9.3 --with-openssl-dir=$rvm_path/usr

当我尝试运行瘦网络服务器时,出现以下错误:

When I try to run the thin webserver, I get the following error:

/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(加载错误)

/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 是否也这样做?是否有针对此问题的已知解决方法?

This is running on Ubuntu 12.04, and I've read that Ubuntu 12 builds OpenSSL without SSLv2 support. Yet, here it's referencing RVM's package -- does RVM do the same? Is there any known workaround for this problem?

推荐答案

如你所说,Ubuntu 构建 openssl 不支持 SSLv2:Ubuntu 和 SSLv2_method 的未定义符号

As you say, Ubuntu builds openssl without SSLv2 support: Ubuntu and undefined symbol for SSLv2_method

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

For people reading this, your options are (in increasing difficulty):

(1) 安装 rvm 版本 1.14.7,其中 openssl pkg 包括 openssl 版本 0.9.8,并且默认包括 SSLv2 支持.

(1) install rvm version 1.14.7, where the openssl pkg includes openssl version 0.9.8, and includes SSLv2 support by default.

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

安装所需的包,重新编译你的 ruby​​,它应该可以工作了!

Install the required packages, recompile your ruby, and it should work!

(2)(这为您提供更多安全性):从源代码编译您自己的 openssl,将其配置为包含 SSLv2 支持,然后使用 --with-openssl-dir 指向您安装 openssl 的任何位置重新编译您的 ruby​​.

(2) (This gives you more security): Compile your own openssl from source, configuring it to include SSLv2 support, then recompile your ruby with the --with-openssl-dir pointing at wherever you installed openssl to.

(3) 修复 Thin 使其不再需要 SSLv2_method 符号,然后在 GitHub 上提交拉取请求

(3) Fix thin so that it no longer requires the SSLv2_method symbol, then submit a pull request on GitHub

这篇关于未定义符号:尝试运行瘦网络服务器时的 SSLv2_method的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆