DMD 1.024 and 2.008 releases

Brad Roberts braddr at puremagic.com
Wed Nov 28 17:21:04 PST 2007


On Wed, 28 Nov 2007, Markus Dittrich wrote:

> Walter Bright Wrote:
> 
> > korogu wrote:
> > > Version 2.007 worked fine, but trying to run 2.008 I got :
> > > 
> > > dmd: /lib/tls/libc.so.6: version `GLIBC_2.4' not found (required by dmd)
> > > 
> > > How can i correct that :-s ?
> > > 
> > 
> > This versin of dmd was compiled with the latest ubuntu, which probably 
> > uses the latest C runtime library. So can you install the latest C 
> > shared runtime library?
> 
> It looks like the only symbol requiring >=glibc-2.4 in the binary is
> 
> [dittrich at despina] readelf -s ./dmd.bin | grep GLIBC_2.4
>     69: 00000000    70 FUNC    GLOBAL DEFAULT  UND __stack_chk_fail at GLIBC_2.4 (10)
> 
> which probably means that you used "-fstack-protector" or sth similar to compile the
> dmd source. Without it, the requirement for a newer glibc may actually go away. 
> Otherwise, dmd.bin could also be distributed as a static binary at the cost of a (much)
> larger filesize. 
> 
> Markus

You can't link libc statically (for glibc at least, other os' do allow it) 
any more.  I forget the last version that supported it, but it might well 
be prior to 2.4.  Either way, it's not considered supported to build 
against version X of glibc and run it against any version < X, only >= 
even if it happens to not link against a versioned symbol (not all symbols 
are versioned).

Later,
Brad



More information about the Digitalmars-d-announce mailing list