Ruby的OpenSSL支持:“密码不是一个模块(TypeError)”

问题

我们的系统pipe理员需要升级CentOS 5.4 dev服务器上的软件包以匹配我们的生产服务器上的软件包。 升级影响ruby和/或openssl

我们运行一个名为Redmine的Ruby on Rails问题跟踪系统,在Apache上使用Passenger进行部署。 在服务器更新之前一切正常,但现在尝试访问故障单系统时,出现以下错误:

错误信息:

Cipher is not a module 

exception类:

 TypeError 

应用程序根:

 /home/dev/rails/redmine-0.8.7 

我一直在努力解决这个问题,但我似乎无法击败它。

我试过按照这个指南:
http://iamclovin.posterous.com/how-to-solve-the-cipher-is-not-a-module-error

当我尝试在IRB中require 'openssl'时,我确实看到了一个true返回值。 但是,我仍然看到Cipher.rb在访问票务系统时不是模块TypeError。

可能(可能)相关:

我试过更新Passenger,但是当我尝试passenger-install-apache2-module我看到:

 Checking for required software... * GNU C++ compiler... found at /usr/bin/g++ * Ruby development headers... found * OpenSSL support for Ruby... /usr/lib/ruby/1.8/openssl/cipher.rb:22: Cipher is not a module (TypeError) 

任何帮助?

ruby1.8.7(2009-12-24 patchlevel 248)[x86_64-linux]

在ruby的源码目录下

 cd ext/openssl/ ruby extconf.rb make sudo make install sudo cp -R /usr/local/lib/ruby/site_ruby/1.8/openssl* /usr/lib/ruby/1.8/ 

find一个修复这个花了很长一段时间…