我正在尝试在 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
从源代码安装 ruby 1.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
任何建议都值得感激。提前致谢。
答案1
我自己解决了这个问题。以下是我所做的。
# cd to openssl directory in ruby source directory
cd ruby-1.8.6-p420/ext/openssl
ruby extconf.rb
make && make install