These are the dependencies currently used by Bitcoin ABC. You can find instructions for installing them in the build-*.md
file for your platform.
Dependency | Version used | Minimum required | CVEs | Shared | Bundled Qt library |
---|---|---|---|---|---|
Berkeley DB | 5.3.28 | 5.3 | No | ||
Boost | 1.81.0 | 1.64.0 | No | ||
Clang | 5 (C++17 support) | ||||
CMake | 3.16 | ||||
fontconfig | 2.12.6 | No | Yes | ||
FreeType | 2.11.0 | No | |||
GCC | 8.3 | ||||
HarfBuzz-NG | |||||
jemalloc | 5.2.1 | 3.6.0 | |||
libevent | 2.1.12-stable | 2.0.22 | No | ||
libnatpmp | commit 07004b9... | No | |||
libpng | Yes | ||||
librsvg | |||||
MiniUPnPc | 2.2.7 | 1.9 | No | ||
Ninja | 1.5.1 | ||||
OpenSSL | 1.0.1k | Yes | |||
PCRE | Yes | ||||
protobuf | 21.12 | No | |||
Python (tests) | 3.9 | ||||
qrencode | 3.4.4 | No | |||
Qt | 5.15.14 | 5.9.5 | No | ||
SQLite | 3.32.1 | 3.7.17 | |||
systemtap (tracing) | |||||
XCB | Yes (Linux only) | ||||
xkbcommon | Yes (Linux only) | ||||
ZeroMQ | 4.3.1 | 4.1.5 | No | ||
zlib | 1.2.11 | No |
Some dependencies are not needed in all configurations. The following are some factors that affect the dependency list.
- MiniUPnPc is not needed with
-DENABLE_UPNP=OFF
. - MiniUPnPc is not needed with
-DENABLE_NATPMP=OFF
. - Berkeley DB and SQLite are not needed with
-DBUILD_BITCOIN_WALLET=OFF
. - OpenSSL is not needed with
-DENABLE_BIP70=OFF
. - protobuf is not needed with
-DENABLE_BIP70=OFF
. - Qt is not needed with
-DBUILD_BITCOIN_QT=OFF
. - qrencode is not needed with
-DENABLE_QRCODE=OFF
. - systemtap is not needed with
-DENABLE_TRACING=OFF
. - ZeroMQ is not needed with the
-DBUILD_BITCOIN_ZMQ=OFF
.