Jump to page: 1 2 3
Thread overview
Why is 64-bit dmd not built as part of the Windows release?
May 15, 2018
Atila Neves
May 15, 2018
12345swordy
May 15, 2018
Atila Neves
May 16, 2018
Russel Winder
May 16, 2018
Russel Winder
May 15, 2018
Dmitry Olshansky
May 15, 2018
Stefan Koch
May 15, 2018
Atila Neves
May 15, 2018
Rubn
May 15, 2018
Atila Neves
May 16, 2018
Atila Neves
May 17, 2018
Rubn
May 15, 2018
Walter Bright
May 15, 2018
Atila Neves
May 15, 2018
Walter Bright
May 15, 2018
Ethan Watson
May 15, 2018
Atila Neves
May 16, 2018
Walter Bright
May 15, 2018
Meta
May 17, 2018
Vladimir Panteleev
May 22, 2018
Atila Neves
May 22, 2018
Vladimir Panteleev
May 22, 2018
Atila Neves
May 23, 2018
Dlang User
May 23, 2018
Vladimir Panteleev
May 23, 2018
Dlang User
May 23, 2018
Vladimir Panteleev
May 23, 2018
Dlang User
May 15, 2018
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
May 15, 2018
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.
May 15, 2018
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:
>
> [...]

May 15, 2018
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.
May 15, 2018
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
May 15, 2018
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.
May 15, 2018
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.
May 15, 2018
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.
May 15, 2018
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.
May 15, 2018
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?
« First   ‹ Prev
1 2 3