Solaris 10以降にはBerkeley DBのライブラリが付属していますが、
ヘッダーファイルがないため、他のプログラムからリンクすることができません。
ヘッダーファイルを用意してリンクできるようにします。
まずソースコードを展開し、必要なヘッダーファイルを生成します。
# gzip -dc db-4.2.25.tar.gz | tar xf - # cd db-4.2.25 # patch -p0 < patch-4.2.25.1 # patch -p0 < patch-4.2.25.2 # patch -p0 < patch-4.2.25.3 # patch -p0 < patch-4.2.25.4 # patch -p0 < patch-4.2.25.5 # cd build_unix # ../dist/configure
システムにコピーします。
# cp db.h /usr/include # cp db_cxx.h /usr/include
-ldbでリンクできるようにシンボリックリンクを張ります。
# cd /usr/lib # ln -s libdb.so.1 libdb.so # cd /usr/lib/64 # ln -s libdb.so.1 libdb.so
シェアードライブラリにします。SPARCでは32bit版と64bit版を両方コンパ イルしておきます。パッチが出ているので、それらも適用しておきます。
build_unixディレクトリで以下のようなスクリプトを実行します。
setup.sh(4.4.20の例)
#!/bin/sh if [ $# -eq 1 ]; then . ../../../setup-pre.sh $1 else . ../../../setup-pre.sh fi BDBVER=4.4 LDFLAGS="$CFLAGS -L/usr/local/lib/db${BDBVER}${LIBISA} -R/usr/local/lib/db${BDBVER}${LIBISA} $LDFLAGS" export LDFLAGS ../dist/configure --prefix=/usr/local \ --bindir=/usr/local/bin/db${BDBVER}/${ISA} \ --libdir=/usr/local/lib/db${BDBVER}${LIBISA} \ --includedir=/usr/local/include/db${BDBVER} \ --mandir=/usr/local/share/man
setup.shを実行してmakeします。
% ./setup.sh && gmake or % ./setup.sh sparcv9 && gmake
# gmake install
ISA自動起動リンクを作るために、以下のスクリプトを実行します。
4.2.52と4.4.20の例
#!/bin/sh # BINPROG42="db_archive db_checkpoint db_deadlock db_dump db_load db_printlog db_recover db_stat db_upgrade db_verify" BINPROG44="db_archive db_checkpoint db_deadlock db_dump db_hotbackup db_load db_printlog db_recover db_stat db_upgrade db_verify" BINPROG=$BINPROG42 BINDIR=/usr/local/bin/db4.2 if [ "${BINPROG}" != "" ]; then cd ${BINDIR} for prog in ${BINPROG} do rm -f $prog ln /usr/lib/isaexec $prog echo $prog done fi cd /usr/local/tecgw/isaexec BINPROG=$BINPROG44 BINDIR=/usr/local/bin/db4.4 if [ "${BINPROG}" != "" ]; then cd ${BINDIR} for prog in ${BINPROG} do rm -f $prog ln /usr/lib/isaexec $prog echo $prog done fi for i in $BINPROG42 do cd /usr/local/bin rm -f $i echo "ln -s db4.2/${i} ${i}" ln -s db4.2/${i} ${i} done