msys2でBerkeley DB4.3.29のJavaAPIをビルド
覚書。
環境
- msys2 MinGW64
- OpenJDK 11.0.1
前準備
Windowsにインストールされているjava.exeがある場所にPATHを通す。
mingw-w64-x86_64-clangをインストールして
export CC=clang
しておく。
build_unixで
を実行。
arがないと怒られる
mingw-w64-x86_64-toolchainをインストール。
java Testが失敗する
export JAVAFLAG="cp."
でクラスパスにカレントディレクトリを追加する。
Java 1.3以上が必要と怒られる
configureで以下のいずれかにマッチしてないとダメ。14年前だしシカタナイネ。
- 1.[3456789]*
- 1.[1-9][0-9]*
- [23456789]*
もうどうしようもないのでconfigureを書き換えて実行。
makeがない
mingw-w64-x86_64-toolchainに含まれているような。探すのもめんどいので msys2/makeをインストール。
mkdirが2引数とっていて怒られる
もうソース書きなおしてmake。
jni_md.hが見付からない
export CPPFLAGS=-I$JAVA_HOME/include/win32
してconfigureからやりなおし。
まとめ
export CC=clang
export JAVAFLAG="cp."
export CPPFLAGS="-I$JAVA_HOME/include/win32"
Java10以降の場合はconfigure直さないとダメ mkdirは1引数に直さないとダメ