Назад | Перейти на главную страницу

Скомпилируйте Ruby 1.8.6 с openssl 0.9.8

Я пытаюсь установить ruby ​​1.8.6 на CentOS7 и успешно завершил его, но 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

Мы ценим любые предложения. Заранее спасибо.

Решил проблему сам. Вот что я сделал.

# cd to openssl directory in ruby source directory
cd ruby-1.8.6-p420/ext/openssl
ruby extconf.rb
make && make install