Linux Kernel and GNU C Library version of common Linux distributions
Linux Kernel and GNU C Library version of common Linux distributions
statically linking
statically linking the specified libraries:
-Wl,-Bstatic -lluajit-5.1 -lssl -lcrypto -lsctp -Wl,-Bdynamic
but if your static linking program use libdl
and the GNU C Library version in the build system is newer than the version in the target system, you may get the following error:
# Using 'dlopen' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
dl-call-libc-early-init.c:37: _dl_call_libc_early_init: Assertion `sym != NULL' failed.
glibc versions
If we link with the lowest version of the C Library, then we can achieve maximum compatibility.
Linux distribution | Release date | GNU C Library | GCC support library | Linux Kernel |
---|---|---|---|---|
Ubuntu 10.04 | 2010-04 | 2.11.1 | 4.4.3 | 2.6.32 |
Debian 6 | 2011-02 | 2.11.3 | 4.4.5 | 2.6.32 |
RHEL 6 | 2010-11 | 2.12 | 4.4.7 | 2.6.32 |
Debian 7 | 2013-05 | 2.13 | 4.7.2 | 3.2 |
Ubuntu 12.04 | 2012-04 | 2.15 | 4.6.3 | 3.2 |
RHEL 7 | 2014-06 | 2.17 | 4.8.5 | 3.10 |
AnolisOS 7.9 | 2022-02 | 2.17 | 4.8.5 | 3.10 -> 4.19 |
Ubuntu 14.04 | 2014-04 | 2.19 | 4.9.3 | 3.13 |
SLE 12 | 2014-10 | 2.19 -> 2.22 | 4.8.3 -> 13.2 | 3.12 -> 4.12 |
Debian 8 | 2015-04 | 2.19 | 4.9.2 | 3.16 |
Ubuntu 16.04 | 2016-04 | 2.23 | 5.4.0 | 4.4 |
Debian 9 | 2017-06 | 2.24 | 6.3 | 4.9 |
Amazon Linux 2 LTS | 2018-06 | 2.26 | 7.3 | 4.14 |
SLE 15 | 2018-07 | 2.26 | 7.3 | 4.12 |
Ubuntu 18.04 | 2018-04 | 2.27 | 8.4 | 4.15 |
RHEL 8 | 2019-05 | 2.28 | 8.5 | 4.18 |
AnolisOS 8.10 | 2025-04 | 2.28 | 8.5 | 4.18 -> 5.10 |
OpenCloudOS 8.10 | 2024-10 | 2.28 | 8.5 | 5.4 |
Debian 10 | 2019-07 | 2.28 | 8.3 | 4.19 |
openEuler 20.03 | 2020-03 | 2.28 | 7.3 | 4.19 |
Ubuntu 20.04 | 2020-04 | 2.31 | 10.5 | 5.4 |
SLE 15 SP3 | 2021-06 | 2.31 | 10.2 | 5.3 |
Debian 11 | 2021-08 | 2.31 | 10.2 | 5.10 |
SLE 15 SP4 | 2022-06 | 2.31 | 11.2 | 5.14 |
openEuler 22.03 | 2022-03 | 2.34 | 10.3 | 5.10 |
RHEL 9 | 2022-05 | 2.34 | 11.4 -> 11.5 | 5.14 |
Amazon Linux 2023 | 2023-03 | 2.34 | 11.4 | 6.1 |
CBL-Mariner 2.0 | 2022-05 | 2.35 | 11.2 | 5.15 |
Ubuntu 22.04 | 2022-04 | 2.35 | 12.3 | 5.15 |
Debian 12 | 2023-06 | 2.36 | 12.2 | 6.1 |
AnolisOS 23.2 | 2025-01 | 2.38 | 12.3 | 6.6 |
OpenCloudOS 9.4 | 2025-05 | 2.38 | 12.3 | 6.6 |
openEuler 24.03 | 2024-06 | 2.38 | 12.3 | 6.6 |
SLE 15 SP6 | 2024-06 | 2.38 | 13.3 | 6.4 |
SLE 15 SP7 | 2025-06 | 2.38 | 14.2 | 6.4 |
Ubuntu 24.04 | 2024-04 | 2.39 | 14.0 | 6.8 |
RHEL 10 | 2025-05 | 2.39 | 14.2 | 6.12 |
CentOS Stream 10 | 2025-05 | 2.39 | 14.2 | 6.12 |
SLE 16 | 2025-10 | 2.40 ? | 15.1 ? | 6.12 ? |
Debian 13 | 2025-06 | 2.41 ? | 14.2 ? | 6.12 ? |
Fedora 42 | 2025-04 | 2.41 | 15.0 | 6.14 |
Ubuntu 25.04 | 2025-04 | 2.41 | 15.0 | 6.14 |
openSUSE Tumbleweed | Rolling | 2.41 ? | 15.1 ? | 6.15 ? |
Alpine 3.20 | 2024-05 | musl 1.2.5 | libgcc 13.2 | 6.6 |
Alpine 3.21 | 2024-12 | musl 1.2.5 | libgcc 14.2 | 6.12 |
Alpine 3.22 | 2025-05 | musl 1.2.5 | libgcc 14.2 | 6.12 |
Alpine edge | 2025-11 | musl 1.2.5 | libgcc 14.3 | 6.12 |
libgcc & libstdc++ versions
The following GCC versions add new functions to libgcc (libgcc/libgcc-std.ver.in
and libgcc/config/i386/libgcc-glibc.ver
) & libstdc++ (libstdc++-v3/config/abi/pre/gnu.ver
):
- GCC 15.1.0 (Only
libstdc++.so
has been changed) - GCC 14.1.0
- GCC 13.1.0
- GCC 12.1.0
- GCC 7.1.0
- GCC 4.8.0
- … (Too old to need to list anymore)
docker images
1 | # shopt -s checkwinsize |