お世話になっております。A.中村です。

Ruby/GTKをcygwin rubyで動かしてみようと思いました。

以下のファイルを取って来て、DLLを抽出して
それぞれ手元のwin98機の然るべきディレクトリに放りこみました。

ruby-gtk-0_21-cygwin.zip

gdk_imlib-dev-20000201.zip
glib-dev-20000201.zip
gtk+-dev-20000204.zip
extralibs-dev-20000201.zip

全部のDLLがそれなりに入ったことを確認して、と。
#これって確認手段なんですよねえ?

$ cygcheck /usr/local/ruby/lib/gtk.dll
/usr/local/ruby/lib/gtk.dll
  d:\USR\LOCAL\BIN\gdk-1.3.dll
    d:\USR\LOCAL\BIN\glib-1.3.dll
      C:\WINDOWS\SYSTEM\ADVAPI32.DLL
        C:\WINDOWS\SYSTEM\KERNEL32.dll
      C:\WINDOWS\SYSTEM\msvcrt.dll
      C:\WINDOWS\SYSTEM\USER32.dll
        C:\WINDOWS\SYSTEM\GDI32.dll
      C:\WINDOWS\SYSTEM\WSOCK32.DLL
    C:\WINDOWS\SYSTEM\IMM32.DLL
    C:\WINDOWS\SYSTEM\OLE32.dll
    C:\WINDOWS\SYSTEM\SHELL32.DLL
      C:\WINDOWS\SYSTEM\SHLWAPI.dll
      C:\WINDOWS\SYSTEM\COMCTL32.dll
  d:\USR\LOCAL\BIN\gdk_imlib.dll
    d:\USR\LOCAL\BIN\gmodule-1.3.dll
  d:\USR\LOCAL\BIN\gtk-1.3.dll
    d:\USR\LOCAL\BIN\gnu-intl.dll
  d:\USR\LOCAL\BIN\rubycw.dll
    C:\WINDOWS\SYSTEM\cygwin1.dll

んで動かしてみようとしたら以下のような表示がでてオシマイでした。

$ ruby -e "require 'gtk' "
LoadLibraryExA: d:\usr\local\ruby\lib\gtk.dll
c:\windows\TEMP/rb001002:1:in `require': 31: システムに装着されたデバイスは
動作していません。   - //d/usr/local/ruby/lib/gtk.dll (LoadError)
        from c:\windows\TEMP/rb001002:1

装着されたデバイスって一体…?

Ruby/GTKを動かすのに足りないものというとナニでしょう?
多分俺はなんか華々しく勘違いしてる…んですよねえこれ…

ついでに同様にやったNT4機では以下のようになりました。

$ ruby -e "require 'gtk'"
LoadLibraryExA: d:\usr\local\ruby\lib\gtk.dll
/tmp/rb001020:1:in `require': 127: 指定されたプロシージャが
見つかりません。
   - //d/usr/local/ruby/lib/gtk.dll (LoadError)
        from /tmp/rb001020:1

#プロシージャは半角仮名