From: Kominami Yasuo Date: 2003-10-24T02:25:53+09:00 Subject: [ruby-list:38646] install trouble of ruby 1.8 and rdtools 0.6.14 はじめまして、小南と言います。 最近Turbo Linuxの次期デスクトップOS「Suzuka」ベータ版というのをインストールしました。 それにはrubyが入っていなかったので、www.ruby-lang.orgから1.8のSRPMを取得し、RAAからrdtoolsなどいくつかのツールのソースを取得し、インストールしました。 その時いくつか引っかかるところがありました。ruby-listではどなたも触れられていないようですので報告します。 まずruby 1.8のSRPMですが、emacsがないため依存関係のチェックで再構築できませんでした。 たしかにSuzukaにはemacsはインストールされていませんでしたが、xemacsはインストールされています。 emacsはruby-modeをバッチコンパイルするのに使われるようですが、どうしてもemacsでないとダメなのかとSPECファイルを見ると、以下のようになっていました。 (8行目) %define mode %{?_without_mode:0}%{?!_without_mode:1} %define xemacs_mode %{?_with_xemacs_mode:1}%{?!_with_xemacs_mode:0} (32行目) %if %{mode} BuildPreReq: emacs %endif %if %{xemacs_mode} BuildPreReq: xemacs %endif 意図としてはemacsが存在する場合、xemacsが存在する場合と場合分けして、どちらも存在しなければ何もしないというというものだったと思われます。 私はSPECファイルは詳しくないので適切な設定方法がわかりませんでした。 とりあえずmodeにO、xemacs_modeに1を与えて再構築してみたところ、成功しました。 次にrdtoolsの最新版0.6.14をインストールしようとしました。 事前にRAAからraccの最新版1.4.4、optparse 0.12をインストールしてから、ruby rdtoolconf.rbとすると、amstd/rbparamsがrequire出来ないと言うエラーになりました。 amstdが何か分からないままRAAで検索をかけると、ruby-sumoに同梱されていることが分かりました。しかしruby-sumo自体が随分大きいため、amstdのためだけにダウンロードはしたくないと思いました。 いろいろ探してみたところ、青木さんのホームページに存在することが分かりました。 そしてraccの1.4.3まではamstdが同梱されていたことも分かりました。 とりあえずamstdを取得し、インストールしたので、requireのエラーは出なくなりました。 しかし今度は標準ライブラリmkmfでcloseメソッドは存在しないというエラーが発生しました。 調べてみるとmkmfのメソッドcreate_makefileの最後でmfile.closeとしていました。 確かにリファレンスを見てもFileオブジェクトにはcloseが無いと書かれています。 メソッドの最後ですし、他に影響はないだろうと思い、mkmf.rbの該当行をコメントアウトして、インストールできました。 一応インストールをすることが出来たのですが、現状のままでは変なところでインストールに支障が出てしまいます。 そこで以下のことを要望いたします。 よろしくお願いします。 1.ruby1.8のSPECファイルをemacs、xemacsが存在しなくても良いように修正して欲しい。 2.mkmf.rbは現在のCVSでもmfile.closeが残っていますので、該当行を削除して欲しい。 3.rdtoolsはrubyでよく使われるものですから、RAAだけでインストールできるようにして欲しい。 具体的には、amstdをRAAに登録または、rdtoolsに同梱して欲しい。