rubyで[BUG] Segmentation fault

rubyを始めた。
とりあえず勉強中。

データベース連携をしたいので、MYsql/rubyとruby-pgをインストールしてRUBY/DBIの環境を作ろうとした。
rubyはruby-186-26.exeのone-click-installer版
MYSQLはVer5.0.37
>gem install mysql --no-rdoc
>gem install dbd-mysql
で何とか入ったみたいだ。
「[ruby]Ruby/DBIでMySQLドライバを使うとSegmentation faultになる」という情報があるが、今のところ
大丈夫そう。

問題はruby-pg
「http://kamoland.com/wiki/wiki.cgi?Ruby1.9%A4%AB%A4%E9DBI%A4%C7PostgreSQL%A4%CB%C0%DC%C2%B3」
にそって
* ruby-pg-0.7.9.2008.10.13.tar.gz
* ruby-pg用パッチ - fileruby-pg-0.7.9_pg.c.patch
* dbd-pg-0.3.7.tar.gz
* dbi-0.4.1.tar.gz
を入手

C:\ruby\lib\ruby\1.8\i386-mswin32\config.h
の頭を編集
#if _MSC_VER != 1200
 ↓
#if _MSC_VER < 1200
それと
C:\ruby\lib\ruby\1.8\i386-mswin32\rbconfig.rb

CONFIG["DLDFLAGS"] の「-debug」を「-release」に
CONFIG["LIBRUBY_A"]を「=""」にして

tar zxf ruby-pg-0.7.9.2008.10.13.tar.gz
cd ruby-pg\ext
patch pg.c < ruby-pg-0.7.9_pg.c.patch
ruby extconf.rb
nmake
mt.exe -manifest pg.so.manifest -outputresource:pg.so;2
nmake install

DBD:Pgをインストール

tar zxf dbd-pg-0.3.7.tar.gz
cd dbd-pg-0.3.7
ruby setup.rb config
ruby setup.rb setup
ruby setup.rb install

DBIをインストール

tar zxf dbi-0.4.1.tar.gz
cd dbi-0.4.1
ruby setup.rb config
ruby setup.rb setup
ruby setup.rb install

ところが問題が二つ
require 'pg'
conn = PGconn.connect("localhost",5432,"","","postgres","root","xxx")

とやっても

require 'dbi'
conn = DBI.connect("dbi:pg:postgres:localhost","root","xxx")

とやっても「[BUG] Segmentation fault」が表示され停止してしまうそれもVISTAだけXP Proは問題な
く動いてくれるのだ。
何故だー!


ちなみに
require 'pg'
conn = PGconn.connect("host=localhost dbname=postgres user=root password=xxx")

だと問題なく動いてくれる。
とりあえず、postgresでruby/dbiはVISTAでは無理っぽい。

 
[PR]
by nora1962 | 2009-03-21 23:15 | PC
<< DBD-pgをインストール postgresql8.3.6... >>