Running dmd on ubuntu with AMD64

Frits van Bommel fvbommel at REMwOVExCAPSs.nl
Sun Apr 22 11:39:39 PDT 2007


Jason House wrote:
> Any further tips on getting rebuild/dsss to work?  I'm getting linker 
 > errors.

This has nothing to do with rebuild/dsss. I had the same problem with 
"pure" dmd. (Sorry for forgetting to mention that in my previous post)

> I'm assuming dmd is generating a 32 bit executable and failing 
> to link with 64 bit libraries. 

Yes, that's exactly what's happening AFAIK

I got it to work was by running dmd in a 32-bit chroot. See 
http://ubuntuforums.org/showthread.php?t=24575 for step-by-step 
instructions.
You'll want to install DMD and gcc+binutils into the chroot, and create 
a symlink named "dmd" (outside the chroot) to the do_chroot script they 
provide.

> Can dmd generate a 64 bit executable? 

No, DMD can only generate 32-bit executables.

[snip]
> Can gdc do better?

Although I haven't been able to compile it myself on amd64, the binary 
distribution[1] worked straight out of the box IIRC. It's a native 
64-bit executable and produces 64-bit code. (It's supposed to also be 
able to generate 32-bit code, but I haven't tried that)

Note that there is at least one issue with it, but considering this is 
the first release to support 64-bit it works pretty well. Unfortunately, 
that issue means that Tango's formatted output functions don't compile 
and (G)Phobos' formatted output doesn't support structs...
Other than that I haven't had any problems with it, as far as I can 
remember.


[1]: gdc-0.23-x86_64-linux-gcc-4.1.1.tar.bz2 from 
http://sourceforge.net/project/showfiles.php?group_id=154306


More information about the Digitalmars-d-learn mailing list