This chapter includes databases that range from single-user read/write to industrial database servers with transaction support. Generally, you will be sent here to satisfy dependencies to other applications although building a SQL server on a base LFS system is entirely possible.

Berkeley DB-4.3.28

Introduction to Berkeley DB

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

Package Information

  • Download (HTTP):

  • Download (FTP):

  • Download MD5 sum: e27759537db6054b31d8cb3e99ba6fbb

  • Download size: 5.8 MB

  • Estimated disk space required: 74 MB (additional 140 MB to run parallel standard testsuite)

  • Estimated build time: 1.0 SBU (additional 80 SBU to run parallel standard testsuite)

Berkeley DB Dependencies


Tcl-8.4.11 and JDK-1.5.0

Testing Berkeley DB

It is recommended you skip ahead to Installation. The test-suite takes more than 80 SBU and has a few bugs causing reports of 'Regression Tests Failed'. You must have Tcl to test Berkeley DB.

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

cd build_unix &&
../dist/configure --prefix=/usr \
    --enable-test --enable-tcl --with-tcl=/usr/lib &&
make LIBSO_LIBS="-lpthread" LIBXSO_LIBS="-lpthread" &&
chmod 644 ../test/sijointest.tcl && 
sed -i 's:puts "[s,S].*::' \

To test the results, start tclsh:


From the tclsh prompt (%), run:

source ../test/test.tcl
run_parallel 4 run_std

Clean up with the following command:

make realclean &&
cd ..

Installation of Berkeley DB

Install Berkeley DB by running the following commands:

cd build_unix &&
../dist/configure --prefix=/usr \
    --enable-compat185 \
    --enable-cxx &&
make LIBSO_LIBS="-lpthread" LIBXSO_LIBS="-lpthread"

Now, as the root user:

make docdir=/usr/share/doc/db-4.3.28 install &&
chown root:root /usr/bin/db_* \
/usr/lib/libdb* /usr/include/db* &&
chown -R root:root /usr/share/doc/db-4.3.28

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 DB 1.85 compatibility API.

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

--enable-test: Enables building the test suite (requires the two Tcl switches below).

--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 LIBSO_LIBS="-lpthread" LIBXSO_LIBS="-lpthread": configure does not correctly handle NPTL. These variables force it to properly link against NPTL.

make docdir=/usr/share/doc/db-4.3.28 install: This installs the documentation in the correct place.

sed -i 's:puts "[s,S].*::' ../test/sijointest.tcl: This prevents logging two notes that are not recognized by run_std.


Installed Programs: db_archive, db_checkpoint, db_deadlock, db_dump, db_load, db_printlog, db_recover, db_stat, db_upgrade, db_verify and berkeley_db_svc if enabled
Installed Libraries: libdb.[so,a], libdb_cxx.[so,a], libdb_java.[so,a] and libdb_tcl.[so,a]
Installed Directory: /usr/share/doc/db-4.3.28

Short Descriptions


is the Berkeley DB RPC server.


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


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


is used to abort lock requests when deadlocks are detected.


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


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


converts database log files to human readable text.


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


displays database environment statistics.


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


is used to run consistency checks on database files.

Last updated on 2005-08-01 13:29:19 -0600