OpenLDAPのconfigureでエラー

Linux機にOpenLDAPをインストール。./configureをかけるとこんなエラーがでました。

checking db.h usability... yes
checking db.h presence... yes
checking for db.h... yes
checking for Berkeley DB major version... 4
checking for Berkeley DB minor version... 1
checking for Berkeley DB link (-ldb-4)... no
checking for Berkeley DB link (-ldb4)... no
checking for Berkeley DB link (-ldb)... yes
checking for Berkeley DB version match... yes
checking for Berkeley DB thread support... yes
checking Berkeley DB version for BDB/HDB backends... no
configure: error: BDB/HDB: BerkeleyDB version incompatible

ん?なんだろう。BerkeleyDBは入ってるんだけど。

$ cd /usr/local
$ ls 
BerkeleyDB.4.3  bin  games    lib      pgsql  skel   ssl       zopeskel
apache          doc  import   libexec  sbin   squid  zope
apache2         etc  include  man      share  src   

config.logにはこんなログがありました。

configure:31260: checking Berkeley DB version for BDB/HDB backends
configure:31298: result: no
configure:31303: error: BDB/HDB: BerkeleyDB version incompatible

早速configureスクリプトの該当箇所をチェック。

/* require 4.2 or later, but exclude 4.3 */
#if (DB_VERSION_MAJOR >= 4) && (DB_VERSION_MINOR >= 2) && (DB_VERSION_MINOR !=3)
        __db_version_compat
#endif

_ACEOF
if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
  $EGREP "__db_version_compat" >/dev/null 2>&1; then
  ol_cv_bdb_compat=yes
else
  ol_cv_bdb_compat=no
fi
rm -f conftest*

fi
echo "$as_me:$LINENO: result: $ol_cv_bdb_compat" >&5 ←ここが31303行目
echo "${ECHO_T}$ol_cv_bdb_compat" >&6

あぁ、ちゃんとコメントに書いてありますね。BerkleyDBは4.2以降。ただし、4.3は除く。READMEにも書いてありました。

    SLAPD:
        BDB and HDB backends require Oracle Berkeley DB 4.2, 4.4,
        4.5, or 4.6.  It is highly recommended to apply the patches
        from Oracle for a given release.

ということで最新のBerkleyDBをインストールして再チャレンジ。

$ ./configure
checking for db.h... yes
checking for Berkeley DB major version... 4
checking for Berkeley DB minor version... 1
checking for Berkeley DB link (-ldb-4)... no
checking for Berkeley DB link (-ldb4)... no
checking for Berkeley DB link (-ldb)... yes
checking for Berkeley DB version match... yes
checking for Berkeley DB thread support... yes
checking Berkeley DB version for BDB/HDB backends... no
configure: error: BDB/HDB: BerkeleyDB version incompatible

同じじゃない。よく見ると、DBのversionは4.1だっていってる。major versionとminor versionのところ。そうか、デフォルトでインストールされているDBを見てるんだな。

/usr/include/db.hと/usr/lib/libdb.soのリンクをさっきインストールした最新のBerkleyDBのものに置換えてみる。

# rm /usr/include/db.h
# rm /usr/lib/libdb.so
# ln -s /usr/local/BerkleyDB.4.6/include/db.h /usr/include/db.h
# ln -s /usr/local/BerkkeyDB.4.6/lib/libdb.so /usr/lib/libdb.so
# ln -s /usr/local/BerkeleyDB.4.6/lib/libdb-4.6.so /usr/lib/libdb-4.6.so

再度configure。

Making servers/slapd/overlays/statover.c
    Add seqmod ...
    Add syncprov ...
Please run "make depend" to build dependencies

ようやく解決。考えてみればBerkleyDBを--prefix=/usrでmakeすればよかったのかもしれない。

73/100

ヒトラーが勝利する世界―歴史家たちが検証する第二次大戦・60の“IF” (WW selection)

ヒトラーが勝利する世界―歴史家たちが検証する第二次大戦・60の“IF” (WW selection)

邦題が悪いな。「ドイツと日本はどうやっても勝てなかった」ってなお題がぴったりかな。著者は18人。1人がロンドン大学の人だから英国人として、あと全部米国人。軍人も入ってる。当然原爆投下や、対独、対日の都市への無差別爆撃は正当なんだよーってのがずらずらっと。

欧州大陸でのいろんな仮定での考察があるんですが、それを読んでいて欧州戦線についての知識がほとんどないことに気がつく。せいぜい電撃戦でフランスを落としたことや、ノルマンディー上陸作戦、レニングラード包囲戦くらい。なにかいい戦史ものないかな。