%E2%80%9D.png)
O problema
Nosso administrador de sistemas precisava atualizar os pacotes em nosso servidor de desenvolvimento CentOS 5.4 para corresponder aos pacotes em nosso servidor de produção. A atualização afetadarubie/ouabressl.
Executamos um sistema de rastreamento de problemas Ruby on Rails chamadoRedmineque é implantado comPassageirono Apache. Tudo funcionava antes da atualização do servidor, mas ao tentar acessar o sistema de tickets agora, recebo o seguinte erro:
Mensagem de erro:
Cipher is not a module
Classe de exceção:
TypeError
Raiz do aplicativo:
/home/dev/rails/redmine-0.8.7
Tenho tentado muito resolver esse problema, mas não consigo vencê-lo.
Eu tentei seguir este guia:
http://iamclovin.posterous.com/how-to-solve-the-cipher-is-not-a-module-error
Quando tento require 'openssl'
no IRB, vejo um true
valor de retorno. Porém, ainda estou vendo que Cipher.rb não é um módulo TypeError ao acessar o sistema de tickets.
Possivelmente (provavelmente) relacionado:
Tentei atualizar o Passenger, mas quando tento passenger-install-apache2-module
vejo:
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)
Qualquer ajuda?
Responder1
ruby 1.8.7 (2009-12-24 patchlevel 248) [x86_64-linux]
no diretório de origem 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 uma solução para isso levou muito tempo...