Berkeley DB-4.5.20

Introduction to Berkeley DB

The Berkeley DB package contains programs and utilities used by many other applications for database related functions.

Package Information

Additional Downloads

Berkeley DB Dependencies

Optional

Tcl-8.5.6, JDK-6 Update 16, and sharutils (for the uudecode command)

User Notes: http://wiki.linuxfromscratch.org/blfs/wiki/db

Testing Berkeley DB

You may want to skip ahead to the section called “Installation of Berkeley DB”. The test suite can take up to 150 SBUs and has a few bugs causing a report of “Regression tests failed”. However, running the test suite is a very exhaustive test of your hardware, perhaps pushing your machine harder (especially disk I/O) than it will ever see during production use. Note that you must have Tcl installed to run the test suite.

Build for the Berkeley DB test by running the following commands:

patch -Np0 -i ../patch.4.5.20.1 &&
patch -Np0 -i ../patch.4.5.20.2 &&
cd build_unix &&
../dist/configure --prefix=/usr \
                  --enable-test \
                  --enable-tcl  \
                  --with-tcl=/usr/lib &&
make

To test the results, start tclsh:

tclsh

From the tclsh prompt (), run:

source ../test/test.tcl
run_parallel 5 run_std
exit

Clean up the source tree with the following command:

make realclean &&
cd ..

Installation of Berkeley DB

[Note]

Note

If you plan on installing Berkeley DB with Java support, you should check the system for certain versions of JDK-6 Update 16 and GMime-2.2.10. Specifically, if JDK-6 Update X and the uudecode program from the GMime program is on the system, the build will fail (unless you run the modified ./configure command shown below). You can run two commands (javac -version and uudecode --version) to determine what versions are installed. You can also download and run a shell script from http://anduin.linuxfromscratch.org/files/BLFS/svn/jdk-uudecode-check.sh that will alert you to a non-working condition. If the identified programs exist on the system, you must modify the ./configure command as shown below.

uudecode="no" ../dist/configure --(use the parameters shown below)

Install Berkeley DB by running the following commands:

patch -Np0 -i ../patch.4.5.20.1 &&
patch -Np0 -i ../patch.4.5.20.2 &&
cd build_unix &&
../dist/configure --prefix=/usr \
                  --enable-compat185 \
                  --enable-cxx &&
make

Now, as the root user:

make docdir=/usr/share/doc/db-4.5.20 install &&
chown -v -R root:root \
      /usr/bin/berkeley_db_svc \
      /usr/bin/db_* \
      /usr/include/db{,_185,_cxx}.h \
      /usr/lib/libdb{{,_cxx}.a,{,_cxx,_java,_tcl}-4.5.{so,a,la}} \
      /usr/share/doc/db-4.5.20

Command Explanations

cd build_unix && ../dist/configure --prefix=/usr...: This replaces the normal ./configure command, as Berkeley DB comes with various build directories for different platforms.

--enable-compat185: This switch enables building the DB-1.85 compatibility API.

--enable-cxx: This switch enables building C++ API libraries.

--enable-tcl --with-tcl=/usr/lib: Enables Tcl support in DB and creates the libdb_tcl libraries.

--enable-java: Enables Java support in DB and creates the libdb_java libraries.

--enable-rpc: Enables building the Berkeley DB RPC server.

make docdir=/usr/share/doc/db-4.5.20 install: This installs the documentation in the standard location instead of /usr/docs.

chown -v -R root:root ...:This command changes the ownership of various installed files from the uid:gid of the builder to root:root.

Contents

Installed Programs: berkeley_db_svc, db_archive, db_checkpoint, db_deadlock, db_dump, db_load, db_printlog, db_recover, db_stat, db_upgrade, db_verify
Installed Libraries: libdb.{so,a}, libdb_cxx.{so,a}, libdb_java.{so,a}, libdb_tcl.{so,a} and db.jar
Installed Directory: /usr/share/doc/db-4.5.20

Short Descriptions

berkeley_db_svc

is the Berkeley DB RPC server.

db_archive

prints the pathnames of log files that are no longer in use.

db_checkpoint

is a daemon process used to monitor and checkpoint database logs.

db_deadlock

is used to abort lock requests when deadlocks are detected.

db_dump

converts database files to a flat file format readable by db_load.

db_load

is used to create database files from flat files created with db_dump.

db_printlog

converts database log files to human readable text.

db_recover

is used to restore a database to a consistent state after a failure.

db_stat

displays database environment statistics.

db_upgrade

is used to upgrade database files to a newer version of Berkeley DB.

db_verify

is used to run consistency checks on database files.

Last updated on 2009-07-19 14:13:01 +0000