BitBlocks Core uses the Autotools build system. The normal build flow is:
./autogen.sh
./configure
make -j$(nproc)
make install # optionalInstall a C++ compiler, Autotools, pkg-config, and the development libraries for OpenSSL and Boost. Wallet builds also require Berkeley DB 4.8 for compatibility with existing wallet files.
Ubuntu and Debian example:
sudo apt-get update
sudo apt-get install build-essential libtool autotools-dev autoconf automake pkg-config libssl-dev libboost-all-devWallet compatibility depends on Berkeley DB 4.8. One commonly used packaging source is the external ppa:pivx/berkeley-db4 repository:
sudo apt-get install software-properties-common
sudo add-apt-repository ppa:pivx/berkeley-db4
sudo apt-get update
sudo apt-get install libdb4.8-dev libdb4.8++-devIf you do not need compatibility with existing BDB 4.8 wallet files, you can build with a newer Berkeley DB by passing --with-incompatible-bdb to ./configure.
The depends tree can build pinned dependencies for local and cross builds:
cd depends
make -j4
cd ..
./autogen.sh
./configure --prefix="$PWD/depends/$(./depends/config.guess)"
make -j$(nproc)For cross-compilation, pass a host triplet to make, then use the generated prefix with ./configure. See Windows build notes for a Windows example.
./configure --without-gui # daemon and CLI only
./configure --disable-wallet # no wallet support
./configure --with-incompatible-bdb