俺だけのために Ore! Tips!

BerkeleyDB-4.2.52 のインストール

2004年08月09日 作業

まずは最新のソースを取ってきて、/usr/local/src 上で展開。

serv2# cd /usr/local/src
serv2# lynx http://www.sleepycat.com/


http://www.sleepycat.com/ から辿って http://www.sleepycat.com/download/db/index.shtml から落としてもいいが、http://www.sleepycat.com/update/snapshot/db-4.2.52.tar.gz を直接指定しても落とせる。

serv2# ls -la db-*
-rw-r--r--  1 root  wheel  4073147 Aug 10 00:03 db-4.2.52.tar.gz
serv2# tar xvfz db-4.2.52.tar.gz
<略>
db-4.2.52/docs/utility/db_upgrade.html
db-4.2.52/docs/utility/index.html
db-4.2.52/docs/index.html

ソースが展開出来たら、configure を行う。

serv2# cd db-4.2.52/dist
serv2# ./configure
checking build system type... i386-unknown-freebsd5.2.1
checking host system type... i386-unknown-freebsd5.2.1
checking if building in the top-level or dist directories... yes
configure: error: Berkeley DB should not be built in the top-level or dist directories.

ありり?今までのように、dist ディレクトリ上で configure 出来ないの?
(トップディレクトリと dist ディレクトリ上では built 出来んで・・・と言われているのかな?)

ということで、build_unix に移って configure。

serv2# cd ../build_unix
serv2# ls
.IGNORE_ME      tags
serv2# ../dist/configure
checking build system type... i386-unknown-freebsd5.2.1
checking host system type... i386-unknown-freebsd5.2.1
checking if building in the top-level or dist directories... no
checking if --disable-cryptography option specified... no
<略>
config.status: creating include.tcl
config.status: creating db.h
config.status: creating db_config.h
serv2# ls
.IGNORE_ME              config.status           db_config.h             include.tcl
Makefile                configure.lineno        db_cxx.h                libtool
config.log              db.h                    db_int.h                tags

お、make のために必要なものが、このディレクトリ上に作られたわけやね。

serv2# make
<略>
cc -o .libs/db_verify -pthread .libs/db_verify.o .libs/util_cache.o .libs/util_sig.o ./.libs/libdb-4.2.so -Wl,--rpath -Wl,/usr/local/BerkeleyDB.4.2/lib
creating db_verify
/bin/sh ./libtool --mode=execute true db_verify
serv2# make install
Installing DB include files: /usr/local/BerkeleyDB.4.2/include ...
Installing DB library: /usr/local/BerkeleyDB.4.2/lib ...
cp -p .libs/libdb-4.2.so /usr/local/BerkeleyDB.4.2/lib/libdb-4.2.so
cp -p .libs/libdb-4.2.lai /usr/local/BerkeleyDB.4.2/lib/libdb-4.2.la
cp -p .libs/libdb-4.2.a /usr/local/BerkeleyDB.4.2/lib/libdb-4.2.a
ranlib /usr/local/BerkeleyDB.4.2/lib/libdb-4.2.a
chmod 644 /usr/local/BerkeleyDB.4.2/lib/libdb-4.2.a
cp -p libdb.a /usr/local/BerkeleyDB.4.2/lib/libdb.a
ranlib /usr/local/BerkeleyDB.4.2/lib/libdb.a
chmod 644 /usr/local/BerkeleyDB.4.2/lib/libdb.a
----------------------------------------------------------------------
Libraries have been installed in:
   /usr/local/BerkeleyDB.4.2/lib

If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the `-LLIBDIR'
flag during linking and do at least one of the following:
   - add LIBDIR to the `LD_LIBRARY_PATH' environment variable
     during execution
   - add LIBDIR to the `LD_RUN_PATH' environment variable
     during linking
   - use the `-Wl,--rpath -Wl,LIBDIR' linker flag

See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------
Installing DB utilities: /usr/local/BerkeleyDB.4.2/bin ...
cp -p .libs/db_archive /usr/local/BerkeleyDB.4.2/bin/db_archive
cp -p .libs/db_checkpoint /usr/local/BerkeleyDB.4.2/bin/db_checkpoint
cp -p .libs/db_deadlock /usr/local/BerkeleyDB.4.2/bin/db_deadlock
cp -p .libs/db_dump /usr/local/BerkeleyDB.4.2/bin/db_dump
cp -p .libs/db_load /usr/local/BerkeleyDB.4.2/bin/db_load
cp -p .libs/db_printlog /usr/local/BerkeleyDB.4.2/bin/db_printlog
cp -p .libs/db_recover /usr/local/BerkeleyDB.4.2/bin/db_recover
cp -p .libs/db_stat /usr/local/BerkeleyDB.4.2/bin/db_stat
cp -p .libs/db_upgrade /usr/local/BerkeleyDB.4.2/bin/db_upgrade
cp -p .libs/db_verify /usr/local/BerkeleyDB.4.2/bin/db_verify
Installing documentation: /usr/local/BerkeleyDB.4.2/docs ...

インストール終了。

lib サーチパスに BerkeleyDB/lib を追加する。

serv2# ls -ld /usr/local/Be*
drwxr-xr-x 6 root wheel 512 Aug 10 00:19 /usr/local/BerkeleyDB.4.2
serv2# ln -s /usr/local/BerkeleyDB.4.2 /usr/local/BerkeleyDB
serv2# ls -ld /usr/local/Be*
lrwxr-xr-x 1 root wheel 25 Aug 10 00:21 /usr/local/BerkeleyDB -> /usr/local/BerkeleyDB.4.2
drwxr-xr-x 6 root wheel 512 Aug 10 00:19 /usr/local/BerkeleyDB.4.2
serv2# /sbin/ldconfig -m /usr/local/BerkeleyDB/lib

マシンブート時に自動で lib サーチパスに BerkeleyDB/lib が追加されるよう、/etc/rc.local に記述する。

serv2# cat /etc/rc.local
cat: /etc/rc.local: No such file or directory serv2# cat > /etc/rc.local
/sbin/ldconfig -m /usr/local/BerkeleyDB/lib
^D

これで、もういつでも BerkeleyDB 利用可じゃん。

前ページに戻る


Copyright (C) 2004 S.Maaasamasa.