動いた。

先日試したら動かなかったRuby/SDLだけど、動いた。

原因はrubysdlのインストーラでのインストールの失敗。zlib1.dllという名のファイルが既にruby/binに存在してたのが原因と思われる。install_rubysdl.rbを見るとディレクトリ作成してファイルコピーしてるだけだったようなので、手で無理矢理コピーして何を逃れた。

zlib1.dllはgemでインストールした他のパッケージ*1が先にコピーしてたんだろうと予想するが、まぁいいや。

以下、install_rubysdl.rbのエラーメッセージ。

mkdir -p d:/ruby/bin
mkdir -p d:/ruby/lib/ruby/site_ruby/1.8
mkdir -p d:/ruby/lib/ruby/site_ruby/1.8/i386-msvcrt
install -c dll/jpeg.dll d:/ruby/bin
install -c dll/libcharset-1.dll d:/ruby/bin
install -c dll/libiconv-2.dll d:/ruby/bin
install -c dll/libpng12.dll d:/ruby/bin
install -c dll/libtiff.dll d:/ruby/bin
install -c dll/ogg.dll d:/ruby/bin
install -c dll/SDL.dll d:/ruby/bin
install -c dll/SDL_image.dll d:/ruby/bin
install -c dll/SDL_mixer.dll d:/ruby/bin
install -c dll/SDL_ttf.dll d:/ruby/bin
install -c dll/SGE.dll d:/ruby/bin
install -c dll/smpeg.dll d:/ruby/bin
install -c dll/vorbis.dll d:/ruby/bin
install -c dll/vorbisfile.dll d:/ruby/bin
install -c dll/zlib1.dll d:/ruby/bin
d:/ruby/lib/ruby/1.8/fileutils.rb:1262:in `initialize': Permission denied - d:/ruby/bin/zlib1.dll (Errno::EACCES)
        from d:/ruby/lib/ruby/1.8/fileutils.rb:1262:in `open'
        from d:/ruby/lib/ruby/1.8/fileutils.rb:1262:in `copy_file'
        from d:/ruby/lib/ruby/1.8/fileutils.rb:1261:in `open'
        from d:/ruby/lib/ruby/1.8/fileutils.rb:1261:in `copy_file'
        from d:/ruby/lib/ruby/1.8/fileutils.rb:463:in `copy_file'
        from d:/ruby/lib/ruby/1.8/fileutils.rb:844:in `install'
        from d:/ruby/lib/ruby/1.8/fileutils.rb:1395:in `fu_each_src_dest'
        from d:/ruby/lib/ruby/1.8/fileutils.rb:1409:in `fu_each_src_dest0'
        from d:/ruby/lib/ruby/1.8/fileutils.rb:1393:in `fu_each_src_dest'
        from d:/ruby/lib/ruby/1.8/fileutils.rb:840:in `install'
        from install_rubysdl.rb:26
        from install_rubysdl.rb:26:in `glob'
        from install_rubysdl.rb:26

以下、サンプル実行結果。赤血球がうようよ動く、スプライト処理の例。

*1:って呼んでいいの?