Compatibilidad con OpenSSL para Ruby: "Cipher no es un módulo (TypeError)"

Compatibilidad con OpenSSL para Ruby: "Cipher no es un módulo (TypeError)"

El problema

Nuestro administrador de sistemas necesitaba actualizar los paquetes en nuestro servidor de desarrollo CentOS 5.4 para que coincidieran con los paquetes en nuestro servidor de producción. La actualización afectórubíy/oabresl.

Ejecutamos un sistema de seguimiento de problemas de Ruby on Rails llamadoRedminaque se despliega conPasajeroen apache. Todo funcionaba antes de la actualización del servidor, pero cuando intento acceder al sistema de tickets ahora, aparece el siguiente error:

Mensaje de error:

Cipher is not a module

Clase de excepción:

TypeError

Raíz de la aplicación:

/home/dev/rails/redmine-0.8.7 

He estado intentando con todas mis fuerzas solucionar este problema pero parece que no puedo superarlo.

Intenté seguir esta guía:
http://iamclovin.posterous.com/how-to-solve-the-cipher-is-not-a-module-error

Cuando lo intento require 'openssl'en IRB, veo un truevalor de retorno. Sin embargo, sigo viendo que Cipher.rb no es un error de tipo de módulo al acceder al sistema de tickets.

Posiblemente (probablemente) relacionado:

Intenté actualizar Passenger, pero cuando lo intento passenger-install-apache2-moduleveo:

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)

¿Alguna ayuda?

Respuesta1

Ruby 1.8.7 (2009-12-24 nivel de parche 248) [x86_64-linux]

en el directorio fuente de 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/

Encontrar una solución para esto tomó mucho tiempo...

información relacionada