Changeset View
Changeset View
Standalone View
Standalone View
doc/build-unix.md
UNIX BUILD NOTES | UNIX BUILD NOTES | ||||
==================== | ==================== | ||||
Some notes on how to build Bitcoin ABC in Unix. | Some notes on how to build Bitcoin ABC in Unix. | ||||
(For FreeBSD specific instructions, see `build-freebsd.md` in this directory.) | |||||
Mengerian: If you want, it could be made clickable as:
[build-freebsd.md](build-freebsd.md) | |||||
Note | Note | ||||
--------------------- | --------------------- | ||||
Always use absolute paths to configure and compile bitcoin and the dependencies, | Always use absolute paths to configure and compile bitcoin and the dependencies, | ||||
for example, when specifying the path of the dependency: | for example, when specifying the path of the dependency: | ||||
../dist/configure --enable-cxx --disable-shared --with-pic --prefix=$BDB_PREFIX | ../dist/configure --enable-cxx --disable-shared --with-pic --prefix=$BDB_PREFIX | ||||
Here BDB_PREFIX must be an absolute path - it is defined using $(pwd) which ensures | Here BDB_PREFIX must be an absolute path - it is defined using $(pwd) which ensures | ||||
▲ Show 20 Lines • Show All 233 Lines • ▼ Show 20 Lines | To build executables for ARM: | ||||
cd depends | cd depends | ||||
make HOST=arm-linux-gnueabihf NO_QT=1 | make HOST=arm-linux-gnueabihf NO_QT=1 | ||||
cd .. | cd .. | ||||
./configure --prefix=$PWD/depends/arm-linux-gnueabihf --enable-glibc-back-compat --enable-reduce-exports LDFLAGS=-static-libstdc++ | ./configure --prefix=$PWD/depends/arm-linux-gnueabihf --enable-glibc-back-compat --enable-reduce-exports LDFLAGS=-static-libstdc++ | ||||
make | make | ||||
For further documentation on the depends system see [README.md](../depends/README.md) in the depends directory. | 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`. |
If you want, it could be made clickable as:
[build-freebsd.md](build-freebsd.md)