Building a dmd that works on old systems: TLS problems with libc

Atila Neves via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Fri Oct 3 01:47:05 PDT 2014


Both the pre-compiled dmd and building it from source from git 
HEAD give me the same result. I'm trying to compile D programs on 
an ancient Linux distro I have no root access to and hence no 
control over (don't ask). Its libc is so old I can't compile gcc 
4.9 on it (gcc 4.8 is the most recent one that'll compile). I 
also can't copy compiled D programs over since its dynamic linker 
is too old as well. And using dmd works until it tries linking, 
at which point I get this:

     ld: <...>/libphobos2.a(sections_linux_570_420.o): undefined 
reference to symbol '__tls_get_addr@@GLIBC_2.3'
     /lib64/ld-linux-x86-64.so.2: error adding symbols: DSO 
missing from command line
     collect2: error: ld returned 1 exit status


Any ideas on what else I could do except for compiling a new 
libc? Cos I tried that a few weeks back and it was a descent into 
madness that didn't work at all.

Atila


More information about the Digitalmars-d-learn mailing list