Is there a dmd.exe x86_64 out there?

rikki cattermole via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Sat Jun 25 02:39:21 PDT 2016


On 25/06/2016 9:03 PM, Dlangofile wrote:
> On Saturday, 25 June 2016 at 03:29:02 UTC, rikki cattermole wrote:
>> On 25/06/2016 5:57 AM, Dlangofile wrote:
>>> Hi all,
>>>
>>> I'm building a Docker Alpine linux image with wine, for being able to
>>> forge Windows executable from my laptop, without having to dual boot.
>>>
>>> With my disappointment, I'm not able to run 32bit executable from the
>>> container right now, so the easy way is running a win64 dmd.exe: someone
>>> can point me to a pre-build executable, based on the latest version?
>>>
>>> Thanks
>>
>> Umm, x86_64 is backwards compatible with x86.
>> So if 32bit build of dmd doesn't work, you have bigger problems.
>
> Well, frankly speaking I don't know!
>
> PE32+ executable (console) x86-64, for MS Windows -> working well
> PE32 executable (console) Intel 80386, for MS Windows -> not working at all
>
> I tried also to use a WINEARCH=win32, without success: I'm attaching the
> Dockerfile at the end, if someone wants to help more on that.
>
> In the meantime, any x86-64 DMD executable?
> What's the problem in having it available by default in the Windows
> distribution?
>
> Thanks
>
> /D
>
>
> FROM alpine:3.4
> RUN apk --no-cache add wine freetype ncurses file
> ENV WINEARCH=win64
> RUN wineboot
> ADD dmd2 /dmd2
> CMD ["sh"]

We need to see any errors produced from Wine.
It is known that dmd does run under it. Which means something is wrong 
with your setup.

As I said about x86_64 being backwards compatible with x86 (you can even 
run old 386 programs on a modern day cpu, go figure) so that isn't the 
problem.

The reason why we do not provide a dmd compiled for 64bit is simply, 
32bit works in pretty much all cases. The cases it doesn't involve very 
large code bases being compiled.

The only platform this may not be true for is OSX where 32bit is long 
dead globally and 64bit is the only option. Sadly Windows and Linux 
still have 32bit cpus common in the last 10 years.

I just had a look into Wine, I'm not sure if this helps[0].
Right now you're not creating a new Wine environment or configuring it.
Otherwise, can you change over to a 32bit image instead of 64bit alpine? 
That probably will also fix it.

[0] 
https://wiki.winehq.org/FAQ#How_do_I_create_a_32_bit_wineprefix_on_a_64_bit_system.3F


More information about the Digitalmars-d-learn mailing list