3.7 KiB
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.datportability. 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-zmqoption.
Other
- librsvg is only needed if you need to run
make deployon (cross-compilation to) macOS.