When _GNU_SOURCE is defined, glibc will always use c23 versions of strtol(), sscanf() and friends if available (introduced after glibc 2.34). Which means that any binaries built with headers from newer glibc won't load on glibc < 2.38. To work around this, redefine the appropriate constants to zero make sure the c99 versions are used instead.