MinGW版Rubyのインストール
これまでVC++なしの環境で、mswin32版Rubyを使っていたのですが、拡張ライブラリが使えないので、MinGW版に移行することにしました。
MinGWのインストール
まずはMinGWの本家サイトから、バイナリをダウンロードしてインストールします。インストール手順については、C-Compiler Wikiが詳しいです。
MinGWには海外製ソフトウェアの例に漏れず、日本語の取扱いに問題があるそうです。これを解消するためのMinGW 日本版プロジェクトなるものもあるようですが、メンドくさいので後で問題がでるまでホッておくことにしました。
MSYSはインストールしません。もともとRubyの拡張ライブラリのコンパイルをしたいだけなので、元からインストールしてあるcygwinを使います。
Rubyのコンパイル
Ruby インストールガイドを参考にコンパイルを始めようと思ったところで、実はMinGWはいらないということに気がつきました。Cygwinの1.3以降には、MinGWが同梱されているのです。
ということで、インストールガイドのとおりにやってみます。
$ ./configure --with-gcc='gcc -mno-cygwin' --enable-shared --prefix=c:/ruby/ruby-1.8.2-mingw i386-pc-mingw32
configureまではうまくいっているようです。
config.h unchanged
configure: creating ./config.status
config.status: creating GNUmakefile
config.status: creating Makefile
ところがmakeがうまくとおりません。
make
とコマンドを叩くと
compiling curses
./lib/fileutils.rb:687:in `unlink': Permission denied - mkmftmp.log(Errno::EACCES)
from ./lib/fileutils.rb:687:in `remove_file'
from ./lib/fileutils.rb:618:in `rm'
from ./lib/fileutils.rb:617:in `each'
from ./lib/fileutils.rb:617:in `rm'
from ./lib/fileutils.rb:634:in `rm_f'
from ./lib/mkmf.rb:109:in `rm_f'
from ./lib/mkmf.rb:177:in `postpone'
from ./lib/mkmf.rb:168:in `open'
from ./lib/mkmf.rb:168:in `postpone'
from ./lib/mkmf.rb:467:in `checking_for'
from ./lib/mkmf.rb:480:in `have_library'
from ../.././ext/curses/extconf.rb:9
from ./ext/extmk.rb:84:in `load'
from ./ext/extmk.rb:84:in `extmake'
from ./ext/extmk.rb:238
from ./ext/extmk.rb:235:in `glob'
from ./ext/extmk.rb:235
make: *** [all] Error 1
cursesの拡張ライブラリのコンパイルのところでエラーになってしまいます。
今日はここまでで時間切れです。続きは、また来週にでもやりましょう。