Changeset View
Changeset View
Standalone View
Standalone View
doc/build-freebsd.md
FreeBSD build guide | FreeBSD build guide | ||||
====================== | ====================== | ||||
(updated for FreeBSD 11.1) | (updated for FreeBSD 12.0) | ||||
This guide describes how to build bitcoind and command-line utilities on FreeBSD. | This guide describes how to build bitcoind and command-line utilities on FreeBSD. | ||||
This guide does not contain instructions for building the GUI. | This guide does not contain instructions for building the GUI. | ||||
## Preparation | ## Preparation | ||||
You will need the following dependencies, which can be installed as root via pkg: | You will need the following dependencies, which can be installed as root via pkg: | ||||
``` | ```shell | ||||
pkg install autoconf automake boost-libs gmake libevent libtool openssl pkgconf | pkg install autoconf automake boost-libs gmake libevent libtool openssl pkgconf | ||||
``` | ``` | ||||
In order to run the test suite (recommended), you will need to have Python 3 installed: | In order to run the test suite (recommended), you will need to have Python 3 installed: | ||||
``` | ```shell | ||||
pkg install python3 | pkg install python3 | ||||
``` | ``` | ||||
For the wallet (optional): | For the wallet (optional): | ||||
``` | ```shell | ||||
pkg install db5 | pkg install db5 | ||||
``` | ``` | ||||
Download the source code: | Download the source code: | ||||
refer to [CONTRIBUTING](../CONTRIBUTING.md) for instructions on how to clone the Bitcoin ABC repository | refer to [CONTRIBUTING](../CONTRIBUTING.md) for instructions on how to clone the Bitcoin ABC repository | ||||
## Building Bitcoin ABC | ## Building Bitcoin ABC | ||||
**Important**: Use `gmake` (the non-GNU `make` will exit with an error). | **Important**: Use `gmake` (the non-GNU `make` will exit with an error). | ||||
``` | With wallet: | ||||
./autogen.sh | |||||
``` | |||||
With wallet support: | |||||
``` | |||||
./configure CXXFLAGS="-I/usr/local/include" BDB_CFLAGS="-I/usr/local/include/db5" BDB_LIBS="-L/usr/local/lib -ldb_cxx-5" | |||||
``` | |||||
Without wallet support: | |||||
``` | ```shell | ||||
./configure --disable-wallet CXXFLAGS="-I/usr/local/include" | ./autogen.sh | ||||
./configure --with-gui=no \ | |||||
CXXFLAGS="-I/usr/local/include" \ | |||||
BDB_CFLAGS="-I/usr/local/include/db5" \ | |||||
BDB_LIBS="-L/usr/local/lib -ldb_cxx-5" | |||||
``` | ``` | ||||
followed by either: | Without wallet: | ||||
``` | ```shell | ||||
gmake | ./autogen.sh | ||||
./configure --with-gui=no --disable-wallet | |||||
``` | ``` | ||||
to build without testing, or | followed by: | ||||
```shell | |||||
gmake # use -jX here for parallelism | |||||
gmake check # Run tests if Python 3 is available | |||||
``` | ``` | ||||
gmake check | |||||
``` | |||||
to also run the test suite (recommended, if Python 3 is installed). | |||||
*Note on debugging*: The version of `gdb` installed by default is [ancient and considered harmful](https://wiki.freebsd.org/GdbRetirement). | |||||
It is not suitable for debugging a multi-threaded C++ program, not even for getting backtraces. Please install the package `gdb` and | |||||
use the versioned gdb command (e.g. `gdb7111`). |