This might be the reason for requiring glibc 2.31 and newer:
Security related changes:
CVE-2019-19126: ld.so failed to ignore the LD_PREFER_MAP_32BIT_EXEC
environment variable during program execution after a security
transition, allowing local attackers to restrict the possible
mapping addresses for loaded libraries and thus bypass ASLR for a
setuid program. Reported by Marcin Kościelnicki.
That’s surprisingly new. Wonder what causes the incompatibility
The changelog for 2.31 is here:
https://sourceware.org/legacy-ml/libc-announce/2020/msg00001.html
Latest version of glibc is 2.41, released 2025-01-30. That puts 2.31 at least 10 releases behind. That version is extremely outdated.
This might be the reason for requiring glibc 2.31 and newer: