Files
agrarian/doc/dependencies.md

3.7 KiB

Dependencies

These are the dependencies currently used by the Agrarian 2.0 modernization branch. You can find instructions for installing or building them in the build-*.md file for your platform. The preferred path is the deterministic depends/ tree, not mixed system libraries.

Dependency Version used Minimum required CVEs Shared Bundled Qt library
Berkeley DB 4.8.30 4.8.x No
Boost 1.91.0 1.47.0 No
Clang C++17 support
D-Bus 1.10.18 No Yes
Expat 2.8.0 Security fixes Yes
fontconfig 2.12.1 No Yes
FreeType 2.14.3 Qt 6 static font support
GCC C++17 support
HarfBuzz-NG
libevent 2.1.12-stable 2.0.22 No
libjpeg Yes
libpng Yes
librsvg
MiniUPnPc 2.3.3 No
OpenSSL 3.5.6 No
GMP 6.3.0 No
PCRE Yes
Python (tests) 3.5
qrencode 4.1.1 No
Qt 6.8.3 6.8 LTS No
XCB Yes (Linux only)
xkbcommon Yes (Linux only)
ZeroMQ 4.3.5 4.0.0 No
zlib 1.3.2 No

Modernization notes

  • Qt builds target Qt 6.8 LTS through the deterministic depends path.
  • OpenSSL builds target OpenSSL 3.5 LTS through the deterministic depends path.
  • Boost builds target Boost 1.91.0 through the deterministic depends path.
  • Protobuf was removed with obsolete BIP70 payment request support. Normal agrarian: URI payment handling remains available.
  • Berkeley DB intentionally remains 4.8.30 in depends for legacy wallet.dat portability. Do not upgrade Berkeley DB in-place for normal releases; migrate to a new wallet backend such as SQLite through a dedicated, tested wallet migration path.

Controlling dependencies

Some dependencies are not needed in all configurations. The following are some factors that affect the dependency list.

Options passed to ./configure

  • MiniUPnPc is not needed with --with-miniupnpc=no.
  • Berkeley DB is not needed with --disable-wallet.
  • Qt is not needed with --without-gui.
  • If the qrencode dependency is absent, QR support won't be added. To force an error when that happens, pass --with-qrencode.
  • ZeroMQ is needed only with the --with-zmq option.

Other

  • librsvg is only needed if you need to run make deploy on (cross-compilation to) macOS.