www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - DMD 64-bit Windows

reply Mario Silva <mariorui tripaneer.com> writes:
Hey everyone,

While compiling our 64-bit app under Windows, DMD is getting out 
of memory.
I wasn't able to find a windows version of DMD64, is there even 
one? If not, are there any plans? This is quite a show stopper 
for us.

Thanks in advance,
Mario
Nov 09 2016
next sibling parent reply Daniel Kozak via Digitalmars-d <digitalmars-d puremagic.com> writes:
Dne 9.11.2016 v 17:34 Mario Silva via Digitalmars-d napsal(a):

 Hey everyone,

 While compiling our 64-bit app under Windows, DMD is getting out of 
 memory.
What do you mean by 64bit app? How much memory do you have? How big is your codebase?
 I wasn't able to find a windows version of DMD64, is there even one? 
 If not, are there any plans? This is quite a show stopper for us.

 Thanks in advance,
 Mario
yes support for 64bit is there for a few years. just download latest dmd https://dlang.org/download.html#dmd and use -m64 flag when compiling
Nov 09 2016
parent reply ketmar <ketmar ketmar.no-ip.org> writes:
On Wednesday, 9 November 2016 at 16:58:30 UTC, Daniel Kozak wrote:
i guess that OP meant 64-bit build of dmd itself, so it can use 
more than 3 GB of RAM.
Nov 09 2016
next sibling parent Daniel Kozak via Digitalmars-d <digitalmars-d puremagic.com> writes:
Dne 9.11.2016 v 18:04 ketmar via Digitalmars-d napsal(a):

 On Wednesday, 9 November 2016 at 16:58:30 UTC, Daniel Kozak wrote:
 i guess that OP meant 64-bit build of dmd itself, so it can use more 
 than 3 GB of RAM.
Yep, that make sense :)
Nov 09 2016
prev sibling parent reply Mario Silva <mariorui tripaneer.com> writes:
On Wednesday, 9 November 2016 at 17:04:25 UTC, ketmar wrote:
 On Wednesday, 9 November 2016 at 16:58:30 UTC, Daniel Kozak 
 wrote:
 i guess that OP meant 64-bit build of dmd itself, so it can use 
 more than 3 GB of RAM.
Yes, that's the case.
Nov 09 2016
parent reply Daniel Kozak <kozzi11 gmail.com> writes:
On Wednesday, 9 November 2016 at 17:11:28 UTC, Mario Silva wrote:
 On Wednesday, 9 November 2016 at 17:04:25 UTC, ketmar wrote:
 On Wednesday, 9 November 2016 at 16:58:30 UTC, Daniel Kozak 
 wrote:
 i guess that OP meant 64-bit build of dmd itself, so it can 
 use more than 3 GB of RAM.
Yes, that's the case.
Have you tried ldc2 (ldmd2)? https://github.com/ldc-developers/ldc/releases/download/v1.1.0-beta3/ldc2-1.1.0-beta3-win64-msvc.zip
Nov 09 2016
parent reply Mario Silva <mariorui tripaneer.com> writes:
On Wednesday, 9 November 2016 at 18:10:52 UTC, Daniel Kozak wrote:
 On Wednesday, 9 November 2016 at 17:11:28 UTC, Mario Silva 
 wrote:
 On Wednesday, 9 November 2016 at 17:04:25 UTC, ketmar wrote:
 On Wednesday, 9 November 2016 at 16:58:30 UTC, Daniel Kozak 
 wrote:
 i guess that OP meant 64-bit build of dmd itself, so it can 
 use more than 3 GB of RAM.
Yes, that's the case.
Have you tried ldc2 (ldmd2)? https://github.com/ldc-developers/ldc/releases/download/v1.1.0-beta3/ldc2-1.1.0-beta3-win64-msvc.zip
I haven't tried it yet, but I would want to avoid changing the compiler at this point, since we already have all our tooling build around DMD. That is why I'm asking specifically about the state of the 64-bit windows version of DMD.
Nov 10 2016
parent reply Rene Zwanenburg <renezwanenburg gmail.com> writes:
On Thursday, 10 November 2016 at 09:35:00 UTC, Mario Silva wrote:
 I haven't tried it yet, but I would want to avoid changing the 
 compiler at this point, since we already have all our tooling 
 build around DMD.

 That is why I'm asking specifically about the state of the 
 64-bit windows version of DMD.
There is no official 64 bit build of DMD, but it's quite easy to make one yourself using Digger: https://github.com/CyberShadow/Digger Since the 64 bit build is not automatically tested master will sometimes fail to compile, but sticking to releases always works for me so far.
Nov 10 2016
parent reply Mario Silva <mariorui tripaneer.com> writes:
On Thursday, 10 November 2016 at 10:24:43 UTC, Rene Zwanenburg 
wrote:
 On Thursday, 10 November 2016 at 09:35:00 UTC, Mario Silva 
 wrote:
 I haven't tried it yet, but I would want to avoid changing the 
 compiler at this point, since we already have all our tooling 
 build around DMD.

 That is why I'm asking specifically about the state of the 
 64-bit windows version of DMD.
There is no official 64 bit build of DMD, but it's quite easy to make one yourself using Digger: https://github.com/CyberShadow/Digger Since the 64 bit build is not automatically tested master will sometimes fail to compile, but sticking to releases always works for me so far.
Thanks all for the info, I build it locally as suggested. Still not sure why there is not an official release it since it is already being supported. I would suggest doing it so if possible.
Nov 11 2016
parent reply Inquie <Inquie data.com> writes:
On Friday, 11 November 2016 at 17:04:08 UTC, Mario Silva wrote:
 On Thursday, 10 November 2016 at 10:24:43 UTC, Rene Zwanenburg 
 wrote:
 On Thursday, 10 November 2016 at 09:35:00 UTC, Mario Silva 
 wrote:
 I haven't tried it yet, but I would want to avoid changing 
 the compiler at this point, since we already have all our 
 tooling build around DMD.

 That is why I'm asking specifically about the state of the 
 64-bit windows version of DMD.
There is no official 64 bit build of DMD, but it's quite easy to make one yourself using Digger: https://github.com/CyberShadow/Digger Since the 64 bit build is not automatically tested master will sometimes fail to compile, but sticking to releases always works for me so far.
Thanks all for the info, I build it locally as suggested. Still not sure why there is not an official release it since it is already being supported. I would suggest doing it so if possible.
I second that. Either add a dmdx64.exe to the regular release or create a new package for it. It would be very nice to have. If we have to build it ourselves then it means that who ever builds x86 can do it too and add it to the package quite easily.
Mar 30 2017
parent Inquie <Inquie data.com> writes:
On Friday, 31 March 2017 at 05:42:08 UTC, Inquie wrote:
 On Friday, 11 November 2016 at 17:04:08 UTC, Mario Silva wrote:
 On Thursday, 10 November 2016 at 10:24:43 UTC, Rene Zwanenburg 
 wrote:
 On Thursday, 10 November 2016 at 09:35:00 UTC, Mario Silva 
 wrote:
 I haven't tried it yet, but I would want to avoid changing 
 the compiler at this point, since we already have all our 
 tooling build around DMD.

 That is why I'm asking specifically about the state of the 
 64-bit windows version of DMD.
There is no official 64 bit build of DMD, but it's quite easy to make one yourself using Digger: https://github.com/CyberShadow/Digger Since the 64 bit build is not automatically tested master will sometimes fail to compile, but sticking to releases always works for me so far.
Thanks all for the info, I build it locally as suggested. Still not sure why there is not an official release it since it is already being supported. I would suggest doing it so if possible.
I second that. Either add a dmdx64.exe to the regular release or create a new package for it. It would be very nice to have. If we have to build it ourselves then it means that who ever builds x86 can do it too and add it to the package quite easily.
I am having trouble building phobos for x64. Mainly runtime. This is due to the fact that the paths for druntime are hard coded to old visual studio versions. They should not be hard coded by attempt to detect(derive from registry settings or paths). I get --- errorlevel -1073741701 which is uninformative. I was able to built for x86 without issue. (although phobos crapped out on trying to build druntime, I was able to build druntime first then phobos and it worked)
Mar 30 2017
prev sibling parent Benjamin Thaut <code benjamin-thaut.de> writes:
On Wednesday, 9 November 2016 at 16:34:13 UTC, Mario Silva wrote:
 Hey everyone,

 While compiling our 64-bit app under Windows, DMD is getting 
 out of memory.
 I wasn't able to find a windows version of DMD64, is there even 
 one? If not, are there any plans? This is quite a show stopper 
 for us.

 Thanks in advance,
 Mario
If you have VisualD installed just check out the dlang/dmd repository on github using the last release branch and open the visual studio solution inside the "vcbuild" directory. Then build the x64 version of ddmd and use that. It is safe to rename the resulting binary from "ddmd.exe" to "dmd.exe". You can replace dmd.exe in your install with this newly build executable and everything will work.
Nov 10 2016