Skip to content

Commit

Permalink
update the freebsd build doc to reflect recent changes to DB4 install…
Browse files Browse the repository at this point in the history
… process
  • Loading branch information
murrayn committed Feb 15, 2023
1 parent 65de8ee commit c572eae
Showing 1 changed file with 26 additions and 9 deletions.
35 changes: 26 additions & 9 deletions doc/build-freebsd.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,13 +36,30 @@ pkg install sqlite3
```

###### Legacy Wallet Support
`db5` is only required to support legacy wallets.
Skip if you don't intend to use legacy wallets.
BerkeleyDB is only required if legacy wallet support is required.

It is required to use Berkeley DB 4.8. You **cannot** use the BerkeleyDB library
from ports. However, you can build DB 4.8 yourself [using depends](/depends).

```bash
pkg install db5
```
---
gmake -C depends NO_BOOST=1 NO_LIBEVENT=1 NO_QT=1 NO_SQLITE=1 NO_NATPMP=1 NO_UPNP=1 NO_ZMQ=1 NO_USDT=1
```

When the build is complete, the Berkeley DB installation location will be displayed:

```
to: /path/to/bitcoin/depends/x86_64-unknown-freebsd[release-number]
```

Finally, set `BDB_PREFIX` to this path according to your shell:

```
csh: setenv BDB_PREFIX [path displayed above]
```

```
sh/bash: export BDB_PREFIX=[path displayed above]
```

#### GUI Dependencies
###### Qt5
Expand Down Expand Up @@ -91,12 +108,12 @@ This explicitly enables the GUI and disables legacy wallet support, assuming `sq

##### Descriptor & Legacy Wallet. No GUI:
This enables support for both wallet types and disables the GUI, assuming
`sqlite3` and `db5` are both installed.
`sqlite3` and `db4` are both installed.
```bash
./autogen.sh
./configure --with-gui=no --with-incompatible-bdb \
BDB_LIBS="-ldb_cxx-5" \
BDB_CFLAGS="-I/usr/local/include/db5" \
./configure --with-gui=no \
BDB_LIBS="-L${BDB_PREFIX}/lib -ldb_cxx-4.8" \
BDB_CFLAGS="-I${BDB_PREFIX}/include" \
MAKE=gmake
```

Expand Down

0 comments on commit c572eae

Please sign in to comment.