Dependencies

November 24, 2020 ยท View on GitHub

These are the dependencies currently used by Bitcoin Core. You can find instructions for installing them in the build-*.md file for your platform.

DependencyVersion usedMinimum requiredCVEsSharedBundled Qt library
Berkeley DB4.8.304.8.xNo
Boost1.71.01.58.0No
Clang5.0+ (C++17 support)
Expat2.2.7NoYes
fontconfig2.12.1NoYes
FreeType2.7.1NoYes (Android only)
GCC7+ (C++17 support)
HarfBuzz-NGYes
libevent2.1.11-stable2.0.21No
libpngYes
librsvg
MiniUPnPc2.0.20180203No
PCREYes
Python (tests)3.6
qrencode3.4.4No
Qt5.9.85.5.1No
SQLite3.32.13.7.17
XCBYes (Linux only)
xkbcommonYes (Linux only)
ZeroMQ4.3.14.0.0No
zlib1.2.11No

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 or --without-bdb.
  • SQLite is not needed with --disable-wallet or --without-sqlite.
  • 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.