ferret
RHEL zlinux(s390xアーキテクチャー)マシンにruby gemをインストールしようとしていますが、コンパイルするようにパッチ.gem
を適用した後にファイルをインストールしようとしています。
しかし、元のフェッチされたgemをインストールしようとしても、次のように失敗します。
[ me@s390x ]$ sudo gem fetch ferret
Downloaded ferret-0.11.6
[ me@s390x ]$ sudo gem install -lV ferret-0.11.6.gem
Installing gem ferret-0.11.6
Using local gem /home/rubyusr/rubygems/gems/cache/ferret-0.11.6.gem
/home/rubyusr/rubygems/gems/gems/ferret-0.11.6/bin
ERROR: While executing gem ... (Errno::EEXIST)
File exists - /home/rubyusr/rubygems/gems/gems/ferret-0.11.6/bin
このコマンドを実行する前は、「ferret」に関連する上記のディレクトリまたはファイルは存在しませんでした。
また、それがディレクトリであるというのも奇妙なこと/home/rubyusr/rubygems/gems/gems/ferret-0.11.6/bin
ですが、それは通常の苦情かもしれません。
最後の複雑な要因は、gem
コマンドを実行するときに、通常とは異なるrubygemsディレクトリの環境変数を設定するシェルスクリプトを実際に実行していることです(この設定ではこれまで問題はありませんでした)。これが私のgem
シェルスクリプトです:
#!/bin/bash
export GEM_HOME=/home/rubyusr/rubygems/gems
export GEM_PREFIX=/home/rubyusr/rubygems
export RUBYLIB=$GEM_PREFIX/lib:/usr/lib/ruby:/usr/lib/ruby/site_ruby:/usr/lib/site_ruby
export GEM_PATH=$GEM_HOME
OUR_GEM_COMMAND=$GEM_PREFIX/bin/gem
$OUR_GEM_COMMAND $@
編集:
gem installコマンドを実行しても、通常はこのエラーが発生しないように見えることを追加するのを忘れました(ただし、ferretはコンパイルに失敗します)。次のエラーが発生します。
posh.h:515:4: error: #error POSH cannot determine target CPU