Skip to content

Latest commit

 

History

History
50 lines (44 loc) · 3.97 KB

dependencies.md

File metadata and controls

50 lines (44 loc) · 3.97 KB

Dependencies

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.77.0 1.64.0 No
Clang * 7.0 (C++17 & std::filesystem support)
Fontconfig 2.12.6 No Yes
FreeType 2.11.0 No Yes (Android only)
GCC 8.1 (C++17 & std::filesystem support)
glibc 2.18
HarfBuzz-NG Yes
libevent 2.1.12-stable 2.0.21 No
libnatpmp git commit 4536032... No
libpng Yes
MiniUPnPc 2.2.2 No
PCRE Yes
Python (tests) 3.6
qrencode 3.4.4 No
Qt 5.15.2 5.9.5 No
SQLite 3.32.1 3.7.17
UniValue non-standard 1.0.4 No
XCB Yes (Linux only)
systemtap (tracing) 4.5
xkbcommon Yes (Linux only)
ZeroMQ 4.3.1 4.0.0 No
zlib Yes

Note * : When compiling with -stdlib=libc++, the minimum supported libc++ version is 7.0.

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 --without-miniupnpc.
  • libnatpmp is not needed with --without-natpmp.
  • 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.
  • If the systemtap dependency is absent, USDT support won't compiled in.
  • UniValue is needed only with the --with-system-univalue option. Otherwise, if it's missing, a non-standard bundled copy is staticly linked.
  • ZeroMQ is needed only with the --with-zmq option.

Other

  • Not-Qt-bundled zlib is required to build the DMG tool from the libdmg-hfsplus project.