人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

本日Macintosh VMWare Fusion上のCentOS 5.5最小パッケージにRubyまではインストール出来たのですが、
ruby -v
→ruby 1.8.7 (2010-08-16 patchlevel 302) [i686-linux]
RubyGemsをいインストールすると下記のエラーが出てしまいます。ググッたのですが解決できませんでした。解決法を教えて頂けませんでしょうか。
# wget http://rubyforge.org/frs/download.php/70696/rubygems-1.3.7.tgz
# tar xzf rubygems-1.3.7.tgz
# cd rubygems-1.3.7
# ruby setup.rb

"./lib/rubygems.rb:12:in 'require': no such file to load --etc (LoadError)
from ./lib/rubygems.rb:12
from setup.rb:24:in 'require'
from setup.rb:24.

●質問者: tosh139
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:24 CD CentOS ETC i686
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● いわどん
●35ポイント

CentOSについて詳しくないため間違ってたらごめんなさい。

質問のエラーの意味は「etcライブラリをロード出来なかった」です。もしRubyをrpmのパッケージを使ってインストールしたならば、ruby-libsというパッケージもインストールしましたでしょうか? ググッてみると rpm では etc.so というetcライブラリに必要なファイルはruby本体とは別に配布されているようです。以下は参考にしたページです。

http://rpm.pbone.net/index.php3/stat/4/idpl/13488848/dir/centos_...

ですので、もしまだruby-libsをインストールしていなければインストールすることで解決するかもしれません。

もしRubyを自前でビルドした場合は、(ビルドしたディレクトリ)/ext/etc/mkmf.logにビルド出来なかった原因が出力されているかもしれません。

etcライブラリがインストールされたかどうかは、コマンドラインで以下を実行して、エラーメッセージがでなければ大丈夫です。

% ruby -retc -e 0
◎質問者からの返答

御返答ありがとうございます。仰るとおり拡張ライブラリがロード出来ていない状態でした。

CentOS 5.5を最小インストールした後、rootのまま

yum -y update

reboot

yum install gcc zlib-devel wget

wget ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.7-p302.tar.gz

tar xzvf ruby-1.8.7-p302.tar.gz

cd ruby-1.8.7-p302

./configure --prefix=/usr

make

make test

→test succeeded

make install

ruby -v

→ruby 1.8.7 (2010-08-16 patchlevel 302) [i686-linux]

という形でインストールしました。

/root/ruby-1.8.7-p302/ext/etcには.cvsignore, depend, etc.c, etc.txt, ext.txt.ja, extconf.rbのみで、mkmf.logというファイルは存在しませんでした。

もう少し勉強してみます。


2 ● nuna
●35ポイント

おそらくRubyを正しくインストールできていません。

$ ruby -retc -e ''

$ ruby -rsocket -e ''

$ ruby -rstringio -e ''

などを実行してLoadErrorが発生するようであれば標準添付の拡張ライブラリがロードできていない状態です。

$ ruby -e 'p $LOAD_PATH'

でライブラリのロードパスが表示されますので、そのディレクトリ内に etc.so や socket.so などがあるかを確認してください。

i686-linux ですと /usr/lib/ruby/site_ruby/1.8/i686-linux や /usr/local/lib/ruby/site_ruby/1.8/i686-linux あたりのはずです。

もし etc.so などがインストールできていない場合、Rubyをどのようにインストールしたかを教えていただければ、アドバイスできるかもしれません。

http://www.google.co.jp/ ダミーです。

◎質問者からの返答

御返答ありがとうございます。上記3つともLoadErrorが発生しました。LOAD_PATHは/usr/lib/ruby以下のフォルダが8個ほど表示されました。/usr/lib/ruby/site_ruby/1.8/i686-linuxと/usr/local/lib/は両方とも空フォルダでetc.soやsocket.soなどは見当たりませんでした。find /usr/lib/ruby -name *.soでも何も表示されませんでした。アドバイスを頂けると大変助かります。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ