2004年04月27日

PostgreSQL an Ruby on Cygwin

Win98ではまだ動いていない。ちょっとまとめてみる。
# OS Cygwin Ruby PostgreSQL Result
1 Windows XP 1.5.9-1 ruby-1.8.1-i386-cygwin.tar.gz 7.4.1 OK
2 Windows XP 1.5.9-1 ruby-1.8.1-20040416-i386-cygwin.tar.gz 7.4.1 OK
3 Windows XP 1.5.9-1 ruby-1.8.1.targz - Ruby complie error in win32ole
4 Windows XP 1.5.9-1 stable-snapshot.tar.gz 7.4.1 Test Script Error
5 Windows 98 1.5.9-1 ruby-1.8.1-i386-cygwin.tar.gz 7.4.1 Not tested
6 Windows 98 1.5.9-1 ruby-1.8.1-20040416-i386-cygwin.tar.gz 7.4.1 Test Script Error
7 Windows 98 1.5.9-1 ruby-1.8.1.targz - Ruby complie error in win32ole
8 Windows 98 1.5.9-1 stable-snapshot.tar.gz 7.4.1 Test Script Error
やはりWindows 98はダメなのか...
以下詳細。まず#3だが、これは以下のようなエラーになる
make[1]: Entering directory `/home/Fujino/Src/Lang/Ruby/ruby-1.8.1/ext/win32ole'
gcc -g -O2 -I. -I/home/Fujino/Src/Lang/Ruby/ruby-1.8.1 -I/home/Fujino/Src/Lang/Ruby/ruby-1.8.1 -I/home/Fujino/Src/Lang/Ruby/ruby-1.8.1/ext/win32ole -DNONAMELESSUNION -DHAVE_WINDOWS_H -c win32ole.c
win32ole.c: In function `find_default_source':
win32ole.c:5010: error: `GUIDKIND_DEFAULT_SOURCE_DISP_IID' undeclared (first use in this function)
win32ole.c:5010: error: (Each undeclared identifier is reported only once
win32ole.c:5010: error: for each function it appears in.)
make[1]: *** [win32ole.o] Error 1
make[1]: Leaving directory `/home/Fujino/Src/Lang/Ruby/ruby-1.8.1/ext/win32ole'
make: *** [all] Error 1
次の#4だが、TestRCertDB.rb以前に、ruby-dbiのテストスクリプトからしてエラーになる。
$ ruby ../testdbi.rb

Running with Config File example.cfg
FF 3 [main] ruby 2664 sync_with_child: child 2748(0x67C) died before initialization with status code 0x1
13121 [main] ruby 2664 sync_with_child: *** child state child loading dlls
1077183 [main] ruby 2664 sync_with_child: child 2936(0x670) died before initialization with status code 0x1
1086703 [main] ruby 2664 sync_with_child: *** child state child loading dlls
2149202 [main] ruby 2664 sync_with_child: child 2052(0x664) died before initialization with status code 0x1
2159169 [main] ruby 2664 sync_with_child: *** child state child loading dlls
以下、これが繰り返しになるので、[Ctrl]+[C]で止める。
../testdbi.rb:465:in `system': Interrupt from ../testdbi.rb:465:in `teardown'
from ../testdbi.rb:471:in `run'
from ../testdbi.rb:494:in `run'
from ../testdbi.rb:491:in `each'
from ../testdbi.rb:491:in `run'
from /usr/local/lib/ruby/1.8/test/unit/ui/testrunnermediator.rb:46:in `run_suite'
from /usr/local/lib/ruby/1.8/test/unit/ui/console/testrunner.rb:67:in `start_mediator'
from /usr/local/lib/ruby/1.8/test/unit/ui/console/testrunner.rb:41:in `start'
from /usr/local/lib/ruby/1.8/runit/cui/testrunner.rb:27:in `run'
from /usr/local/lib/ruby/1.8/runit/cui/testrunner.rb:14:in `run'
from ../testdbi.rb:505
当然、TestRCertDB.rbを実行しても同様になる。

ちなみに、うまく行った#1および#2だが、これは、#4でcompileしたruby-dbiやruby-postgresでもうまく動くことは確認した。つまり、#4でcompileしたruby-dbiやruby-postgresをインストールした状態で、Ruby本体のバイナリを展開し、ruby-dbiやruby-postgresを再buildせずにTestRCertDB.rbを実行してもOK。 投稿者 fujino : 2004年04月27日 11:47 | トラックバック
コメント
コメントする









名前、アドレスを登録しますか?