diff --git a/doc/build-freebsd.md b/doc/build-freebsd.md new file mode 100644 --- /dev/null +++ b/doc/build-freebsd.md @@ -0,0 +1,54 @@ +FreeBSD build guide +====================== +(updated for FreeBSD 11.1) + +This guide describes how to build bitcoind and command-line utilities on FreeBSD. + +This guide does not contain instructions for building the GUI. + +## Preparation + +You will need the following dependencies, which can be installed as root via pkg: + +``` +pkg install autoconf automake boost-libs gmake libevent libtool openssl pkgconf +``` + +For the wallet (optional): + +``` +pkg install db5 +``` + +Download the source code: +refer to [CONTRIBUTING](../CONTRIBUTING.md) for instructions on how to clone the Bitcoin ABC repository + +## Building Bitcoin ABC + +**Important**: Use `gmake` (the non-GNU `make` will exit with an error). + +``` +./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: + +``` +./configure --disable-wallet CXXFLAGS="-I/usr/local/include" +``` + +Then to compile: + +``` +gmake +``` + +*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`). diff --git a/doc/build-unix.md b/doc/build-unix.md --- a/doc/build-unix.md +++ b/doc/build-unix.md @@ -2,6 +2,8 @@ ==================== Some notes on how to build Bitcoin ABC in Unix. +(For FreeBSD specific instructions, see `build-freebsd.md` in this directory.) + Note --------------------- Always use absolute paths to configure and compile bitcoin and the dependencies, @@ -253,48 +255,3 @@ For further documentation on the depends system see [README.md](../depends/README.md) in the depends directory. - -Building on FreeBSD --------------------- - -(Updated as of FreeBSD 11.0) - -Clang is installed by default as `cc` compiler. Installing dependencies: - - pkg install autoconf automake libtool pkgconf - pkg install boost-libs openssl libevent gmake - -(`libressl` instead of `openssl` will also work) - -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. - -Also, if you intend to run the regression tests (qa tests): - - pkg install python3 - -Then build using: - - ./autogen.sh - -With wallet support: - - ./configure --without-gui --without-miniupnpc --with-incompatible-bdb BDB_CFLAGS="-I/usr/local/include/db5" BDB_LIBS="-L/usr/local/lib -ldb_cxx-5" - -Without wallet support: - - ./configure --without-gui --without-miniupnpc --disable-wallet - -Then to compile: - - gmake - -*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`.