These are the dependencies currently used by Bitcoin Core. 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 | 4.8.30 | 4.8.x | No | ||
Boost | 1.70.0 | 1.47.0 | No | ||
Clang | 3.3+ (C++11 support) | ||||
Expat | 2.2.7 | No | Yes | ||
fontconfig | 2.12.1 | No | Yes | ||
FreeType | 2.7.1 | No | |||
GCC | 4.8+ (C++11 support) | ||||
HarfBuzz-NG | |||||
libevent | 2.1.8-stable | 2.0.22 | No | ||
libpng | Yes | ||||
librsvg | |||||
MiniUPnPc | 2.0.20180203 | No | |||
OpenSSL | 1.0.1k | Yes | |||
PCRE | Yes | ||||
protobuf | 2.6.1 | No | |||
Python (tests) | 3.5 | ||||
qrencode | 3.4.4 | No | |||
Qt | 5.9.7 | 5.5.1 | No | ||
XCB | Yes (Linux only) | ||||
xkbcommon | Yes (Linux only) | ||||
ZeroMQ | 4.3.1 | 4.0.0 | 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
--with-miniupnpc=no
. - Berkeley DB is not needed with
--disable-wallet
. - protobuf is only needed with
--enable-bip70
. - 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.
- librsvg is only needed if you need to run
make deploy
on (cross-compilation to) macOS.