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 | 2022-02 | 2.17 | 4.8.5 | 4.19 |
| Ubuntu 14.04 | 2014-04 | 2.19 | 4.9.3 | 3.13 |
| Debian 8 | 2015-04 | 2.19 | 4.9.2 | 3.16 |
| SLES 12 SP5 | 2019-12 | 2.22 | 13.3 | 4.12 |
| 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 |
| Ubuntu 18.04 | 2018-04 | 2.27 | 8.4 | 4.15 |
| RHEL 8 | 2019-05 | 2.28 | 8.5 | 4.18 |
| Debian 10 | 2019-07 | 2.28 | 8.3 | 4.19 |
| openEuler 20.03 | 2020-03 | 2.28 | 7.3 | 4.19 |
| OpenCloudOS 8.10 | 2024-10 | 2.28 | 8.5 | 5.4 |
| AnolisOS 8.10 | 2025-04 | 2.28 | 8.5 | 5.10 |
| Ubuntu 20.04 | 2020-04 | 2.31 | 10.5 | 5.4 |
| Debian 11 | 2021-08 | 2.31 | 10.2 | 5.10 |
| openEuler 22.03 | 2022-03 | 2.34 | 10.3 | 5.10 |
| RHEL 9 | 2022-05 | 2.34 | 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 |
| OpenCloudOS 9.4 | 2025-05 | 2.38 | 12.3 | 6.6 |
| AnolisOS 23.3 | 2025-06 | 2.38 | 12.3 | 6.6 |
| openEuler 24.03 | 2024-06 | 2.38 | 12.3 | 6.6 |
| SLES 15 SP7 | 2025-06 | 2.38 | 14.3 | 6.4 |
| Ubuntu 24.04 | 2024-04 | 2.39 | 14.0 | 6.8 |
| RHEL 10 | 2025-05 | 2.39 | 14.3 | 6.12 |
| CentOS Stream 10 | Rolling | 2.39 | 14.3 | 6.12 |
| SLES 16.0 | 2025-11 | 2.40 | 15.1 | 6.12 |
| Debian 13 | 2025-08 | 2.41 | 14.2 | 6.12 |
| Fedora 42 | 2025-04 | 2.41 | 15.0 | 6.14 |
| Ubuntu 25.10 | 2025-10 | 2.42 | 15.2 | 6.17 |
| Fedora 43 | 2025-10 | 2.42 | 15.2 | 6.17 |
| Ubuntu 26.04 | 2026-04? | 2.42? | 16.0 | 6.19? |
| Debian 14 | 2027-08? | 2.46? | 16.2? | 7.6? |
| openSUSE Tumbleweed | Rolling | 2.42? | 15.2? | 6.19? |
| 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 3.23 | 2025-12 | musl 1.2.5 | libgcc 15.2 | 6.18 |
| Alpine edge | 2026-05? | musl 1.2.6? | libgcc 15.2? | 6.18? |
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 16.1.0:
libstdc++.so.6.0.35addedCXXABI_1.3.17andGLIBCXX_3.4.35 - GCC 15.1.0:
libstdc++.so.6.0.34addedCXXABI_1.3.15(CXXABI_1.3.16for RISC-V only) andGLIBCXX_3.4.34 - GCC 14.1.0 (RHEL 10):
libgcc_s.so.1addedGCC_14.0.0,libstdc++.so.6.0.33addedCXXABI_1.3.15andGLIBCXX_3.4.33 - GCC 13.2.0:
libgcc_s.so.1addedGCC_13.0.0,libstdc++.so.6.0.32addedCXXABI_1.3.14andGLIBCXX_3.4.32 - GCC 12.1.0:
libgcc_s.so.1addedGCC_12.0.0,libstdc++.so.6.0.30addedCXXABI_1.3.13andGLIBCXX_3.4.30 - GCC 11.1.0 (RHEL 9):
libstdc++.so.6.0.29added addedCXXABI_1.3.13andGLIBCXX_3.4.29 - GCC 8.1.0 (RHEL 8):
libstdc++.so.6.0.25addedGLIBCXX_3.4.25only - GCC 7.2.0:
libgcc_s.so.1addedGCC_7.0.0,libstdc++.so.6.0.24addedCXXABI_1.3.11andGLIBCXX_3.4.24 - GCC 4.8.3 (RHEL 7):
libgcc_s.so.1addedGCC_4.8.0,libstdc++.so.6.0.19addedCXXABI_1.3.7andGLIBCXX_3.4.19 - … (Too old to need to list anymore)
docker images
1 | # shopt -s checkwinsize |