Thread overview | ||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
May 15, 2018 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 |
May 15, 2018 Re: Why is 64-bit dmd not built as part of the Windows release? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Atila Neves | 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 Re: Why is 64-bit dmd not built as part of the Windows release? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Atila Neves | 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 Re: Why is 64-bit dmd not built as part of the Windows release? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Atila Neves | 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 Re: Why is 64-bit dmd not built as part of the Windows release? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Atila Neves | 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 Re: Why is 64-bit dmd not built as part of the Windows release? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Atila Neves | 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 Re: Why is 64-bit dmd not built as part of the Windows release? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Atila Neves | 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 Re: Why is 64-bit dmd not built as part of the Windows release? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Atila Neves | 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 Re: Why is 64-bit dmd not built as part of the Windows release? | ||||
---|---|---|---|---|
| ||||
Posted in reply to 12345swordy | 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 Re: Why is 64-bit dmd not built as part of the Windows release? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Stefan Koch | 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?
|
Copyright © 1999-2021 by the D Language Foundation