rbenv:在UBUNTU 14.04(x86_64)上安装Ruby 2.2.3时建立失败

时间:2016-01-27 08:09:45

标签: ruby openssl ubuntu-14.04 rbenv

我正在尝试安装ruby 2.2.3,之前我已经安装了ruby 2.2.2,

rbenv versions
system  
* 2.2.2 (set by /home/emen/.ruby-version)
jruby-1.7.20
jruby-9.0.0.0.pre2Build

我在尝试安装Ruby 2.2.3时遇到了问题,下面的构建失败了:

rbenv install 2.2.3  
Downloading ruby-2.2.3.tar.bz2...
-> https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.3.tar.bz2 Installing ruby-2.2.3...

BUILD FAILED (Ubuntu 14.04 using ruby-build 20160111-27-g06f1254)

Inspect or clean up the working tree at /tmp/ruby-build.20160127112741.26444 Results logged to /tmp/ruby-build.20160127112741.26444.log

我检查了日志,只是复制了一部分嫌疑人,因为另一个检查和编译过程很好:

linking shared-object objspace.so
make[2]: Leaving directory `/tmp/ruby-build.20160127112741.26444/ruby-2.2.3/ext/objspace'
compiling ossl_ssl.c
make[2]: Entering directory `/tmp/ruby-build.20160127112741.26444/ruby-2.2.3/ext/pathname'
compiling pathname.c
ossl_ssl.c:141:27: error: ‘SSLv3_method’ undeclared here (not in a function)
     OSSL_SSL_METHOD_ENTRY(SSLv3),
                           ^
ossl_ssl.c:119:69: note: in definition of macro ‘OSSL_SSL_METHOD_ENTRY’
 #define OSSL_SSL_METHOD_ENTRY(name) { #name, (SSL_METHOD *(*)(void))name##_method }
                                                                     ^
ossl_ssl.c:142:27: error: ‘SSLv3_server_method’ undeclared here (not in a function)
     OSSL_SSL_METHOD_ENTRY(SSLv3_server),
                           ^
ossl_ssl.c:119:69: note: in definition of macro ‘OSSL_SSL_METHOD_ENTRY’
 #define OSSL_SSL_METHOD_ENTRY(name) { #name, (SSL_METHOD *(*)(void))name##_method }
                                                                     ^
ossl_ssl.c:143:27: error: ‘SSLv3_client_method’ undeclared here (not in a function)
     OSSL_SSL_METHOD_ENTRY(SSLv3_client),
                           ^
ossl_ssl.c:119:69: note: in definition of macro ‘OSSL_SSL_METHOD_ENTRY’
 #define OSSL_SSL_METHOD_ENTRY(name) { #name, (SSL_METHOD *(*)(void))name##_method }
                                                                     ^
make[2]: *** [ossl_ssl.o] Error 1
make[2]: Leaving directory `/tmp/ruby-build.20160127112741.26444/ruby-2.2.3/ext/openssl'
make[1]: *** [ext/openssl/all] Error 2
make[1]: *** Waiting for unfinished jobs....
installing default pathname libraries
linking shared-object date_core.so
make[2]: Leaving directory `/tmp/ruby-build.20160127112741.26444/ruby-2.2.3/ext/date'
linking shared-object pathname.so
make[2]: Leaving directory `/tmp/ruby-build.20160127112741.26444/ruby-2.2.3/ext/pathname'
linking shared-object nkf.so
make[2]: Leaving directory `/tmp/ruby-build.20160127112741.26444/ruby-2.2.3/ext/nkf'
make[1]: Leaving directory `/tmp/ruby-build.20160127112741.26444/ruby-2.2.3'
make: *** [build-ext] Error 2

我试过这个 rbenv install ruby BUILD FAILED

我已经运行了这个:

  

sudo apt-get install libffi-dev

  

sudo apt-get install git-core curl   zlib1g-dev build-essential libssl-dev libreadline-dev libyaml-dev   libsqlite3-dev sqlite3 libxml2-dev libxslt1-dev libcurl4-openssl-dev   python-software-properties libffi-dev

  

curl -fsSL https://gist.github.com/ekr1/7313abef4348daa038dd.txt |   rbenv install --patch 2.2.3

但仍然没有运气,我可能会错过一些东西,感谢你的帮助。谢谢!

2 个答案:

答案 0 :(得分:6)

我已通过修补https://gist.github.com/mislav/055441129184a1512bb5/

修复了此构建失败

执行了这个:

  

curl -fsSL https://gist.github.com/mislav/055441129184a1512bb5.txt |   rbenv install --patch 2.2.3

答案 1 :(得分:1)

这看起来像一个开放的问题。未定义的SSL_v3表示您没有它,或者您有一个较旧的库。

尝试:

rvm pkg install openssl
rvm install 2.2.3 --with-openssl-dir=$HOME/.rvm/usr
相关问题