作者: たむらけんいち
日時: 2002/10/10(23:58)
たむらです。

えっと、まず別件から。cygwin上の make から MinGW の gcc を指定しているせい
だと思いますが、CCがフルパスになってるため、C:\mingw 以外に、MinGWを
インストールしている人は、拡張ライブラリを作れません。
Rubyは、rbconfig.rb に make時の情報を保持しているので、このようになって
しまいます。

On Thu, 10 Oct 2002 21:38:04 +0900
Keiichi Takahashi <bitwalk@...> wrote:

> ビットウォークの高橋です。
> 
> >>このパッケージは(最新の)MinGWとMSYSだけでコンパイルしましたが、make
> >>installがうまく出来なかったので、ここだけCygwinで処理しました。この理由
> >>は詳しく調べていません。
> > 
> > 
> > ruby-talkでも報告があったので一昨日から調べているのですが、
> > MSYSのshellには勝手に引数をいじる機能があります。
> >   $ ./miniruby -e 'p ARGV[0]' /usr/local
> >   "D:\\MinGW\\1.0\\local"
> > ruby.exe, mingw32-ruby16.dll等はinstruby.rb内で
> > Config::CONFIG['prefix']を見てインストールするのに対し、
> > ext/配下の拡張ライブラリはruby -rftools ....の引数で指定した
> > ディレクトリにインストールされます。この時shell経由で起動さ
> > れるため喰い違いが起きます。
> > たとえば私の場合だとDドライブで作業してるので
> >   D:/MinGW/1.0/local - *.soやその関係の*.rb
> >   D:/usr/local - ruby.exe, mingw32-ruby16.dll, irb, ...
> > となってしまいます。
> 
> なるほど、それで d:\usr\local なんてフォルダが出来ていたりするわけですね
> (私は/homeをd:\homeにマウントしてそこで作業しています)。このような現象
> に遭遇したのははじめてでしたので、さしあたってCygwin環境に逃げてしまいま
> した。

基本的に DOSISH(ドライブレター有)な MinGWと、Unix-Likeな Cygwin/MSYSの
組み合わせの問題ですよね。私も苦労してますが、決定的な解決策は見つかりません。
cygpath を使って prefixで指定したりもしてますが。
わたなべさんみたく Cross な環境がやっぱり良いのかなぁ。
 
> Ruby関連のMLに参加して情報収集に励む必要があるかもしれません。お奨めのML
> があれば教えて頂けませんか?

基本的に、ruby-listは必須ですね。ruby-dev はかなり内部的な突っ込んだ内容です。

 * Blade (Ruby関連MLのアーカイブ)
   http://blade.nagaokaut.ac.jp/ruby/index.html
 * Ruby ML Topics [ja]
   http://rwiki.jin.gr.jp/cgi-bin/rw-cgi.rb?cmd=view;name=ML+Topics
 * MLのリスト
   http://rwiki.jin.gr.jp/cgi-bin/rw-cgi.rb?cmd=view;name=ML+list

後は何と言っても、
 * Just another Ruby porter, 
   http://www.ruby-lang.org/~eban/diary/

でしょう。
# UNIX-USER誌の、OpenCOBOLの記事も早く読みたいなぁ。

-- 

たむら (http://tamura.tdiary.net)