« PHPのコマンドライン実行 Main Emacsでsmart-find.el »

Ruby gemが更新できない

ちょっと古いサーバ上のRuby (1.9.3p327) でRailsをgemでインストールしようとすると、Unsupported digest algorithm (sha256)のエラーが…。

$ gem install rails
ERROR:  Error installing rails:
        invalid gem: package is corrupt, exception while verifying: Unsupported digest 
algorithm (SHA512). (RuntimeError) in /usr/local/lib/ruby/gems/1.9.1/cache/atomic-1.1.14.gem

検索すると、Ruby自体コンパイルする際のopensslのバージョンが古かったためらしい…。

Rubyを再コンパイルすればいい(しかない)ということらしいが、サーバが古いためうまくいくかどうか…。あー、っていうか、OpenSSLから入れ替えないといけないのか…。

[追記]
OpenSSLを”0.9.7l 28 Sep 2006″から”1.0.1e 11 Feb 2013″に更新

して、Rubyも更新インストールしてみたら、gem installが動作するようになったが、今度は新たなエラーが…。

$ sudo gem install rails
Building native extensions.  This could take a while...
ERROR:  Error installing rails:
        ERROR: Failed to build gem native extension.

    /usr/local/bin/ruby extconf.rb
creating Makefile

make
compiling atomic_reference.c
atomic_reference.c:75:2: #error No CAS operation available for this platform
make: *** [atomic_reference.o] エラー 1


Gem files will remain installed in /usr/local/lib/ruby/gems/1.9.1/gems/atomic-1.1.14 
for inspection.
Results logged to /usr/local/lib/ruby/gems/1.9.1/gems/atomic-1.1.14/ext/gem_make.out

どうやら、gccも古いということらしい…。

$ gcc -v
 ...
gcc バージョン 3.3.6 release (Vine Linux 3.3.6-0vl7)

さて、gccを更新すれば作業は終わるのか…?

Leave a comment

Your comment