Shiro Kawai
shiro****@lava*****
2004年 5月 31日 (月) 13:04:45 JST
From: yasuy****@javao***** Subject: [Gauche-devel-jp] Re: Gauche-0.8, FreeBSD 4.8でのgdbm Date: Mon, 31 May 2004 12:24:35 +0900 > えんどうです。 > > > > 1.6 だそうです。これですかねえ... > > > > それです。消して下さい。 > > tarballからインストールしたなら、v, 1.8が(siteではなく) 0.8/lib/dbm > > 以下に入っているはずです。 > > 消してみました。make clean ; ./configure ... ; make をやり直すと、 > > ../..//src/gosh -ftest -I. test.scm > test.log > Testing dbm ... *** ERROR: failed to link "odbm" dynamically: ./odbm.so: Undefined symbol "delete" > Stack Trace: > _______________________________________ > 0 (%require feature) > At line 52 of "../../src/gauche-init.scm" これで、ひとつめの問題 (古いgdbm.scmを見ていた問題) は解決したのだと 思います。(それを確かめるにはもう一度 gosh -fload-verbose してみればよいです) 残るはライブラリの問題のようですね。 とりあえず、gdbmの旧dbmコンパチブルライブラリの問題であるなら、 configure後にMakefileをいじってodbmとndbmをビルドしないように してしまえば、使えるんではないかと思います。(テストは、ビルドされて いる.soに対してのみ行われます) 根本的に解決するには、原因から当たる必要があります。 現在のconfigureは、dbm.hもしくはgdbm/dbm.hが存在すれば 無条件にlegacy dbm (odbm) が存在するものとして、 その上で -ldbm, -lgdbm, -lgdbm_compat からodbmライブラリの 存在を探すようになっていますが、そのへんでこけてる可能性が 高いですね。 configure後のMakefileで、ODBMLIBの値はどうなっていますか? (ソースツリートップのconfig.statusをgrepすればわかります) --shiro