dash/doc/build-netbsd.md
fanquake f714a57158
Merge bitcoin/bitcoin#25166: doc: Add link to NetBSD release
174f58c1857468252a8b9214abd187fa296e883c Add link to NetBSD release (Marnix)

Pull request description:

  For consistency with other Build Guides, like `doc/build-freebsd.md` & `doc/build-openbsd.md`

ACKs for top commit:
  theStack:
    Code-review ACK 174f58c1857468252a8b9214abd187fa296e883c
  vincenzopalazzo:
    ACK 174f58c185

Tree-SHA512: 08297aac82ee8fab2bbcb486b13b9c6ca12fb4fba573e9979e94204bd7340c2d13f1e54e07b314498603c291c25e29f2e89141ee150478951f699772538b709c
2024-01-14 11:05:37 -06:00

2.1 KiB

NetBSD Build Guide

Updated for NetBSD 8.0

This guide describes how to build dashd and command-line utilities on NetBSD.

This guide does not contain instructions for building the GUI.

This guide has not been tested for building Dash Core and is expected to fail due to missing bls_dash and backtrace. Please report your results; contributions welcome.

Preparation

You will need the following modules, which can be installed via pkgsrc or pkgin:

autoconf
automake
boost
git
gmake
gmp
libevent
libtool
pkg-config
python37

git clone https://github.com/dashpay/dash.git

See dependencies.md for a complete overview.

Building BerkeleyDB

BerkeleyDB is only necessary for the wallet functionality. To skip this, pass --disable-wallet to ./configure and skip to the next section.

It is recommended to use Berkeley DB 4.8. You cannot use the BerkeleyDB library from ports, for the same reason as boost above (g++/libstd++ incompatibility). If you have to build it yourself, you can use the installation script included in contrib/ like so:

./contrib/install_db4.sh `pwd`

from the root of the repository. Then set BDB_PREFIX for the next section:

export BDB_PREFIX="$PWD/db4"

Building Dash Core

Important: Use gmake (the non-GNU make will exit with an error).

With wallet:

./autogen.sh
./configure --with-gui=no CPPFLAGS="-I/usr/pkg/include" \
    LDFLAGS="-L/usr/pkg/lib" \
    BOOST_CPPFLAGS="-I/usr/pkg/include" \
    BOOST_LDFLAGS="-L/usr/pkg/lib" \
    BDB_LIBS="-L${BDB_PREFIX}/lib -ldb_cxx-4.8" \
    BDB_CFLAGS="-I${BDB_PREFIX}/include" \
    MAKE=gmake

Without wallet:

./autogen.sh
./configure --with-gui=no --disable-wallet \
    CPPFLAGS="-I/usr/pkg/include" \
    LDFLAGS="-L/usr/pkg/lib" \
    BOOST_CPPFLAGS="-I/usr/pkg/include" \
    BOOST_LDFLAGS="-L/usr/pkg/lib" \
    MAKE=gmake

Build and run the tests:

gmake # use -jX here for parallelism
gmake check