diff --git a/doc/build-unix.md b/doc/build-unix.md index 5e3292423..253c09492 100644 --- a/doc/build-unix.md +++ b/doc/build-unix.md @@ -117,13 +117,33 @@ miniupnpc Berkeley DB ----------- -You need Berkeley DB 5.1. If you have to build Berkeley DB yourself: +It is recommended to use Berkeley DB 5.1. If you have to build it yourself: - cd build_unix/ - ../dist/configure --enable-cxx - make - sudo make install +```bash +BITCOIN_ROOT=$(pwd) +# Pick some path to install BDB to, here we create a directory within the bitcoin directory +BDB_PREFIX="${BITCOIN_ROOT}/db5" +mkdir -p $BDB_PREFIX + +# Fetch the source and verify that it is not tampered with +wget 'http://download.oracle.com/berkeley-db/db-5.1.29.NC.tar.gz' +echo '08238e59736d1aacdd47cfb8e68684c695516c37f4fbe1b8267dde58dc3a576c db-5.1.29.NC.tar.gz' | sha256sum -c +# -> db-5.1.29.NC.tar.gz: OK +tar -xzvf db-5.1.29.NC.tar.gz + +# Build the library and install to our prefix +cd db-5.1.29.NC/build_unix/ +# Note: Do a static build so that it can be embedded into the exectuable, instead of having to find a .so at runtime +../dist/configure --enable-cxx --disable-shared --with-pic --prefix=$BDB_PREFIX +make install + +# Configure Bitcoin Core to use our own-built instance of BDB +cd $BITCOIN_ROOT +./configure (other args...) LDFLAGS="-L${BDB_PREFIX}/lib/" CPPFLAGS="-I${BDB_PREFIX}/include/" +``` + +**Note**: You only need Berkeley DB if the wallet is enabled (see the section *Disable-Wallet mode* below). Boost -----