Re: Has anyone been successful using 64-bit release dmd on Windows?
On Wednesday, 13 June 2018 at 17:54:29 UTC, Atila Neves wrote: Reviewing the dustmite documentation, I'm not sure how the reduction would work when the build that's broken is a dub one that uses local packages. You will need to either reduce the test to a command which does not involve dub (its verbose output can help), or try using "dub dustmite" instead (I can't help much with the latter though).
Re: Has anyone been successful using 64-bit release dmd on Windows?
On Wednesday, 13 June 2018 at 17:30:34 UTC, Vladimir Panteleev wrote: On Wednesday, 13 June 2018 at 17:13:09 UTC, Atila Neves wrote: [...] I've used 64-bit DMD exclusively while Windows was my primary OS, but that was a few years ago. [...] Reviewing the dustmite documentation, I'm not sure how the reduction would work when the build that's broken is a dub one that uses local packages.
Re: Has anyone been successful using 64-bit release dmd on Windows?
On Wednesday, 13 June 2018 at 17:30:34 UTC, Vladimir Panteleev wrote: On Wednesday, 13 June 2018 at 17:13:09 UTC, Atila Neves wrote: After too many days of frustration to be able to count, I finally discovered what works for our builds: the debug build of 64-bit dmd on Windows. When I build the release version from the Makefile or use digger, it produces a dmd binary that crashes randomly (bad enough) or compiles executables which themselves crash or run forever (much, much worse). I've used 64-bit DMD exclusively while Windows was my primary OS, but that was a few years ago. Do you have a way to reproduce these problems reliably? If so, a few things you could try to narrow down the problem: - Use DustMite and a test script that compiles a program with 64-bit release dmd.exe and a 32-bit or 64-bit debug dmd.exe, and accepts any reductions in which only the former crashes. Until recently, I only had random dmd crashes. It was only yesterday that I managed to get a build that failed consistently. I'll try dustmite on it. On another note, it seems that debug dmd only crashes less frequently. It just crashed on me again. - See if this is a regression (do older 64-bit DMDs work OK?), and if so, use Digger to find where it was introduced. We never had problems up until 2.77.3 if I'm not mistaken. - It's possible that the bug occurs not in the compiled DMD code, but in the host DMD compiler. There was at least one recorded case of a bug in the host DMD resulting in a broken built DMD which in turn executed successfully, but built broken programs. A discrepancy between which host DMD compiler is used can sometimes explain why some tests succeed on CI but fail locally, or vice versa. I tried multiple versions of host dmd. No differences in behaviour. Atila
Re: Has anyone been successful using 64-bit release dmd on Windows?
On Wednesday, 13 June 2018 at 17:13:09 UTC, Atila Neves wrote: After too many days of frustration to be able to count, I finally discovered what works for our builds: the debug build of 64-bit dmd on Windows. When I build the release version from the Makefile or use digger, it produces a dmd binary that crashes randomly (bad enough) or compiles executables which themselves crash or run forever (much, much worse). I've used 64-bit DMD exclusively while Windows was my primary OS, but that was a few years ago. Do you have a way to reproduce these problems reliably? If so, a few things you could try to narrow down the problem: - Use DustMite and a test script that compiles a program with 64-bit release dmd.exe and a 32-bit or 64-bit debug dmd.exe, and accepts any reductions in which only the former crashes. - See if this is a regression (do older 64-bit DMDs work OK?), and if so, use Digger to find where it was introduced. - It's possible that the bug occurs not in the compiled DMD code, but in the host DMD compiler. There was at least one recorded case of a bug in the host DMD resulting in a broken built DMD which in turn executed successfully, but built broken programs. A discrepancy between which host DMD compiler is used can sometimes explain why some tests succeed on CI but fail locally, or vice versa.
Re: Has anyone been successful using 64-bit release dmd on Windows?
On Wednesday, 13 June 2018 at 17:13:09 UTC, Atila Neves wrote: This post is both a warning to the intrepid D programmers out there who'd rather not hit a 4GB RAM limit for no reason on Windows and also a question to see if anybody has been able to use 64-bit dmd on Windows like intended. Works For Me(TM). But, as I mentioned in a thread a few weeks back, I open the Visual Studio solution and compile with the help of VisualD. I also just dump the resultant .exe over the release version. I guess it's time to repeat the point though: Win64 DMD needs to be released alongside Win32. Day and date.
Has anyone been successful using 64-bit release dmd on Windows?
After too many days of frustration to be able to count, I finally discovered what works for our builds: the debug build of 64-bit dmd on Windows. When I build the release version from the Makefile or use digger, it produces a dmd binary that crashes randomly (bad enough) or compiles executables which themselves crash or run forever (much, much worse). In all cases I installed dmd 2.080.0 from the installer then just copied over dmd.exe over the 32-bit one. I can't see what reason there'd be for the pre-built druntime and phobos binaries to not work just because dmd changed from 32-bit to 64-bit. But who knows. This post is both a warning to the intrepid D programmers out there who'd rather not hit a 4GB RAM limit for no reason on Windows and also a question to see if anybody has been able to use 64-bit dmd on Windows like intended. Slightly slower builds are definitely better than ones that are flaky or hit gitlab's time limit. Atila
Re: Why is 64-bit dmd not built as part of the Windows release?
On 5/23/2018 3:20 PM, Vladimir Panteleev wrote: On Wednesday, 23 May 2018 at 20:17:04 UTC, Dlang User wrote: I tried adding bootstrap option for 64 bit: digger -c build.components.dmd.dmdModel=64 -c build.components.dmd.bootstrap.ver=v2.075.0 build --model=64 v2.080.0 Which didn't work (totally different error): Looks like more DMD bugs. Try more host versions, e.g. v2.079.0 or v2.080.0. Thank you. I had success with using v2.080.0 as the bootstrap: digger -c build.components.dmd.dmdModel=64 -c build.components.dmd.bootstrap.ver=v2.080.0 build --model=64 v2.080.0
Re: Why is 64-bit dmd not built as part of the Windows release?
On Wednesday, 23 May 2018 at 20:17:04 UTC, Dlang User wrote: I tried adding bootstrap option for 64 bit: digger -c build.components.dmd.dmdModel=64 -c build.components.dmd.bootstrap.ver=v2.075.0 build --model=64 v2.080.0 Which didn't work (totally different error): Looks like more DMD bugs. Try more host versions, e.g. v2.079.0 or v2.080.0.
Re: Why is 64-bit dmd not built as part of the Windows release?
On 5/23/2018 12:42 PM, Vladimir Panteleev wrote: On Wednesday, 23 May 2018 at 17:35:28 UTC, Dlang User wrote: I too am looking for 64-bit on Windows 10. Not just DMD but ideally everything. When I try the command exactly as above, or a slightly modified version (on a second run show after this run), I hit an error on my machine: Internal error: dmd\backend\cod3.c 6830 Hmm, that looks like a DMD bug/regression. I think that should have been caught by the auto-tester. In any case, try adding --model=64 to your command to also build a 64-bit Phobos, as that seems to be what you're after anyway. You could also try specifying a different (newer?) host DMD version with e.g. `-c build.components.dmd.bootstrap.ver=v2.075.0`. Thanks for looking at this, I actually did try adding --model=64, in the second run that I was referring to in my original post, but that resulted in the same error. Some additional things I realized when trying to use digger on my machine: Digger is only failing when trying to use the build.components.dmd.dmdModel=64 switch, so when trying to build 64 bit DMD. digger -c build.components.dmd.dmdModel=64 build --model=64 v2.080.0 The first time the error is this (so this is probably the real error): FLunde Internal error: dmd\backend\cod3.c 5488 The second time, the error is (this is probably due to the previous failed run): Internal error: dmd\backend\cod3.c 6830 I tried adding bootstrap option for 32 bit, and that worked fine: digger -c build.components.dmd.dmdModel=32 -c build.components.dmd.bootstrap.ver=v2.075.0 build --model=32 v2.080.0 I tried adding bootstrap option for 64 bit: digger -c build.components.dmd.dmdModel=64 -c build.components.dmd.bootstrap.ver=v2.075.0 build --model=64 v2.080.0 Which didn't work (totally different error): C:\DProj\digger\work\dl\dmd-2.075.0\dmd2/windows/bin\dmd.exe -of..\generated\windows\release\64\dmd.exe -vtls -J..\generated\windows\release\64 -J../res -L/STACK:8388608 -O -release -inline -m64 -wi -version=MARS -L/delexe/la dmd/access.d dmd/aggregate.d dmd/aliasthis.d dmd/apply.d dmd/argtypes.d dmd/arrayop.d dmd/arraytypes.d dmd/astcodegen.d dmd/attrib.d dmd/builtin.d dmd/canthrow.d dmd/cli.d dmd/clone.d dmd/compiler.d dmd/complex.d dmd/cond.d dmd/constfold.d dmd/cppmangle.d dmd/cppmanglewin.d dmd/ctfeexpr.d dmd/ctorflow.d dmd/dcast.d dmd/dclass.d dmd/declaration.d dmd/delegatize.d dmd/denum.d dmd/dimport.d dmd/dinifile.d dmd/dinterpret.ddmd/dmacro.d dmd/dmangle.d dmd/dmodule.d dmd/doc.d dmd/dscope.d dmd/dstruct.d dmd/dsymbol.d dmd/dsymbolsem.d dmd/lambdacomp.d dmd/dtemplate.d dmd/dversion.d dmd/escape.ddmd/expression.d dmd/expressionsem.d dmd/func.d dmd/hdrgen.d dmd/id.d dmd/imphint.d dmd/impcnvtab.d dmd/init.d dmd/initsem.d dmd/inline.d dmd/inlinecost.d dmd/intrange.d dmd/json.d dmd/lib.d dmd/link.d dmd/mars.d dmd/mtype.d dmd/nogc.d dmd/nspace.d dmd/objc.d dmd/opover.d dmd/optimize.d dmd/parse.ddmd/sapply.d dmd/sideeffect.d dmd/statement.d dmd/staticassert.d dmd/target.d dmd/safe.d dmd/blockexit.d dmd/permissivevisitor.d dmd/transitivevisitor.d dmd/parsetimevisitor.d dmd/printast.d dmd/typesem.d dmd/traits.d dmd/utils.d dmd/visitor.d dmd/libomf.d dmd/scanomf.d dmd/templateparamsem.d dmd/typinf.d dmd/libmscoff.d dmd/scanmscoff.d dmd/statement_rewrite_walker.d dmd/statementsem.d dmd/staticcond.d dmd/semantic2.d dmd/semantic3.d dmd/irstate.d dmd/toctype.d dmd/glue.d dmd/gluelayer.d dmd/todt.d dmd/tocsym.d dmd/toir.d dmd/dmsc.d dmd/tocvdebug.d dmd/s2ir.d dmd/toobj.d dmd/e2ir.d dmd/objc_glue.d dmd/eh.d dmd/iasm.d dmd\backend/bcomplex.d dmd\backend/cc.d dmd\backend/cdef.d dmd\backend/cgcv.d dmd\backend/code.d dmd\backend/cv4.d dmd\backend/dt.d dmd\backend/el.d dmd\backend/global.d dmd\backend/obj.d dmd\backend/oper.d dmd\backend/outbuf.d dmd\backend/rtlsym.d dmd\backend/code_x86.d dmd\backend/iasm.d dmd\backend/ty.d dmd\backend/type.d dmd\backend/exh.d dmd\backend/mach.d dmd\backend/md5.d dmd\backend/mscoff.d dmd\backend/dwarf.d dmd\backend/dwarf2.d dmd\backend/xmm.d dmd\tk/dlist.d dmd\root/aav.d dmd\root/array.d dmd\root/ctfloat.d dmd\root/file.d dmd\root/filename.d dmd\root/man.d dmd\root/outbuffer.d dmd\root/port.d dmd\root/response.d dmd\root/rmem.d dmd\root/rootobject.d dmd\root/speller.d dmd\root/stringtable.d dmd\root/hash.d ..\generated\windows\release\64\newdelete.obj ..\generated\windows\release\64\backend.lib ..\generated\windows\release\64\lexer.lib object.Error@(0): Access Violation 0x004CF5B7 0x004987C7 0x77B716B7 in RtlAllocateHeap 0x00441CCD 0x0064DE30 0x0044E40A 0x00405B42 --- errorlevel 1 --- errorlevel 1 --- errorlevel 1 digger: Saving to cache. digger: Clearing temporary cache object.Exception@C:\Users\dlang.user\AppData\Local\dub\packages\ae-0.0.2177\ae\sys\d\manager.d(850): Command ["make", "-f", "win64.mak", "MODEL=64
Re: Why is 64-bit dmd not built as part of the Windows release?
On Wednesday, 23 May 2018 at 17:35:28 UTC, Dlang User wrote: I too am looking for 64-bit on Windows 10. Not just DMD but ideally everything. When I try the command exactly as above, or a slightly modified version (on a second run show after this run), I hit an error on my machine: Internal error: dmd\backend\cod3.c 6830 Hmm, that looks like a DMD bug/regression. I think that should have been caught by the auto-tester. In any case, try adding --model=64 to your command to also build a 64-bit Phobos, as that seems to be what you're after anyway. You could also try specifying a different (newer?) host DMD version with e.g. `-c build.components.dmd.bootstrap.ver=v2.075.0`.
Re: Why is 64-bit dmd not built as part of the Windows release?
On 5/22/2018 10:03 AM, Atila Neves wrote: On Tuesday, 22 May 2018 at 13:30:02 UTC, Vladimir Panteleev wrote: On Tuesday, 22 May 2018 at 13:11:00 UTC, Atila Neves wrote: On Thursday, 17 May 2018 at 03:28:33 UTC, Vladimir Panteleev wrote: digger build --model=64 If you don't have Digger yet, you can run it straight from Dub: dub fetch digger dub run digger -- build --model=64 I keep forgetting about digger for some reason. Unfortunately the command above produced a 32-bit dmd. 64-bit druntime and phobos, but 32-bit dmd. Atila Apologies, that indeed is the wrong command. This should work: dub run digger -- -c build.components.dmd.dmdModel=64 build Thanks! That was pretty confusing though - and I consulted the documentation before trying --model=64 myself. In any case, I seem to have gotten a working 64-bit version of dmd. I too am looking for 64-bit on Windows 10. Not just DMD but ideally everything. When I try the command exactly as above, or a slightly modified version (on a second run show after this run), I hit an error on my machine: Internal error: dmd\backend\cod3.c 6830 Does anyone have any suggestions? It could be something simple, as I am relitivly new to D. I have windows 10 64 bit and I have v2.080.0 of D installed and I have VS2017 installed and I am able to complile D code to create a 64bit apps. I have tried compiling digger as both 32bit and 64bit, and that made no difference. If I run digger to build 32 bit DMD, then it succeeds with or without the --model=64 switch: digger build v2.080.0 digger build v2.080.0 --model=64 In the case of the original command I see this: digger -c build.components.dmd.dmdModel=64 build C:\DProj\digger\work\build\bin\dmd.exe -lib -oflib\druntime.lib -Xfdruntime.json -m32 -conf= -O -release -dip1000 -inline -w -Isrc -Iimport src\object.d src\core\atomic.d src\core\attribute.d src\core\bitop.d src\core\checkedint.d src\core\cpuid.d src\core\demangle.d src\core\exception.d src\core\math.d src\core\memory.d src\core\runtime.d src\core\simd.d src\core\thread.d src\core\time.d src\core\vararg.d src\core\internal\abort.d src\core\internal\arrayop.d src\core\internal\convert.d src\core\internal\hash.d src\core\internal\parseoptions.d src\core\internal\spinlock.d src\core\internal\string.d src\core\internal\traits.d src\core\stdc\assert_.d src\core\stdc\complex.d src\core\stdc\config.d src\core\stdc\ctype.d src\core\stdc\errno.d src\core\stdc\fenv.d src\core\stdc\float_.d src\core\stdc\inttypes.d src\core\stdc\limits.d src\core\stdc\locale.d src\core\stdc\math.d src\core\stdc\signal.d src\core\stdc\stdarg.d src\core\stdc\stddef.d src\core\stdc\stdint.d src\core\stdc\stdio.d src\core\stdc\stdlib.d src\core\stdc\string.d src\core\stdc\time.d src\core\stdc\wchar_.d src\core\sync\barrier.d src\core\sync\condition.d src\core\sync\config.d src\core\sync\exception.d src\core\sync\mutex.d src\core\sync\rwmutex.d src\core\sync\semaphore.d src\core\sys\darwin\netinet\in_.d src\core\sys\freebsd\dlfcn.d src\core\sys\freebsd\execinfo.d src\core\sys\freebsd\netinet\in_.d src\core\sys\freebsd\sys\_bitset.d src\core\sys\freebsd\sys\_cpuset.d src\core\sys\freebsd\sys\cdefs.d src\core\sys\freebsd\sys\elf_common.d src\core\sys\freebsd\sys\elf.d src\core\sys\freebsd\sys\elf32.d src\core\sys\freebsd\sys\elf64.d src\core\sys\freebsd\sys\event.d src\core\sys\freebsd\sys\link_elf.d src\core\sys\freebsd\sys\mman.d src\core\sys\freebsd\time.d src\core\sys\dragonflybsd\dlfcn.d src\core\sys\dragonflybsd\execinfo.d src\core\sys\dragonflybsd\netinet\in_.d src\core\sys\dragonflybsd\sys\_bitset.d src\core\sys\dragonflybsd\sys\_cpuset.d src\core\sys\dragonflybsd\sys\cdefs.d src\core\sys\dragonflybsd\sys\elf_common.d src\core\sys\dragonflybsd\sys\elf.d src\core\sys\dragonflybsd\sys\elf32.d src\core\sys\dragonflybsd\sys\elf64.d src\core\sys\dragonflybsd\sys\event.d src\core\sys\dragonflybsd\sys\link_elf.d src\core\sys\dragonflybsd\sys\mman.d src\core\sys\dragonflybsd\time.d src\core\sys\linux\netinet\in_.d src\core\sys\linux\netinet\tcp.d src\core\sys\linux\stdio.d src\core\sys\linux\tipc.d src\core\sys\linux\sys\inotify.d src\core\sys\linux\sys\mman.d src\core\sys\linux\sys\signalfd.d src\core\sys\linux\sys\socket.d src\core\sys\linux\sys\sysinfo.d src\core\sys\linux\sys\time.d src\core\sys\linux\sys\xattr.d src\core\sys\posix\dirent.d src\core\sys\posix\signal.d src\core\sys\posix\netdb.d src\core\sys\posix\netinet\in_.d src\core\sys\posix\arpa\inet.d src\core\sys\posix\sys\ioctl.d src\core\sys\posix\sys\ipc.d src\core\sys\posix\sys\mman.d src\core\sys\posix\sys\resource.d src\core\sys\posix\sys\select.d src\core\sys\posix\sys\shm.d src\core\sys\posix\sys\socket.d src\core\sys\posix\sys\stat.d src\core\sys\posix\sys\statvfs.d src\core\sys\posix\sys\time.d src\core\sys\posix\sys\types.d src\core\sys\posix\sys\uio.d src\core\sys\posi
Re: Why is 64-bit dmd not built as part of the Windows release?
On Tuesday, 22 May 2018 at 13:30:02 UTC, Vladimir Panteleev wrote: On Tuesday, 22 May 2018 at 13:11:00 UTC, Atila Neves wrote: On Thursday, 17 May 2018 at 03:28:33 UTC, Vladimir Panteleev wrote: digger build --model=64 If you don't have Digger yet, you can run it straight from Dub: dub fetch digger dub run digger -- build --model=64 I keep forgetting about digger for some reason. Unfortunately the command above produced a 32-bit dmd. 64-bit druntime and phobos, but 32-bit dmd. Atila Apologies, that indeed is the wrong command. This should work: dub run digger -- -c build.components.dmd.dmdModel=64 build Thanks! That was pretty confusing though - and I consulted the documentation before trying --model=64 myself. In any case, I seem to have gotten a working 64-bit version of dmd.
Re: Why is 64-bit dmd not built as part of the Windows release?
On Tuesday, 22 May 2018 at 13:11:00 UTC, Atila Neves wrote: On Thursday, 17 May 2018 at 03:28:33 UTC, Vladimir Panteleev wrote: digger build --model=64 If you don't have Digger yet, you can run it straight from Dub: dub fetch digger dub run digger -- build --model=64 I keep forgetting about digger for some reason. Unfortunately the command above produced a 32-bit dmd. 64-bit druntime and phobos, but 32-bit dmd. Atila Apologies, that indeed is the wrong command. This should work: dub run digger -- -c build.components.dmd.dmdModel=64 build
Re: Why is 64-bit dmd not built as part of the Windows release?
On Thursday, 17 May 2018 at 03:28:33 UTC, Vladimir Panteleev wrote: On Tuesday, 15 May 2018 at 16:01:28 UTC, Atila Neves wrote: I just spent 45min trying to build 64-bit dmd on Windows. It wasn't fun. "Isn't it just make -f win64.mak?", I hear you ask. Yes. If you want a version with debug messages turned on. It took me 45min to learn that disabling those is... non-trivial. I realize you all must be sick of me by now, but: digger build --model=64 If you don't have Digger yet, you can run it straight from Dub: dub fetch digger dub run digger -- build --model=64 I keep forgetting about digger for some reason. Unfortunately the command above produced a 32-bit dmd. 64-bit druntime and phobos, but 32-bit dmd. Atila
Re: Why is 64-bit dmd not built as part of the Windows release?
On Tuesday, 15 May 2018 at 16:01:28 UTC, Atila Neves wrote: I just spent 45min trying to build 64-bit dmd on Windows. It wasn't fun. "Isn't it just make -f win64.mak?", I hear you ask. Yes. If you want a version with debug messages turned on. It took me 45min to learn that disabling those is... non-trivial. I realize you all must be sick of me by now, but: digger build --model=64 If you don't have Digger yet, you can run it straight from Dub: dub fetch digger dub run digger -- build --model=64
Re: Why is 64-bit dmd not built as part of the Windows release?
On Wednesday, 16 May 2018 at 11:21:21 UTC, Atila Neves wrote: On Tuesday, 15 May 2018 at 19:41:25 UTC, Rubn wrote: On Tuesday, 15 May 2018 at 16:01:28 UTC, Atila Neves wrote: [...] Which DMD version are you using to compile with? There was an issue in DMD a while back that prevented the 64-bit version from being compiled. Yah I have no idea how making the installer works but it obviously isn't a works by default and needs to be built in a certain environment. There isn't any documentation on this as far as I know. What I do is just grab what is built from appveyor and replace the dmd.exe that was installed using the installer. Worked a while back not sure if that's still the case: https://ci.appveyor.com/project/greenify/dmd/build/artifacts So... funny story. I did that and started randomly getting `dmd.exe failed with exit code -1073741819` error messages. Which just happens to be what I was seeing when I built it myself and tried using `-O` or removing `-debug`. So at least it's consistent? Atila Yah I think it was something like that, I'm using 32-bit so it has probably been like that for a while. Doesn't help that there is very little testing on Windows. There is testing done to make sure DMD works compiling several projects, but that's only done on Linux and not Windows/OSX.
Re: Why is 64-bit dmd not built as part of the Windows release?
On Tuesday, 15 May 2018 at 19:41:25 UTC, Rubn wrote: On Tuesday, 15 May 2018 at 16:01:28 UTC, Atila Neves wrote: [...] Which DMD version are you using to compile with? There was an issue in DMD a while back that prevented the 64-bit version from being compiled. Yah I have no idea how making the installer works but it obviously isn't a works by default and needs to be built in a certain environment. There isn't any documentation on this as far as I know. What I do is just grab what is built from appveyor and replace the dmd.exe that was installed using the installer. Worked a while back not sure if that's still the case: https://ci.appveyor.com/project/greenify/dmd/build/artifacts So... funny story. I did that and started randomly getting `dmd.exe failed with exit code -1073741819` error messages. Which just happens to be what I was seeing when I built it myself and tried using `-O` or removing `-debug`. So at least it's consistent? Atila
Re: Why is 64-bit dmd not built as part of the Windows release?
On Tue, 2018-05-15 at 22:07 +, Atila Neves via Digitalmars-d wrote: > On Tuesday, 15 May 2018 at 17:40:46 UTC, 12345swordy wrote: > > On Tuesday, 15 May 2018 at 16:01:28 UTC, Atila Neves wrote: > > > [...] > > > > Wait, dmd doesn't use cmake to generate the makefile!? IMO this > > is the reason why configuration tools like cmake exist. > > CMake? Hah, no. They're hand crafted Makefiles written with > quills. Crickey, I thought they had been carved into the fabric of the Universe using stone tools. ;-) -- Russel. == Dr Russel Winder t: +44 20 7585 2200 41 Buckmaster Roadm: +44 7770 465 077 London SW11 1EN, UK w: www.russel.org.uk signature.asc Description: This is a digitally signed message part
Re: Why is 64-bit dmd not built as part of the Windows release?
On Tue, 2018-05-15 at 17:40 +, 12345swordy via Digitalmars-d wrote: > […] > Wait, dmd doesn't use cmake to generate the makefile!? IMO this > is the reason why configuration tools like cmake exist. Last time I mentioned updating any build systems in the D-verse, some people mentioned "try it and lets see" which is sensible, but most people said effectively "Make is the pinnacle of build you cannot dare suggest it is not the right tool for the job." which put me off sufficient to stop thinking about it. Then we had the CMake/Meson/Reggae/Dub/SCons debate and it descended into a thread with so many not-relabelled sub-threads, and so long, I gave up. It seems whilst there are some people wanting to update the build, it generates sufficient noise that no-one individual or small group can be bothered to push through the inertia. CMake could do the job despite being horrible. Meson is probably a better tool but it involves Ninja not Make. Reggae could do the job but suffers from not being a build tool in the top club, i.e. people do not think of it as an option since it has little traction. I am not sure if Dub could do the job. SCons could but I am probably one of the few in the D community who like it. So as always inertia and the status quo win. PS Given that I now mostly do Rust/Cargo/GTK/GStreamer stuff, I have stopped thinking about ways of doing builds of D codebases not using Dub, Scons, or Meson. It does make me wish Dub was more like Cargo than it is. -- Russel. == Dr Russel Winder t: +44 20 7585 2200 41 Buckmaster Roadm: +44 7770 465 077 London SW11 1EN, UK w: www.russel.org.uk signature.asc Description: This is a digitally signed message part
Re: Why is 64-bit dmd not built as part of the Windows release?
On 5/15/2018 3:13 PM, Atila Neves wrote: I'm sure there's a good reason why there's no pre-built 64-bit dmd for Windows, I just don't know what it is. Part of it is there was no Win64 bit code generation capability for quite a while. Then there was the issue of VC not supporting 80 bit reals. But I think these are resolved now.
Re: Why is 64-bit dmd not built as part of the Windows release?
On 5/15/2018 3:15 PM, Atila Neves wrote: https://issues.dlang.org/show_bug.cgi?id=18864 :-)
Re: Why is 64-bit dmd not built as part of the Windows release?
On Tuesday, 15 May 2018 at 19:43:25 UTC, Walter Bright wrote: On 5/15/2018 9:01 AM, Atila Neves wrote: I just spent 45min trying to build 64-bit dmd on Windows. It wasn't fun. Please file this post on bugzilla. https://issues.dlang.org/show_bug.cgi?id=18864
Re: Why is 64-bit dmd not built as part of the Windows release?
On Tuesday, 15 May 2018 at 19:54:03 UTC, Ethan Watson wrote: On Tuesday, 15 May 2018 at 16:01:28 UTC, Atila Neves wrote: Isn't it just make -f win64.mak?", I hear you ask. I wouldn't ask that. Every time I need a 64-bit dmd, I open the project in src/vcbuild and let Visual Studio and Visual D take care of it. Unfortunately, that doesn't work so well when one is trying to automate the provisioning of a Windows dev/CI box from scratch. I guess I could try msbuild on it... But I agree with the subject entirely. 64-bit DMD is absolutely required for my own usage. The Linux platforms have i386/x64 downloads. OSX is going 64-bit only. Having both packages available for Windows would be much appreciated. I'm sure there's a good reason why there's no pre-built 64-bit dmd for Windows, I just don't know what it is.
Re: Why is 64-bit dmd not built as part of the Windows release?
On Tuesday, 15 May 2018 at 19:41:25 UTC, Rubn wrote: On Tuesday, 15 May 2018 at 16:01:28 UTC, Atila Neves wrote: [...] Which DMD version are you using to compile with? dmd 2.080.0 installed today. Yah I have no idea how making the installer works I know how it works, I just don't know how it built the dmd that it packaged. but it obviously isn't a works by default and needs to be built in a certain environment. There isn't any documentation on this as far as I know. Martin posted somewhere about what was needed to build the installer. I can't remember where though, and it wouldn't be trivial to reproduce, let alone automate. In any case, I can't build it myself to find out. What I do is just grab what is built from appveyor and replace the dmd.exe that was installed using the installer. Worked a while back not sure if that's still the case: https://ci.appveyor.com/project/greenify/dmd/build/artifacts I didn't know that was a thing - it might just be the way forward. Thanks! Atila
Re: Why is 64-bit dmd not built as part of the Windows release?
On Tuesday, 15 May 2018 at 18:20:29 UTC, Stefan Koch wrote: On Tuesday, 15 May 2018 at 16:01:28 UTC, Atila Neves wrote: I don't know why even bother with 32-bit dmd to begin with, but at least there should be an option. [...] You need to do make clean. As the backend build with debug symbols will be ABI incompatible to the release frontend. make clean on a just-cloned git repo?
Re: Why is 64-bit dmd not built as part of the Windows release?
On Tuesday, 15 May 2018 at 17:40:46 UTC, 12345swordy wrote: On Tuesday, 15 May 2018 at 16:01:28 UTC, Atila Neves wrote: [...] Wait, dmd doesn't use cmake to generate the makefile!? IMO this is the reason why configuration tools like cmake exist. CMake? Hah, no. They're hand crafted Makefiles written with quills.
Re: Why is 64-bit dmd not built as part of the Windows release?
On Tuesday, 15 May 2018 at 16:01:28 UTC, Atila Neves wrote: I don't know why even bother with 32-bit dmd to begin with, but at least there should be an option. I just spent 45min trying to build 64-bit dmd on Windows. It wasn't fun. "Isn't it just make -f win64.mak?", I hear you ask. Yes. If you want a version with debug messages turned on. It took me 45min to learn that disabling those is... non-trivial. As it turns out, trying to build dmd yourself from the released tag and replacing the .exe from the installer by the one you created works, unless: 1. You remove -debug 2. You add -O If you do #1 or #2, then the produced dmd.exe doesn't work. At all. 32 *or* 64 bits. And this is something you need to edit the makefile for, trying to do that from the command line was an exercise in futility. "How does the installer-built version work then?", I again hear you ask. No idea. Debug 64-bit dmd it is! I *would* try and add a 64-bit dmd to the installer, but apparently to build the Windows installer you need a special Windows box commisioned by the Vatican and blessed by the Pope himself. Atila I haven't tried 64-bit builds in awhile, but every time I try to build on Windows I run into some new issue that I have to work through. Just recently there was a check added to the build process which fails if there are Windows line endings in any source files, which IMO is insane since you're just building, not committing.
Re: Why is 64-bit dmd not built as part of the Windows release?
On Tuesday, 15 May 2018 at 16:01:28 UTC, Atila Neves wrote: Isn't it just make -f win64.mak?", I hear you ask. I wouldn't ask that. Every time I need a 64-bit dmd, I open the project in src/vcbuild and let Visual Studio and Visual D take care of it. But I agree with the subject entirely. 64-bit DMD is absolutely required for my own usage. The Linux platforms have i386/x64 downloads. OSX is going 64-bit only. Having both packages available for Windows would be much appreciated.
Re: Why is 64-bit dmd not built as part of the Windows release?
On Tuesday, 15 May 2018 at 16:01:28 UTC, Atila Neves wrote: I don't know why even bother with 32-bit dmd to begin with, but at least there should be an option. I just spent 45min trying to build 64-bit dmd on Windows. It wasn't fun. "Isn't it just make -f win64.mak?", I hear you ask. Yes. If you want a version with debug messages turned on. It took me 45min to learn that disabling those is... non-trivial. As it turns out, trying to build dmd yourself from the released tag and replacing the .exe from the installer by the one you created works, unless: 1. You remove -debug 2. You add -O If you do #1 or #2, then the produced dmd.exe doesn't work. At all. 32 *or* 64 bits. And this is something you need to edit the makefile for, trying to do that from the command line was an exercise in futility. "How does the installer-built version work then?", I again hear you ask. No idea. Debug 64-bit dmd it is! I *would* try and add a 64-bit dmd to the installer, but apparently to build the Windows installer you need a special Windows box commisioned by the Vatican and blessed by the Pope himself. Atila Which DMD version are you using to compile with? There was an issue in DMD a while back that prevented the 64-bit version from being compiled. Yah I have no idea how making the installer works but it obviously isn't a works by default and needs to be built in a certain environment. There isn't any documentation on this as far as I know. What I do is just grab what is built from appveyor and replace the dmd.exe that was installed using the installer. Worked a while back not sure if that's still the case: https://ci.appveyor.com/project/greenify/dmd/build/artifacts
Re: Why is 64-bit dmd not built as part of the Windows release?
On 5/15/2018 9:01 AM, Atila Neves wrote: I just spent 45min trying to build 64-bit dmd on Windows. It wasn't fun. Please file this post on bugzilla.
Re: Why is 64-bit dmd not built as part of the Windows release?
On Tuesday, 15 May 2018 at 16:01:28 UTC, Atila Neves wrote: I don't know why even bother with 32-bit dmd to begin with, but at least there should be an option. [...] You need to do make clean. As the backend build with debug symbols will be ABI incompatible to the release frontend.
Re: Why is 64-bit dmd not built as part of the Windows release?
On Tuesday, 15 May 2018 at 16:01:28 UTC, Atila Neves wrote: I don't know why even bother with 32-bit dmd to begin with, but at least there should be an option. [...] Far as I know VS project shoukd build x64 version just fine with MS C++ compiler. Used to be that way a couple years ago. As it turns out, trying to build dmd yourself from the released tag and replacing the .exe from the installer by the one you created works, unless: [...]
Re: Why is 64-bit dmd not built as part of the Windows release?
On Tuesday, 15 May 2018 at 16:01:28 UTC, Atila Neves wrote: I don't know why even bother with 32-bit dmd to begin with, but at least there should be an option. I just spent 45min trying to build 64-bit dmd on Windows. It wasn't fun. "Isn't it just make -f win64.mak?", I hear you ask. Yes. If you want a version with debug messages turned on. It took me 45min to learn that disabling those is... non-trivial. As it turns out, trying to build dmd yourself from the released tag and replacing the .exe from the installer by the one you created works, unless: 1. You remove -debug 2. You add -O If you do #1 or #2, then the produced dmd.exe doesn't work. At all. 32 *or* 64 bits. And this is something you need to edit the makefile for, trying to do that from the command line was an exercise in futility. "How does the installer-built version work then?", I again hear you ask. No idea. Debug 64-bit dmd it is! I *would* try and add a 64-bit dmd to the installer, but apparently to build the Windows installer you need a special Windows box commisioned by the Vatican and blessed by the Pope himself. Atila Wait, dmd doesn't use cmake to generate the makefile!? IMO this is the reason why configuration tools like cmake exist.
Why is 64-bit dmd not built as part of the Windows release?
I don't know why even bother with 32-bit dmd to begin with, but at least there should be an option. I just spent 45min trying to build 64-bit dmd on Windows. It wasn't fun. "Isn't it just make -f win64.mak?", I hear you ask. Yes. If you want a version with debug messages turned on. It took me 45min to learn that disabling those is... non-trivial. As it turns out, trying to build dmd yourself from the released tag and replacing the .exe from the installer by the one you created works, unless: 1. You remove -debug 2. You add -O If you do #1 or #2, then the produced dmd.exe doesn't work. At all. 32 *or* 64 bits. And this is something you need to edit the makefile for, trying to do that from the command line was an exercise in futility. "How does the installer-built version work then?", I again hear you ask. No idea. Debug 64-bit dmd it is! I *would* try and add a 64-bit dmd to the installer, but apparently to build the Windows installer you need a special Windows box commisioned by the Vatican and blessed by the Pope himself. Atila
Re: DMD 64-bit Windows
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)
Re: DMD 64-bit Windows
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.
Re: DMD 64-bit Windows
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.
Re: DMD 64-bit Windows
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.
Re: DMD 64-bit Windows
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.
Re: DMD 64-bit Windows
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.
Re: DMD 64-bit Windows
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
Re: DMD 64-bit Windows
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.
Re: DMD 64-bit Windows
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 :)
Re: DMD 64-bit Windows
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.
Re: DMD 64-bit Windows
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
DMD 64-bit Windows
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
Re: Can someone give me simple instructions on how to build 64-bit DMD using Visual Studio?
Clone DMD, make sure you have the *latest* VisualD installed (https://github.com/D-Programming-Language/visuald/releases), open src\vcbuild\dmd.sln, build. I use VS2015. YMMV ;) On 31 January 2016 at 08:59, Akira1364 via Digitalmars-d wrote: > I've read through the available documentation, but it's all incredibly brief > and vague. What file specifically do I need to edit to point to my Visual > Studio instance? Should I use Win32.mak, or the "VCBUILD" solution? > E.t.c.
Can someone give me simple instructions on how to build 64-bit DMD using Visual Studio?
I've read through the available documentation, but it's all incredibly brief and vague. What file specifically do I need to edit to point to my Visual Studio instance? Should I use Win32.mak, or the "VCBUILD" solution? E.t.c.
Re: 64-bit DMD .exe for windows?
On Sunday, 14 June 2015 at 04:09:56 UTC, E.S. Quinn wrote: I've got a project that, due to extensive use of LuaD conversions, templates with a lot of parameters, and CTFE, has managed to require >4gb of ram to compile. Which means that, for the moment, I can't build on windows as the dmd compiler is a 32-bit executable and throws an out of memory error. Is there any chance that we could publish a win64 build of dmd.exe? Yes, I had the same problem. Instructions are here: https://github.com/etcimon/botan/blob/master/dmd64_build_instructions.txt
64-bit DMD .exe for windows?
I've got a project that, due to extensive use of LuaD conversions, templates with a lot of parameters, and CTFE, has managed to require >4gb of ram to compile. Which means that, for the moment, I can't build on windows as the dmd compiler is a 32-bit executable and throws an out of memory error. Is there any chance that we could publish a win64 build of dmd.exe?
Re: phobos and 64-bit real, anybody testing?
On Monday, 26 January 2015 at 20:04:46 UTC, Johannes Pfau wrote: I run the tests for GDC on ARM/linux soft and hardfloat 64 bit. All modules except gammafunction should pass. gammafunction was never ported to 64bit reals and I asked about it multiple times on the newsgroup but nobody cared. I also filed a bug report: https://issues.dlang.org/show_bug.cgi?id=13032 So as far as I'm concerned gammafunction is unmaintained and broken :-( However, other modules should work (at least with GDC as there's some GDC-specific inline asm). Thanks! This info helps much.
Re: phobos and 64-bit real, anybody testing?
On Monday, 26 January 2015 at 17:36:05 UTC, Andrei Alexandrescu wrote: On 1/26/15 8:49 AM, Dan Olson wrote: A question for the floating point experts. Do phobos unittests get run on any architectures with 64-bit reals? Would OSX be that? -- Andrei It is mostly x86 80-bit reals these days.
Re: phobos and 64-bit real, anybody testing?
Am Mon, 26 Jan 2015 08:49:56 -0800 schrieb Dan Olson : > A question for the floating point experts. Do phobos unittests get > run on any architectures with 64-bit reals? I would like to know if > there are known failures. > > I have identified all the phobos unittest failures on ARMv7 iOS and > commented out failing asserts so that the remainder of the module > unittests could pass. An example where there are many failed tests is > std.internal.math.gammafunction where a nan is produced but a valid > value is expected. Other times the computed result is completely > different from what is expected. Note that for ARM I am clearing > "Flush to Zero" and "Default NaN" modes in fpscr which helps pass > many other tests. Normally these modes are enabled for iOS. Also, > iOS uses float-abi=softfp. > -- > Dan I run the tests for GDC on ARM/linux soft and hardfloat 64 bit. All modules except gammafunction should pass. gammafunction was never ported to 64bit reals and I asked about it multiple times on the newsgroup but nobody cared. I also filed a bug report: https://issues.dlang.org/show_bug.cgi?id=13032 So as far as I'm concerned gammafunction is unmaintained and broken :-( However, other modules should work (at least with GDC as there's some GDC-specific inline asm).
Re: phobos and 64-bit real, anybody testing?
On 1/26/15 8:49 AM, Dan Olson wrote: A question for the floating point experts. Do phobos unittests get run on any architectures with 64-bit reals? Would OSX be that? -- Andrei
Re: phobos and 64-bit real, anybody testing?
On Monday, 26 January 2015 at 16:49:57 UTC, Dan Olson wrote: different from what is expected. Note that for ARM I am clearing "Flush to Zero" and "Default NaN" modes in fpscr which helps pass many other tests. I think NEON (SIMD) code will always flush to zero, so IEEE compatibility for denormal numbers prevent using SIMD...?
phobos and 64-bit real, anybody testing?
A question for the floating point experts. Do phobos unittests get run on any architectures with 64-bit reals? I would like to know if there are known failures. I have identified all the phobos unittest failures on ARMv7 iOS and commented out failing asserts so that the remainder of the module unittests could pass. An example where there are many failed tests is std.internal.math.gammafunction where a nan is produced but a valid value is expected. Other times the computed result is completely different from what is expected. Note that for ARM I am clearing "Flush to Zero" and "Default NaN" modes in fpscr which helps pass many other tests. Normally these modes are enabled for iOS. Also, iOS uses float-abi=softfp. -- Dan
Re: What is the status of 64-bit development on Windows?
On Friday, 24 October 2014 at 18:14:18 UTC, ixid wrote: On Monday, 20 October 2014 at 21:05:33 UTC, Joakim wrote: On Monday, 20 October 2014 at 20:28:03 UTC, katuday wrote: I am confused. Microsoft C/C++ tool chain is required in order to use dmd? How? For 32-bit compilation, no, no additional download is necessary. For 64-bit, you need the Microsoft COFF linker and C runtime. The installer will try to automatically configure dmd to use those if you have them already. Have you tried it? Using Win64 from the zip file will require some manual configuration, similar to these somewhat outdated instructions on the wiki: http://wiki.dlang.org/Installing_DMD_on_64-bit_Windows_7_(COFF-compatible) There is also experimental support for 32-bit COFF in the latest git HEAD. :) That currently says it has no text. This is frustrating trying to get 64 bit DMD to work, it really needs to be easier. You need to append a ")", the forum software doesn't see it as part of the link.
Re: What is the status of 64-bit development on Windows?
On Monday, 20 October 2014 at 21:05:33 UTC, Joakim wrote: On Monday, 20 October 2014 at 20:28:03 UTC, katuday wrote: I am confused. Microsoft C/C++ tool chain is required in order to use dmd? How? For 32-bit compilation, no, no additional download is necessary. For 64-bit, you need the Microsoft COFF linker and C runtime. The installer will try to automatically configure dmd to use those if you have them already. Have you tried it? Using Win64 from the zip file will require some manual configuration, similar to these somewhat outdated instructions on the wiki: http://wiki.dlang.org/Installing_DMD_on_64-bit_Windows_7_(COFF-compatible) There is also experimental support for 32-bit COFF in the latest git HEAD. :) That currently says it has no text. This is frustrating trying to get 64 bit DMD to work, it really needs to be easier.
Re: What is the status of 64-bit development on Windows?
On Tuesday, 21 October 2014 at 00:04:50 UTC, Brad Anderson wrote: On Monday, 20 October 2014 at 21:05:33 UTC, Joakim wrote: For 32-bit compilation, no, no additional download is necessary. For 64-bit, you need the Microsoft COFF linker and C runtime. The installer will try to automatically configure dmd to use those if you have them already. Have you tried it? Just to add to this, use `dmd source.d -m64` to try it out and see if you're already configured and ready to go. I got it! Perfect.
Re: What is the status of 64-bit development on Windows?
On Monday, 20 October 2014 at 21:05:33 UTC, Joakim wrote: For 32-bit compilation, no, no additional download is necessary. For 64-bit, you need the Microsoft COFF linker and C runtime. The installer will try to automatically configure dmd to use those if you have them already. Have you tried it? Just to add to this, use `dmd source.d -m64` to try it out and see if you're already configured and ready to go.
Re: What is the status of 64-bit development on Windows?
On Monday, 20 October 2014 at 20:28:03 UTC, katuday wrote: I am confused. Microsoft C/C++ tool chain is required in order to use dmd? How? For 32-bit compilation, no, no additional download is necessary. For 64-bit, you need the Microsoft COFF linker and C runtime. The installer will try to automatically configure dmd to use those if you have them already. Have you tried it? Using Win64 from the zip file will require some manual configuration, similar to these somewhat outdated instructions on the wiki: http://wiki.dlang.org/Installing_DMD_on_64-bit_Windows_7_(COFF-compatible) There is also experimental support for 32-bit COFF in the latest git HEAD. :)
Re: What is the status of 64-bit development on Windows?
On Monday, 20 October 2014 at 19:04:15 UTC, Joakim wrote: On Monday, 20 October 2014 at 18:36:20 UTC, katuday wrote: I am new to D. Where do I get a D compiler to build 64-bit binaries on Windows 7? Searching the forum shows 64-bit support on Windows as work-in-progress in 2013. Is this still the case? Thanks. Win64 is pretty well-supported for some time now, though you have to install the MSVC toolchain to use it. The download page was updated a couple months ago in a confusing way, all dmd compilers support 64-bit compilation: https://github.com/D-Programming-Language/dlang.org/pull/593/files What the download page means to say is that there's no 64-bit dmd binary for Windows, but the 32-bit dmd binary will compile D source into 64-bit Windows code also. I'd submit a pull to make this clear, but I'm not sure where it should go on the page. It should be fixed. I am confused. Microsoft C/C++ tool chain is required in order to use dmd? How? I do have several MS Visual C++ compilers including the latest (2013) but am not sure how I am supposed to used them alongside dmd.
Re: What is the status of 64-bit development on Windows?
On Monday, 20 October 2014 at 18:36:20 UTC, katuday wrote: I am new to D. Where do I get a D compiler to build 64-bit binaries on Windows 7? Searching the forum shows 64-bit support on Windows as work-in-progress in 2013. Is this still the case? Thanks. Win64 is pretty well-supported for some time now, though you have to install the MSVC toolchain to use it. The download page was updated a couple months ago in a confusing way, all dmd compilers support 64-bit compilation: https://github.com/D-Programming-Language/dlang.org/pull/593/files What the download page means to say is that there's no 64-bit dmd binary for Windows, but the 32-bit dmd binary will compile D source into 64-bit Windows code also. I'd submit a pull to make this clear, but I'm not sure where it should go on the page. It should be fixed.
What is the status of 64-bit development on Windows?
I am new to D. Where do I get a D compiler to build 64-bit binaries on Windows 7? Searching the forum shows 64-bit support on Windows as work-in-progress in 2013. Is this still the case? Thanks.
Re: 64-bit DMD for windows?
On 30.07.2014 21:46, Trass3r wrote: Is there a PR now? There is now: https://github.com/D-Programming-Language/dmd/pull/3843
Re: 64-bit DMD for windows?
Is there a PR now?
Re: 64-bit DWT & Windows static libs
On 23/07/14 03:01, Mike wrote: DMD redistributes some of them, but does Digital Mars have a unique agreement with Microsoft? I think they have an agreement to redistribute these libraries. Walter knows the answer to this. -- /Jacob Carlborg
Re: 64-bit DWT & Windows static libs
On Wednesday, 23 July 2014 at 02:49:31 UTC, Rikki Cattermole wrote: You shouldn't need to find them. They are provided with the MSVC tool chain. So as long as DMD is set up for 64bit, it should just link. Thanks Rikki, I'm aware of that, but my question is about the current DWT distribution. Right now, these files are distributed with DWT (https://github.com/d-widget-toolkit/org.eclipse.swt.win32.win32.x86/tree/master/lib). The DWT build script links to these files, not the ones distributed with DMD. According to my interpretation of http://go.microsoft.com/fwlink/?LinkId=294840... Subject to the license terms for the software, the .lib files under the following directories may be distributed unmodified when built as part of your program: Program Files\Windows Kits\8.1\Lib\winv6.3\um\x86 Program Files\Windows Kits\8.1\Lib\winv6.3\um\x64 Program Files\Windows Kits\8.1\Lib\winv6.3\um\arm ... the lib files must be compiled into the user's binary. I need to reconcile if DWT is adhering to the redistribution license. Knowing how Digital Mars justifies redistribution of these file with DMD will help me reach a conclusion. Mike
Re: 64-bit DWT & Windows static libs
On 23/07/2014 1:01 p.m., Mike wrote: On Tuesday, 22 July 2014 at 22:53:52 UTC, Mike wrote: I'm investigating what it will take to port DWT to 64-bit. For Windows, it looks like I will need 64-bit versions of the static libs here: https://github.com/d-widget-toolkit/org.eclipse.swt.win32.win32.x86/tree/master/lib (ole32.lib, msimg32.lib, etc...) I have several different versions of these files on my computer, but does anyone know what the true source of these files is. Is there a re-distributable or runtime from Microsoft that has these files? Thanks for the help? Mike Well, it looks like these files are in the Windows SDK. That leaves me wondering about another question, though: Are these static libs legally redistributable? They are listed in the SDK's redist.txt, but only if compiled with in a user binary. DMD redistributes some of them, but does Digital Mars have a unique agreement with Microsoft? Again, thanks for any help answering these questions. Mike You shouldn't need to find them. They are provided with the MSVC tool chain. So as long as DMD is set up for 64bit, it should just link.
Re: 64-bit DWT & Windows static libs
On Tuesday, 22 July 2014 at 22:53:52 UTC, Mike wrote: I'm investigating what it will take to port DWT to 64-bit. For Windows, it looks like I will need 64-bit versions of the static libs here: https://github.com/d-widget-toolkit/org.eclipse.swt.win32.win32.x86/tree/master/lib (ole32.lib, msimg32.lib, etc...) I have several different versions of these files on my computer, but does anyone know what the true source of these files is. Is there a re-distributable or runtime from Microsoft that has these files? Thanks for the help? Mike Well, it looks like these files are in the Windows SDK. That leaves me wondering about another question, though: Are these static libs legally redistributable? They are listed in the SDK's redist.txt, but only if compiled with in a user binary. DMD redistributes some of them, but does Digital Mars have a unique agreement with Microsoft? Again, thanks for any help answering these questions. Mike
64-bit DWT & Windows static libs
I'm investigating what it will take to port DWT to 64-bit. For Windows, it looks like I will need 64-bit versions of the static libs here: https://github.com/d-widget-toolkit/org.eclipse.swt.win32.win32.x86/tree/master/lib (ole32.lib, msimg32.lib, etc...) I have several different versions of these files on my computer, but does anyone know what the true source of these files is. Is there a re-distributable or runtime from Microsoft that has these files? Thanks for the help? Mike
Re: 64-bit DMD for windows?
On 22.05.2014 09:45, Kagamin wrote: On Thursday, 22 May 2014 at 06:28:14 UTC, Joakim wrote: On Thursday, 22 May 2014 at 06:16:54 UTC, Rainer Schuetze wrote: I recently considered making a pull request, but noticed an include dependency that failed to work for another PR, and got distracted. The updated compiler patches are here: https://github.com/rainers/dmd/tree/coff32 I think this is a really important pull for win32 support, still the most widely used platform on which D is available. Not everybody has the source for outside libraries or the time and inclination to recompile it to OMF using the Digital Mars toolchain. I think it would really help D to get this pull in soon. How would it work? Will it link D code with snn, msvcrt or both? It is supposed to link against MSVCRT. The druntime/phobos patches are here, though I'm expecting some discussions about used version identifiers: https://github.com/rainers/druntime/tree/coff32 https://github.com/rainers/phobos/tree/coff32
Re: 64-bit DMD for windows?
On 22.05.2014 09:04, Manu via Digitalmars-d wrote: On 22 May 2014 16:28, Joakim via Digitalmars-d wrote: On Thursday, 22 May 2014 at 06:16:54 UTC, Rainer Schuetze wrote: I recently considered making a pull request, but noticed an include dependency that failed to work for another PR, and got distracted. The updated compiler patches are here: https://github.com/rainers/dmd/tree/coff32 I think this is a really important pull for win32 support, still the most widely used platform on which D is available. Not everybody has the source for outside libraries or the time and inclination to recompile it to OMF using the Digital Mars toolchain. I think it would really help D to get this pull in soon. Yeah, it's a gigantic hole, and your work looks like it's almost there. Do you have any idea about the x64 SSE support and supporting that on x86 as well? Difficult? Practical? I don't know, will have to look into that. I always wondered why it isn't supported by x86 to start with.
Re: 64-bit DMD for windows?
On 23 May 2014 01:45, Anonymous via Digitalmars-d wrote: > With VS2013 installed, I had an issue with the DMD installer's > config. mspdb*.dll are located in VC/bin, not VC/bin/x86_amd64, > and using -m64 caused a linker error. Adding %VCINSTALLDIR%\bin > to sc.ini's PATH fixed the problem and produced a working hello > world with -m64. The installer needs to be updated to be aware of VS2013's pathing. Bug it?
Re: 64-bit DMD for windows?
With VS2013 installed, I had an issue with the DMD installer's config. mspdb*.dll are located in VC/bin, not VC/bin/x86_amd64, and using -m64 caused a linker error. Adding %VCINSTALLDIR%\bin to sc.ini's PATH fixed the problem and produced a working hello world with -m64.
Re: 64-bit DMD for windows?
On 21/05/2014 05:34, Manu via Digitalmars-d wrote: On 21 May 2014 13:45, Temtaime via Digitalmars-d wrote: Yes, DMD uses ld on linux. It's OK because there is no other linker. And it's system's default. Everybody(almost) have GCC. But on windows.. MSVS is external IDE and toolset. Some people yes they uses MinGW. Why ? MSVS has some disadvantages for me for example it's poor C++11 support. So it's useless in my work. So for compile 64 app with DMD one must download dmd(~20 MB) and install MSVS(~2 GB). I think dmd should work out of the box isn't it ? It's still the standard on the platform. Interoperation with other libraries/code typically demands MSVC compatibility. I don't know how any large-scale Windows developers can avoid this practical reality? On the plus side, there is a recent push to get Clang/LLVM properly compatible with MSVC. When that happens, we should be able to rely on Clang+LDC for all windows needs. And what about other compilers ? Latest LDC for example uses 064 frontend. It's outdated for me because of bugs. I cannot ever compile my app now with it. With GDC it's alto difficult to get luck. Poke the GDC/LDC guys? It would certainly be nice if those toolchains were more reliably up-to-date, but the sad truth is, those who use MinGW on windows are in the severe minority, so there's probably not so much motivation. LDC on MingW doesn't seem to support debugging at all, and that's because of a LLVM issue, not LDC, so it doesn't matter how much LDC is up to date or not. According to Kai, "LLVM on MinGW is not very well tested." I had better hopes for GDC, and did poke the GDC guys (even put a bounty up - not that I think that amount of money would make any significant difference - it was more to show I really cared about this issue). But it seems GDC on Windows is not properly supported either (news://news.digitalmars.com:119/lkdnrr$j43$1...@digitalmars.com). It's not just an issue of build scripts and compiling binary releases, as I initially thought. Like you said, those like me, who use MinGW on Windows seem to be a severe minority. Having Clang/LLVM support MSVC toolchain would be great. And it would be *magnificent* if that included LLDB support! The reason I prefer MinGW on Windows is so that I can use a half-decent, open-source debugger. -- Bruno Medeiros https://twitter.com/brunodomedeiros
Re: 64-bit DMD for windows?
On 22 May 2014 20:37, Kagamin via Digitalmars-d wrote: > Ah, ok, but druntime and phobos are compiled to link with snn, which has > functions absent in msvcrt like snvprintf and long double math functions. That doesn't seem to bother Win64...
Re: 64-bit DMD for windows?
Ah, ok, but druntime and phobos are compiled to link with snn, which has functions absent in msvcrt like snvprintf and long double math functions.
Re: 64-bit DMD for windows?
On Thursday, 22 May 2014 at 07:45:17 UTC, Kagamin wrote: On Thursday, 22 May 2014 at 06:28:14 UTC, Joakim wrote: I think this is a really important pull for win32 support, still the most widely used platform on which D is available. Not everybody has the source for outside libraries or the time and inclination to recompile it to OMF using the Digital Mars toolchain. I think it would really help D to get this pull in soon. How would it work? Will it link D code with snn, msvcrt or both? Why would you need snn at that point? It's an OMF library. You'd do the same as Win64, use msvcrt.
Re: 64-bit DMD for windows?
On Thursday, 22 May 2014 at 06:28:14 UTC, Joakim wrote: On Thursday, 22 May 2014 at 06:16:54 UTC, Rainer Schuetze wrote: I recently considered making a pull request, but noticed an include dependency that failed to work for another PR, and got distracted. The updated compiler patches are here: https://github.com/rainers/dmd/tree/coff32 I think this is a really important pull for win32 support, still the most widely used platform on which D is available. Not everybody has the source for outside libraries or the time and inclination to recompile it to OMF using the Digital Mars toolchain. I think it would really help D to get this pull in soon. How would it work? Will it link D code with snn, msvcrt or both?
Re: 64-bit DMD for windows?
On Wednesday, 21 May 2014 at 03:45:42 UTC, Temtaime wrote: Yes, DMD uses ld on linux. It's OK because there is no other linker. And it's system's default. Everybody(almost) have GCC. It's still an external tool, without which dmd can't work. But on windows.. MSVS is external IDE and toolset. Do you want the windows dmd installed to download and install msvc automatically for you?
Re: 64-bit DMD for windows?
On 22 May 2014 16:28, Joakim via Digitalmars-d wrote: > On Thursday, 22 May 2014 at 06:16:54 UTC, Rainer Schuetze wrote: >> >> I recently considered making a pull request, but noticed an include >> dependency that failed to work for another PR, and got distracted. The >> updated compiler patches are here: >> https://github.com/rainers/dmd/tree/coff32 > > I think this is a really important pull for win32 support, still the most > widely used platform on which D is available. Not everybody has the source > for outside libraries or the time and inclination to recompile it to OMF > using the Digital Mars toolchain. I think it would really help D to get > this pull in soon. Yeah, it's a gigantic hole, and your work looks like it's almost there. Do you have any idea about the x64 SSE support and supporting that on x86 as well? Difficult? Practical?
Re: 64-bit DMD for windows?
On Thursday, 22 May 2014 at 06:16:54 UTC, Rainer Schuetze wrote: I recently considered making a pull request, but noticed an include dependency that failed to work for another PR, and got distracted. The updated compiler patches are here: https://github.com/rainers/dmd/tree/coff32 I think this is a really important pull for win32 support, still the most widely used platform on which D is available. Not everybody has the source for outside libraries or the time and inclination to recompile it to OMF using the Digital Mars toolchain. I think it would really help D to get this pull in soon.
Re: 64-bit DMD for windows?
On 21.05.2014 14:17, Brad Anderson wrote: On Wednesday, 21 May 2014 at 03:15:34 UTC, Manu via Digitalmars-d wrote: On 21 May 2014 05:15, Temtaime via Digitalmars-d wrote: Sorry i misunderstood you. Yes dmd supports x64 on windows but it doesn't work without external tools. It's a main trouble i think. MSVC is the de facto standard toolset for Windows. How do you interoperate with any other conventional windows libraries if DMD is not MSVC compatible? This is the key development of DMD for Win64, and it's the only reason D is practically useful on Windows at all. I pine for the day that 32bit will get the same treatment. I believe Rainer did some work on extending COFF support to 32-bit. I'm not sure how far along he got. I recently considered making a pull request, but noticed an include dependency that failed to work for another PR, and got distracted. The updated compiler patches are here: https://github.com/rainers/dmd/tree/coff32
Re: 64-bit DMD for windows?
On Wednesday, 21 May 2014 at 03:15:34 UTC, Manu via Digitalmars-d wrote: On 21 May 2014 05:15, Temtaime via Digitalmars-d wrote: Sorry i misunderstood you. Yes dmd supports x64 on windows but it doesn't work without external tools. It's a main trouble i think. MSVC is the de facto standard toolset for Windows. How do you interoperate with any other conventional windows libraries if DMD is not MSVC compatible? This is the key development of DMD for Win64, and it's the only reason D is practically useful on Windows at all. I pine for the day that 32bit will get the same treatment. I believe Rainer did some work on extending COFF support to 32-bit. I'm not sure how far along he got.
Re: 64-bit DMD for windows?
On Wednesday, 21 May 2014 at 03:45:42 UTC, Temtaime wrote: Yes, DMD uses ld on linux. It's OK because there is no other linker. And it's system's default. Everybody(almost) have GCC. But on windows.. MSVS is external IDE and toolset. Some people yes they uses MinGW. Why ? MSVS has some disadvantages for me for example it's poor C++11 support. So it's useless in my work. So for compile 64 app with DMD one must download dmd(~20 MB) and install MSVS(~2 GB). I think dmd should work out of the box isn't it ? And what about other compilers ? Latest LDC for example uses 064 frontend. It's outdated for me because of bugs. I cannot ever compile my app now with it. With GDC it's alto difficult to get luck. MSVC is the OS vendor's official tooling. Like XCode/clang on Mac OS X, xlc on Aix, aC++ on HP-UX, SunPro on Solaris and so forth. -- Paulo
Re: 64-bit DMD for windows?
On 21 May 2014 13:45, Temtaime via Digitalmars-d wrote: > Yes, DMD uses ld on linux. It's OK because there is no other > linker. And it's system's default. Everybody(almost) have GCC. > > But on windows.. MSVS is external IDE and toolset. Some people > yes they uses MinGW. > Why ? MSVS has some disadvantages for me for example it's poor > C++11 support. So it's useless in my work. > > So for compile 64 app with DMD one must download dmd(~20 MB) and > install MSVS(~2 GB). > I think dmd should work out of the box isn't it ? It's still the standard on the platform. Interoperation with other libraries/code typically demands MSVC compatibility. I don't know how any large-scale Windows developers can avoid this practical reality? On the plus side, there is a recent push to get Clang/LLVM properly compatible with MSVC. When that happens, we should be able to rely on Clang+LDC for all windows needs. > And what about other compilers ? > Latest LDC for example uses 064 frontend. > > It's outdated for me because of bugs. I cannot ever compile my > app now with it. > With GDC it's alto difficult to get luck. Poke the GDC/LDC guys? It would certainly be nice if those toolchains were more reliably up-to-date, but the sad truth is, those who use MinGW on windows are in the severe minority, so there's probably not so much motivation.
Re: 64-bit DMD for windows?
Yes, DMD uses ld on linux. It's OK because there is no other linker. And it's system's default. Everybody(almost) have GCC. But on windows.. MSVS is external IDE and toolset. Some people yes they uses MinGW. Why ? MSVS has some disadvantages for me for example it's poor C++11 support. So it's useless in my work. So for compile 64 app with DMD one must download dmd(~20 MB) and install MSVS(~2 GB). I think dmd should work out of the box isn't it ? And what about other compilers ? Latest LDC for example uses 064 frontend. It's outdated for me because of bugs. I cannot ever compile my app now with it. With GDC it's alto difficult to get luck.
Re: 64-bit DMD for windows?
On 21 May 2014 05:15, Temtaime via Digitalmars-d wrote: > Sorry i misunderstood you. > Yes dmd supports x64 on windows but it doesn't work without external tools. > It's a main trouble i think. MSVC is the de facto standard toolset for Windows. How do you interoperate with any other conventional windows libraries if DMD is not MSVC compatible? This is the key development of DMD for Win64, and it's the only reason D is practically useful on Windows at all. I pine for the day that 32bit will get the same treatment. The Microsoft linker is freely available, it produces debug output that's compatible with the majority of windows tooling, and it's generally good. If you argue that your environment is exclusive of MSVC (how so? do you use MinGW or something?), then surely the obvious thing to do is to NOT use DMD. Use GDC or LDC, which are better compilers, and link happily against MinGW code/libs. The only deficit I see in the Windows world is not having a useful Win32 compiler.
Re: 64-bit DMD for windows?
On Tuesday, 20 May 2014 at 19:15:59 UTC, Temtaime wrote: Yes dmd supports x64 on windows but it doesn't work without external tools. DMD on Linux doesn't work without external tools (system GCC/ld) either. Microsoft provides the required tools for free and they are not difficult to install, so that shouldn't really be an argument. Maybe we need to improve on the related documentation, though. Best, David
Re: 64-bit DMD for windows?
Sorry i misunderstood you. Yes dmd supports x64 on windows but it doesn't work without external tools. It's a main trouble i think.
Re: 64-bit DMD for windows?
On Tuesday, 20 May 2014 at 16:29:27 UTC, Andrej Mitrovic via Digitalmars-d wrote: On 5/20/14, Temtaime via Digitalmars-d wrote: Windows is out of favor for DMD's developers. Please stop spreading misinformation. - std.c.windows seriously outdated; third party libraries also outdated. - WinRT support non-existent, D language lacks the necessary constructs (automatic reference counting, asynchronous calls). ARM compiler not available. - 64 bit linker unavailable without Visual Studio; - Run-time library loading on Windows is bugs prone. - There is no consensus about how a GUI application must be built. Windows is by definition a GUI OS. You cannot say that you support Windows by limiting developers to build console applications only. Using third party libraries makes you think in anti-D patterns and results in big size executable files. D must first define some guidelines about a GUI application design and implement it for each OS. The Delphi or Lazarus approach can be used as a starting point.
Re: 64-bit DMD for windows?
On Tuesday, 20 May 2014 at 18:47:46 UTC, Temtaime wrote: Please don't ask useful-less questions. One can tell all the advantages of 64 bits or you can use the Wikipedia. You might want to read my response again. I specifically asked "How does the current 64 bit version of DMD fall short of your needs?". To put it in simpler terms: DMD is available for x64 Windows right now. What else do you want? David
Re: 64-bit DMD for windows?
Please don't ask useful-less questions. One can tell all the advantages of 64 bits or you can use the Wikipedia.
Re: 64-bit DMD for windows?
Why mis ? For example. Linux : DMD can use GCC libs. DMD can compile and link 64 bit app. Windows : DMD cannot use both MSVC and MinGW libs. DMD cannot link 64 apps without installed MSVS. And it's stays there for a long time.
Re: 64-bit DMD for windows?
On 5/20/14, Temtaime via Digitalmars-d wrote: > Windows is out of favor for DMD's developers. Please stop spreading misinformation.
Re: 64-bit DMD for windows?
On Monday, 19 May 2014 at 17:59:43 UTC, steven kladitis wrote: I see that this thread is over 3 years old. I am totally enjoying D. I love assembler programming. I am just dissapointed that there is simple way to compile 64 bit code as of 2014 in windows. I am still unable to compile 64 bit in windows 7 or 8. How does the current 64 bit version of DMD fall short of your needs? David
Re: 64-bit DMD for windows?
Windows is out of favor for DMD's developers.
Re: 64-bit DMD for windows?
On Wednesday, 14 May 2014 at 20:10:29 UTC, Nick Sabalausky wrote: On 5/14/2014 2:28 PM, steven kladitis wrote: On Tuesday, 13 May 2014 at 13:53:36 UTC, Manu via Digitalmars-d wrote: On 13 May 2014 23:24, steven kladitis via Digitalmars-d wrote: if the -m64 lets the compiled code use 64 bit registers and ints are now 64 bit then great! What is VC++, is it free? Pointers are 64bits. int is 32 bits, long is 64 bits. size_t is 64 bits. VC++ is Microsoft's compiler, DMD-x64 uses the de-facto standard Microsoft linker, since OPTLINK doesn't support 64bit. It is available for free. I have installed it and am still unable to compile a 64 bit D program. C:\d\dmd2\samples\d>dmd wc.d C:\d\dmd2\samples\d>dmd -m64 wc.d --- errorlevel -1073741515 If you use the Windows Installer for DMD after you've installed VC++, then it should automatically set everything up for you (I haven't tried it personally, but I know the DMD Win Installer people went to a lot of effort to make it work, so it should work). Oh, I forgot to mention, you'll also need to install the Microsoft's Windows SDK (not sure if that's automatically done when installing VC++ or not.) So after VC++ and the WinSDK are installed, then run DMD's Windows installer, and you should be good. Or you can manually setup DMD's sc.ini with the right paths to VC++ and the WinSDK (that's what I did), but it's probably easier to just run the DMD Windows Installer again after all the MS stuff is installed. I see that this thread is over 3 years old. I am totally enjoying D. I love assembler programming. I am just dissapointed that there is simple way to compile 64 bit code as of 2014 in windows. I am still unable to compile 64 bit in windows 7 or 8.
Re: 64-bit DMD for windows?
On 5/14/2014 2:28 PM, steven kladitis wrote: On Tuesday, 13 May 2014 at 13:53:36 UTC, Manu via Digitalmars-d wrote: On 13 May 2014 23:24, steven kladitis via Digitalmars-d wrote: if the -m64 lets the compiled code use 64 bit registers and ints are now 64 bit then great! What is VC++, is it free? Pointers are 64bits. int is 32 bits, long is 64 bits. size_t is 64 bits. VC++ is Microsoft's compiler, DMD-x64 uses the de-facto standard Microsoft linker, since OPTLINK doesn't support 64bit. It is available for free. I have installed it and am still unable to compile a 64 bit D program. C:\d\dmd2\samples\d>dmd wc.d C:\d\dmd2\samples\d>dmd -m64 wc.d --- errorlevel -1073741515 If you use the Windows Installer for DMD after you've installed VC++, then it should automatically set everything up for you (I haven't tried it personally, but I know the DMD Win Installer people went to a lot of effort to make it work, so it should work). Oh, I forgot to mention, you'll also need to install the Microsoft's Windows SDK (not sure if that's automatically done when installing VC++ or not.) So after VC++ and the WinSDK are installed, then run DMD's Windows installer, and you should be good. Or you can manually setup DMD's sc.ini with the right paths to VC++ and the WinSDK (that's what I did), but it's probably easier to just run the DMD Windows Installer again after all the MS stuff is installed.