aboutsummaryrefslogtreecommitdiff
path: root/doc/build-unix.md
diff options
context:
space:
mode:
authorWladimir J. van der Laan <laanwj@gmail.com>2017-12-21 09:29:44 +0100
committerWladimir J. van der Laan <laanwj@gmail.com>2017-12-21 09:30:25 +0100
commit7a11ba7e01f365cdbe21bb4fb6b737931b38da69 (patch)
tree5ba9175fc879a3da9897b7aac9c4514cd119f024 /doc/build-unix.md
parent604e08c83cf58ca7e7cda2ab284c1ace7bb12977 (diff)
parent2712742ef2947feef4a142f7d1360d1e821597dc (diff)
Merge #11945: Improve BSD compatibility of contrib/install_db4.sh
2712742 doc: Update FreeBSD build instructions to use bdb4 (Wladimir J. van der Laan) d95c83d contrib: FreeBSD compatibility in install_db4.sh (Wladimir J. van der Laan) c0298b0 contrib: Make X=Y arguments work in install_db4 (Wladimir J. van der Laan) b798f9b contrib: New clang patch for install_db4 (Wladimir J. van der Laan) Pull request description: This PR improves the BSD compatibility of the bdb4 installer script. See #11921, #11868. I've tested this on OpenBSD 6.2 (clang) and Ubuntu 16.04 (gcc). This needs testing on OSX at least, ~~and on gcc/Linux to make sure that applying the patch unconditionally doesn't negatively affect gcc~~. ~~NB: this is not yet sufficient to make `install_db4.sh` work on FreeBSD, as we need to use yet another `sha256` tool there. But it's a step in the right direction.~~ ### contrib: New clang patch for install_db4 Replace the clang patch with a new and improved version that also fixes the build issues with OpenBSD and FreeBSD's clang, and apply it unconditionally. Thanks to @fanquake for finding the patch. ### contrib: Make X=Y arguments work in install_db4 Trailing X=Y arguments are supposed to be passed through unchanged to bdb's configure. This was not the case, at least with OpenBSD 6.2's shell. Fix this by not storing the arguments in a temporary variable but passing "$@" through directly. ### contrib: FreeBSD compatibility in install_db4.sh Unfortunately, FreeBSD uses yet another syntax for `sha256`. Support FreeBSD's syntax too. Using `uname` is a bit of a hack but it works and I found no way to distinguish the two. Tree-SHA512: 12461a58dfeb4834701891762efc747c8187d834f41d98c8451edee1402a3958c4842bbc02c61bacbc7b0d90cc6b020a2ca158b65304d9760c9f0d2052ff36d4
Diffstat (limited to 'doc/build-unix.md')
-rw-r--r--doc/build-unix.md10
1 files changed, 3 insertions, 7 deletions
diff --git a/doc/build-unix.md b/doc/build-unix.md
index 8716ba35d1..af567cadeb 100644
--- a/doc/build-unix.md
+++ b/doc/build-unix.md
@@ -312,17 +312,13 @@ You need to use GNU make (`gmake`) instead of `make`.
For the wallet (optional):
- pkg install db5
-
-This will give a warning "configure: WARNING: Found Berkeley DB other
-than 4.8; wallets opened by this build will not be portable!", but as FreeBSD never
-had a binary release, this may not matter. If backwards compatibility
-with 4.8-built Bitcoin Core is needed follow the steps under "Berkeley DB" above.
+ ./contrib/install_db4.sh `pwd`
+ setenv BDB_PREFIX $PWD/db4
Then build using:
./autogen.sh
- ./configure --with-incompatible-bdb BDB_CFLAGS="-I/usr/local/include/db5" BDB_LIBS="-L/usr/local/lib -ldb_cxx-5"
+ ./configure BDB_CFLAGS="-I${BDB_PREFIX}/include" BDB_LIBS="-L${BDB_PREFIX}/lib -ldb_cxx"
gmake
*Note on debugging*: The version of `gdb` installed by default is [ancient and considered harmful](https://wiki.freebsd.org/GdbRetirement).