aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWladimir J. van der Laan <laanwj@gmail.com>2014-05-02 18:14:28 +0200
committerWladimir J. van der Laan <laanwj@gmail.com>2014-05-02 18:14:39 +0200
commit3e578aa9b981c5fdf6e429f20ab6e27dbaab62b9 (patch)
tree12348d795793fee011adf46e28fbf0580b963eb2
parent9eb1e1e8ce2ba5c2d0bb94b7fd9c028a5da0978a (diff)
parentbfb154e9fcfdbbd17aaef2e6e36542529cc8d6fd (diff)
downloadbitcoin-3e578aa9b981c5fdf6e429f20ab6e27dbaab62b9.tar.xz
Merge pull request #4114
bfb154e Update build instructions for Berkeley DB (Wladimir J. van der Laan) d0a2e2e Log BerkeleyDB version at startup (Wladimir J. van der Laan)
-rw-r--r--doc/build-unix.md36
-rw-r--r--src/init.cpp3
2 files changed, 29 insertions, 10 deletions
diff --git a/doc/build-unix.md b/doc/build-unix.md
index f990b69c84..0f6f70aa2d 100644
--- a/doc/build-unix.md
+++ b/doc/build-unix.md
@@ -133,17 +133,33 @@ miniupnpc
Berkeley DB
-----------
-You need Berkeley DB 4.8. If you have to build it yourself:
-
- wget 'http://download.oracle.com/berkeley-db/db-4.8.30.NC.tar.gz'
- echo '12edc0df75bf9abd7f82f821795bcee50f42cb2e5f76a6a281b85732798364ef db-4.8.30.NC.tar.gz' | sha256sum -c
- # -> db-4.8.30.NC.tar.gz: OK
- tar -xzvf db-4.8.30.NC.tar.gz
- cd build_unix/
- ../dist/configure --enable-cxx
- make
- sudo make install
+It is recommended to use Berkeley DB 4.8. If you have to build it yourself:
+
+```bash
+BITCOIN_ROOT=$(pwd)
+
+# Pick some path to install BDB to, here we create a directory within the bitcoin directory
+BDB_PREFIX="${BITCOIN_ROOT}/db4"
+mkdir -p $BDB_PREFIX
+
+# Fetch the source and verify that it is not tampered with
+wget 'http://download.oracle.com/berkeley-db/db-4.8.30.NC.tar.gz'
+echo '12edc0df75bf9abd7f82f821795bcee50f42cb2e5f76a6a281b85732798364ef db-4.8.30.NC.tar.gz' | sha256sum -c
+# -> db-4.8.30.NC.tar.gz: OK
+tar -xzvf db-4.8.30.NC.tar.gz
+
+# Build the library and install to our prefix
+cd db-4.8.30.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
-----
diff --git a/src/init.cpp b/src/init.cpp
index c33a3f8f55..77c32d0b49 100644
--- a/src/init.cpp
+++ b/src/init.cpp
@@ -603,6 +603,9 @@ bool AppInit2(boost::thread_group& threadGroup)
LogPrintf("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n");
LogPrintf("Bitcoin version %s (%s)\n", FormatFullVersion(), CLIENT_DATE);
LogPrintf("Using OpenSSL version %s\n", SSLeay_version(SSLEAY_VERSION));
+#ifdef ENABLE_WALLET
+ LogPrintf("Using BerkeleyDB version %s\n", DbEnv::version(0, 0, 0));
+#endif
if (!fLogTimestamps)
LogPrintf("Startup time: %s\n", DateTimeStrFormat("%Y-%m-%d %H:%M:%S", GetTime()));
LogPrintf("Default data directory %s\n", GetDefaultDataDir().string());