BerkeleyDBのインストール †コンパイル&インストール †ソースファイルは、/var/tmp/srcに保存していることとする。 $ cd /var/tmp/src $ tar xvzf db-4.6.21.tar.gz $ cd db-4.6.21 $ cd buid_unix $ ../dist/configure --prefix=/usr/local/BerkeleyDB-4.6.21 $ make $ su root -c "make install" # ln -s /usr/local/BerkeleyDB-4.6.21 /usr/local/BerkeleyDB 設定 †
はまりどころ †2008年10月現在、BerkeleyDBの最新版は「4.7系」となっている。
BerkeleyDB-4.7系で、OpenLDAP-2.4系のコンパイルをしようとすると以下のようなエラーが出力さて、コンパイルが通らない。 ------------------------
make[3]: Leaving directory `/var/tmp/src/openldap-2.4.11/servers/slapd/back-monitor'
cd back-bdb; make -w all
make[3]: Entering directory `/var/tmp/src/openldap-2.4.11/servers/slapd/back-bdb'
rm -f version.c
../../../build/mkversion -v "2.4.11" back_bdb > version.c
/bin/sh ../../..//libtool --tag=disable-shared --mode=compile cc -g -O2 -I../../../include\
-I../../../include -I.. -I./.. -I/usr/local/BerkeleyDB/include -c init.c cc -g -O2 -I../../../include\
-I../../../include -I.. -I./.. -I/usr/local/BerkeleyDB/include -c init.c -o init.o
init.c: In function 'bdb_db_open':
init.c:509: error: 'DB_ENV' has no member named 'lk_handle'
init.c: In function 'bdb_back_initialize':
init.c:752: warning: passing argument 1 of 'db_env_set_func_yield' from incompatible pointer type
make[3]: *** [init.lo] Error 1
make[3]: Leaving directory `/var/tmp/src/openldap-2.4.11/servers/slapd/back-bdb'
make[2]: *** [.backend] Error 1
make[2]: Leaving directory `/var/tmp/src/openldap-2.4.11/servers/slapd'
make[1]: *** [all-common] Error 1
make[1]: Leaving directory `/var/tmp/src/openldap-2.4.11/servers'
make: *** [all-common] Error 1
-------------------------
というわけで、OpenLDAP2.4系を使うには、BerkeleyDB4.6系を使うようにしてください。 これ、けっこうはまりました。。。。(ーー;) |