bitcoin/doc/dependencies.md
fanquake d5e06919db
random: switch to using getrandom() directly
This requires a linux kernel of 3.17.0+, which seems entirely
reasonable. 3.17 went EOL in 2015, and the last supported 3.x kernel
(3.16) went EOL > 4 years ago, in 2020. For reference, the current
oldest maintained kernel is 4.14 (released 2017, EOL Jan 2024).

Support for `getrandom()` (and `getentropy()`) was added to
glibc 2.25, https://sourceware.org/legacy-ml/libc-alpha/2017-02/msg00079.html,
and we already require 2.27+.

All that being said, I don't think you would encounter a current day
system, running with kernel headers older than 3.17 (released 2014) but
also having a glibc of 2.27+ (released 2018).
2023-05-20 17:20:01 +01:00

3.7 KiB

Dependencies

These are the dependencies used by Bitcoin Core. You can find installation instructions in the build-*.md file for your platform. "Runtime" and "Version Used" are both in reference to the release binaries.

Dependency Minimum required
Autoconf 2.69
Automake 1.13
Clang 10.0
GCC 9.1
Python (scripts, tests) 3.8
systemtap (tracing) N/A

Required

Dependency Releases Version used Minimum required Runtime
Boost link 1.81.0 1.64.0 No
libevent link 2.1.12-stable 2.1.8 No
glibc link N/A 2.27 Yes
Linux Kernel link N/A 3.17.0 Yes

Optional

GUI

Dependency Releases Version used Minimum required Runtime
Fontconfig link 2.12.6 2.6 Yes
FreeType link 2.11.0 2.3.0 Yes
qrencode link 4.1.1 No
Qt link 5.15.5 5.11.3 No

Networking

Dependency Releases Version used Minimum required Runtime
libnatpmp link commit 07004b9... No
MiniUPnPc link 2.2.2 2.1 No

Notifications

Dependency Releases Version used Minimum required Runtime
ZeroMQ link 4.3.4 4.0.0 No

Wallet

Dependency Releases Version used Minimum required Runtime
Berkeley DB (legacy wallet) link 4.8.30 4.8.x No
SQLite link 3.38.5 3.7.17 No