bdb for rubyのbuildができない。VC++での話。コンパイルはできるのだが、testを走らせるとほとんどがfegumentation faultで落ちる。*1

BerkeleyDBは4.3.28のmsiになってるやつ。BerkeleyDBのdocsは読んだ。libdb43d.libとlibdb43.libの使い分けも大丈夫。もう嫌だ…

助けてー

どうしよう。後でmswin32のrubyがどうやってbuildされてるのか確認しよう。後は、VS.net2003でbuildしてみるという手があるかな。

※わかったかも。

http://mail.python.org/pipermail/python-list/2003-August/176692.html

みてみると、msvcrt.dllとmsvcr7.dllが同時にロードされてる。こいつが犯人かなあ…で、どうやって直せばいいんだろう。Rubyをmsvcr7.dllでbuildすればいいのか、BerkeleyDBをmsvcrt.dllでbuildしなおせばいいのか。あ、BDBをstaticにリンクするようにコンパイルすればいいのかな。

*1:btreeは止まる。lockだったかは完走。他は全て落ちる。