Поддержка OpenSSL для Ruby: «Cipher не является модулем (TypeError)»

Поддержка OpenSSL для Ruby: «Cipher не является модулем (TypeError)»

Проблема

Нашему системному администратору нужно было обновить пакеты на нашем сервере разработки CentOS 5.4, чтобы они соответствовали пакетам на нашем производственном сервере. Обновление затронулоРубини/илиopenssl.

Мы используем систему отслеживания ошибок Ruby on Rails, которая называетсяРедмайнкоторый развернут сПассажирна Apache. До обновления сервера все работало, но сейчас при попытке доступа к системе тикетов получаю следующую ошибку:

Сообщение об ошибке:

Cipher is not a module

Класс исключения:

TypeError

Корень приложения:

/home/dev/rails/redmine-0.8.7 

Я так старался решить эту проблему, но, похоже, не могу с ней справиться.

Я попробовал следовать этому руководству:
http://iamclovin.posterous.com/how-to-solve-the-cipher-is-not-a-module-error

Когда я пробую require 'openssl'в IRB, я вижу trueвозвращаемое значение. Однако я все еще вижу Cipher.rb is not a module 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)

Любая помощь?

решение1

ruby 1.8.7 (2009-12-24 уровень исправления 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/

Поиск решения этой проблемы занял очень много времени...

Связанный контент