Files
nathan 6be262164d Updating code
reviving this project
2026-02-18 22:09:06 -08:00

2.8 KiB

Copyright (c) 2026 Agrarian Developers

UNIX Build Notes

These notes describe how to build Agrarian Core on Unix-based systems.

IMPORTANT

Always use absolute paths when configuring and compiling Agrarian Core and its dependencies.

Example:

../dist/configure --enable-cxx --disable-shared --with-pic --prefix=$BDB_PREFIX

$BDB_PREFIX must be an absolute path. Using $(pwd) ensures an absolute path is used.

STANDARD BUILD

./autogen.sh
./configure
make
make install  (optional)

If dependencies are satisfied, this will build agrarian-qt as well.

DEPENDENCIES

Required: - libssl : Crypto (RNG, ECC) - libboost : Utility (threading, data structures) - libevent : Networking (async networking) - libgmp : Bignum arithmetic

Optional: - miniupnpc : UPnP support - libdb4.8 : Berkeley DB (wallet builds only) - qt : GUI support - protobuf : GUI payment protocol - libqrencode: QR code support - univalue : JSON parsing (bundled by default) - libzmq3 : ZMQ notifications (>= 4.0.0)

See dependencies.md for version details.

MEMORY REQUIREMENTS

Minimum recommended: 1.5 GB RAM.

Low memory systems:

./configure CXXFLAGS="--param ggc-min-expand=1 --param ggc-min-heapsize=32768"

UBUNTU / DEBIAN

Build tools:

sudo apt-get install build-essential libtool bsdmainutils autotools-dev autoconf pkg-config automake python3

Libraries:

sudo apt-get install libssl-dev libgmp-dev libevent-dev libboost-all-dev

OpenSSL Note: For Ubuntu >= 18.04 or Debian >= Stretch use libssl1.0-dev. OpenSSL 1.1 is not officially supported.

Berkeley DB 4.8 (wallet support):

sudo apt-get install software-properties-common
sudo add-apt-repository ppa:bitcoin/bitcoin
sudo apt-get update
sudo apt-get install libdb4.8-dev libdb4.8++-dev

Optional:

sudo apt-get install libminiupnpc-dev
sudo apt-get install libzmq3-dev

Qt GUI:

sudo apt-get install libqt5gui5 libqt5core5a libqt5dbus5     qttools5-dev qttools5-dev-tools libprotobuf-dev protobuf-compiler

Disable GUI:

./configure --without-gui

FEDORA

Build tools:

sudo dnf install which gcc-c++ libtool make autoconf automake     compat-openssl10-devel libevent-devel boost-devel     libdb4-devel libdb4-cxx-devel gmp-devel python3

Optional:

sudo dnf install miniupnpc-devel zeromq-devel

Qt:

sudo dnf install qt5-qttools-devel qt5-qtbase-devel protobuf-devel

HARDENING

Enable:

./configure --enable-hardening

Disable:

./configure --disable-hardening

Verify:

scanelf -e ./agrariand

DISABLE WALLET MODE

./configure --disable-wallet

ARM CROSS COMPILATION

sudo apt-get install g++-arm-linux-gnueabihf curl

cd depends
make HOST=arm-linux-gnueabihf NO_QT=1
cd ..
./autogen.sh
./configure --prefix=$PWD/depends/arm-linux-gnueabihf       --enable-glibc-back-compat --enable-reduce-exports       LDFLAGS=-static-libstdc++
make