OpenSSL-Unterstützung für Ruby: „Cipher ist kein Modul (TypeError)“

OpenSSL-Unterstützung für Ruby: „Cipher ist kein Modul (TypeError)“

Das Problem

Unser Systemadministrator musste die Pakete auf unserem CentOS 5.4-Entwicklungsserver aktualisieren, damit sie mit den Paketen auf unserem Produktionsserver übereinstimmen. Das Upgrade betrafRubinund/oderopenssl.

Wir betreiben ein Ruby on Rails Issue Tracking System namensRedminedas eingesetzt wird mitPassagierauf Apache. Vor dem Server-Update hat alles funktioniert, aber wenn ich jetzt versuche, auf das Ticketsystem zuzugreifen, erhalte ich die folgende Fehlermeldung:

Fehlermeldung:

Cipher is not a module

Ausnahmeklasse:

TypeError

Anwendungsstamm:

/home/dev/rails/redmine-0.8.7 

Ich habe so sehr versucht, dieses Problem zu beheben, aber ich scheine es nicht zu schaffen.

Ich habe versucht, dieser Anleitung zu folgen:
http://iamclovin.posterous.com/how-to-solve-the-cipher-is-not-a-module-error

Wenn ich es require 'openssl'in IRB versuche, wird ein Rückgabewert angezeigt true. Beim Zugriff auf das Ticketsystem wird mir jedoch immer noch die Fehlermeldung „Cipher.rb ist kein Modul-TypeError“ angezeigt.

Möglicherweise (wahrscheinlich) damit verbunden:

Ich habe versucht, Passenger zu aktualisieren, aber beim Versuch passenger-install-apache2-modulewird Folgendes angezeigt:

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)

Irgendeine Hilfe?

Antwort1

Ruby 1.8.7 (24.12.2009, Patchlevel 248) [x86_64-linux]

im Ruby-Quellverzeichnis

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/

Es hat sehr lange gedauert, eine Lösung dafür zu finden ...

verwandte Informationen