Using dmd on older machines

Georg Wrede georg.wrede at iki.fi
Tue Mar 10 14:20:26 PDT 2009


I wanted to use dmd at another site, so I took my laptop and the latest 
dmd 2 zip.

All went well, till I ran dmd, and got an error message about it needing 
a newer libc, I had only libc-2.3.5.so on a Fedora version from 2005.

I thought some expletives about software vendors always compiling their 
products on the absolutely latest OS version, thus introducing 
gratuitous dependencies on brand-new libraries, where most often they 
could compile with a 5 year old version, and make clients happy.

But, thanks to Walter, /I had the source/, so I compiled dmd from 
scratch. I got a surprise when I tried to use it. Errors I can't figure out:

$ cat foo.d
import std.stdio;

void main(){}

$ dmd foo.d
/home/georg/lang/d/dmd/linux/bin/../../src/phobos/std/traits.d(855): 
template instance isStaticArray!(const(int)[]) does not match template 
declaration isStaticArray(T : U[N],U,uint N)
/home/georg/lang/d/dmd/linux/bin/../../src/phobos/std/traits.d(855): 
Error: expression isStaticArray!(const(int)[]) of type void does not 
have a boolean value
/home/georg/lang/d/dmd/linux/bin/../../src/phobos/std/traits.d(855): 
static assert  (!isStaticArray!(const(int)[])) is not evaluatable at 
compile time
$

Interestingly, on Fedora 10, I can recompile dmd and actually use it.

What should I do?



More information about the Digitalmars-d mailing list