From: OHARA Shigeki Date: 2002-12-12T21:02:28+09:00 Subject: [ruby-list:36744] Re: DBM 大原です。 From: WATANABE Hirofumi Subject: [ruby-list:36743] Re: DBM Message-ID: <690-Thu12Dec2002184427+0900-eban@os.rim.or.jp> Date: Thu, 12 Dec 2002 18:44:34 +0900 > > DBM ですが、ruby の make 時に gdbm がインストールされていると、 > > gdbm の方の NDBM 互換インターフェイスの方を優先して > > 利用するようになっていると思います。 > > ということはRuby 1.6ですよね? > 1.7だとgdbmは一番最後に試すし、--wtih-dbm-typeも使えるし。 すいません、最初にバージョンを言うべきでしたね。 ruby 1.6.8 (2002-12-09) [i386-bsdi4.1] です。 > > なので、私はとりあえず ext/dbm/extconf.rb を手で書き換えて > > gdbm の方を探さないようにしてリンクしないようにしているのですが、 > > できれば configure のオプションなどで指定できればと思うのですが、 > > 何か良い方法はあるでしょうか? > > 1.7のextconf.rbをそのまま1.6にもってきて > dbm.cの#include を#include DBM_HDRに変更すれば > --with-dbm-type-gdbmのように指定できます。 1.7 では対応できていたんですね。 が、こんな感じにしないとうまくいきませんでした。 --- extconf.rb.old Thu Dec 12 20:50:20 2002 +++ extconf.rb Thu Dec 12 20:49:02 2002 @@ -22,6 +22,7 @@ $dbm_conf_db_prefix = "__db_n" hsearch = "-DDB_DBM_HSEARCH " when "gdbm" + have_library(db, db_prefix("dbm_open")) $dbm_conf_have_gdbm = true end これで、 --with-dbm-type=gdbm で gdbm の利用の有無を制御できるようになりました。 で、これは 1.6.8 にバックポートされるでしょうか? ---- OHARA Shigeki (大原 重樹)