dmd 2.098.0: version `GLIBC_2.14' not found (required by linux/bin64/dmd)

jfondren julian.fondren at gmail.com
Tue Nov 9 00:22:35 UTC 2021


On Monday, 8 November 2021 at 23:55:02 UTC, kdevel wrote:
> In previous versions I used the linux32/dmd with the -m64 
> switch in order to generate 64-bit code. But this does not work 
> anymore:
>
>    $ linux/bin32/dmd
> linux/bin32/dmd: /lib/libc.so.6: version `GLIBC_2.28' not found 
> (required by linux/bin32/dmd)

dmd version v2.089.0 should work for you, and you can use that to 
build a newer version of dmd. You can get it from 
http://downloads.dlang.org/releases/2019/

You can use this on an older Linux system to generate more 
compatible binaries, or you can try building static binaries. 
I've got a short guide for LDC on Alpine Linux in a docker 
container at 
https://d.minimaltype.com/index.cgi/wiki?name=statically-linked+binaries

> Is it possible to build the compiler and the tools with more 
> "backward compatible" glibc version numers like 
> memcpy at GLIBC_2.2.5 and fcntl at GLIBC_2.2.5? IIRC this is 
> accomplished by using
>
>    asm (".symver memcpy, memcpy at GLIBC_2.2.5");
>    asm (".symver fcntl, fcntl at GLIBC_2.2.5");
>
> in the source code.

... I'd hope that the version numbers aren't so meaningless that 
dmd could get away with just lying about them and not have 
horrible problems.

I'd prefer that dmd work out of the box on old Linux systems too, 
but you're probably past EOL in other big ways as well, there. A 
stock CentOS6 system comes with a root privilege escalation vuln 
in sudoedit


More information about the Digitalmars-d-learn mailing list