使用 openssl 0.9.8 编译 ruby​​ 1.8.6

使用 openssl 0.9.8 编译 ruby​​ 1.8.6

我正在尝试在 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

相关内容