我试图在CentOS7上安装ruby 1.8.6并成功完成,但是ruby无法加载openssl。
我的安装步骤如下。
从源代码安装openssl 0.9.8。
wget http://www.openssl.org/source/openssl-0.9.8zb.tar.gz tar xzf openssl-0.9.8zb.tar.gz cd openssl-0.9.8zb ./config --prefix=/usr/local shared make && make install openssl version OpenSSL 0.9.8zb 6 Aug 2014 cd
从源代码安装ruby1.8.6。
# Fix timeout.rb:59: [BUG] Segmentation fault export CFLAGS="-O2 -fno-tree-dce -fno-optimize-sibling-calls" wget ftp://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.6-p420.tar.gz tar xvfvz ruby-1.8.6-p420.tar.gz cd ruby-1.8.6-p420 ./configure make && make install ruby -v ruby 1.8.6 (2010-09-02 patchlevel 420) [x86_64-linux] cd
这些步骤完成没有错误,但ruby不能加载openssl。
irb irb(main):001:0> require 'openssl' LoadError: libssl.so.0.9.8: cannot open shared object file: No such file or directory - /usr/local/lib/ruby/1.8/x86_64-linux/openssl.so from /usr/local/lib/ruby/1.8/x86_64-linux/openssl.so from /usr/local/lib/ruby/1.8/openssl.rb:17 from (irb):1:in `require' from (irb):1
错误显示无法打开“openssl.so”,但该文件存在于/usr/local/lib/ruby/1.8/x86_64-linux/openssl.so。
ls /usr/local/lib/ruby/1.8/x86_64-linux/openssl.so /usr/local/lib/ruby/1.8/x86_64-linux/openssl.so
任何build议,将不胜感激。 提前致谢。
我自己解决了这个问题。 这是我做的。
# cd to openssl directory in ruby source directory cd ruby-1.8.6-p420/ext/openssl ruby extconf.rb make && make install