If I want D on Windows XP, what can I do?
If I try download dmd it doesn't work. LDC doesn't seem to work either.
Are there any changes I have to do to make it work?
Thanks in advance!
Thread overview | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
May 02, 2021 Support Windows XP | ||||
---|---|---|---|---|
| ||||
If I want D on Windows XP, what can I do? If I try download dmd it doesn't work. LDC doesn't seem to work either. Are there any changes I have to do to make it work? Thanks in advance! |
May 02, 2021 Re: Support Windows XP | ||||
---|---|---|---|---|
| ||||
Posted in reply to Imperatorn | On Sunday, 2 May 2021 at 15:04:36 UTC, Imperatorn wrote: >If I want D on Windows XP, what can I do? If I try download dmd it doesn't work. LDC doesn't seem to work either. Are there any changes I have to do to make it work? Thanks in advance! You need to bootstrap yourself in order for it to run on dmd. Good luck. |
May 02, 2021 Re: Support Windows XP | ||||
---|---|---|---|---|
| ||||
Posted in reply to Imperatorn | On Sunday, 2 May 2021 at 15:04:36 UTC, Imperatorn wrote: >If I want D on Windows XP, what can I do? If I try download dmd it doesn't work. LDC doesn't seem to work either. Are there any changes I have to do to make it work? Thanks in advance! "Doesn't work" isn't good enough if you want anyone to help you |
May 02, 2021 Re: Support Windows XP | ||||
---|---|---|---|---|
| ||||
Posted in reply to Imperatorn | On Sunday, 2 May 2021 at 15:04:36 UTC, Imperatorn wrote: >If I want D on Windows XP, what can I do? If I try download dmd it doesn't work. LDC doesn't seem to work either. Are there any changes I have to do to make it work? Thanks in advance! I modified the PE header (set major version and subsystem to 5) and it worked 🌞 No idea how much ub this causes tho. |
May 03, 2021 Re: Support Windows XP | ||||
---|---|---|---|---|
| ||||
Posted in reply to Imperatorn | On Sunday, 2 May 2021 at 18:15:04 UTC, Imperatorn wrote: >I modified the PE header (set major version and subsystem to 5) and it worked 🌞 No idea how much ub this causes tho. Care to explain this in beginner-friendly way? I think it's likely it will help other people with same kinds of problems. DMD for Windows should work just as well in XP as in later versions, as far as I know. I don't think it depends on any functionality introduced after XP. |
May 03, 2021 Re: Support Windows XP | ||||
---|---|---|---|---|
| ||||
Posted in reply to Dukc | On Monday, 3 May 2021 at 09:53:42 UTC, Dukc wrote: >On Sunday, 2 May 2021 at 18:15:04 UTC, Imperatorn wrote: >I modified the PE header (set major version and subsystem to 5) and it worked 🌞 No idea how much ub this causes tho. Care to explain this in beginner-friendly way? I think it's likely it will help other people with same kinds of problems. DMD for Windows should work just as well in XP as in later versions, as far as I know. I don't think it depends on any functionality introduced after XP. operating system + druntime bindings might be the only issue. Support for XP was dropped because it went EOL and that's it. |
May 03, 2021 Re: Support Windows XP | ||||
---|---|---|---|---|
| ||||
Posted in reply to Dukc | On Monday, 3 May 2021 at 09:53:42 UTC, Dukc wrote: >On Sunday, 2 May 2021 at 18:15:04 UTC, Imperatorn wrote: >I modified the PE header (set major version and subsystem to 5) and it worked 🌞 No idea how much ub this causes tho. Care to explain this in beginner-friendly way? I think it's likely it will help other people with same kinds of problems. DMD for Windows should work just as well in XP as in later versions, as far as I know. I don't think it depends on any functionality introduced after XP. Sure, you can use any PE editor or even a hex editor. I used https://petoolse.github.io/petools/ Open dmd.exe and edit major version and subsystem version (change from 6 to 5). Done :) |
May 03, 2021 Re: Support Windows XP | ||||
---|---|---|---|---|
| ||||
Posted in reply to user1234 | On Monday, 3 May 2021 at 10:43:30 UTC, user1234 wrote: >On Monday, 3 May 2021 at 09:53:42 UTC, Dukc wrote: >On Sunday, 2 May 2021 at 18:15:04 UTC, Imperatorn wrote: >I modified the PE header (set major version and subsystem to 5) and it worked 🌞 No idea how much ub this causes tho. Care to explain this in beginner-friendly way? I think it's likely it will help other people with same kinds of problems. DMD for Windows should work just as well in XP as in later versions, as far as I know. I don't think it depends on any functionality introduced after XP. operating system + druntime bindings might be the only issue. Support for XP was dropped because it went EOL and that's it. Yeah, maybe, idk actually. Imo dmd should be compiled with Major version 5 :> |
May 03, 2021 Re: Support Windows XP | ||||
---|---|---|---|---|
| ||||
Posted in reply to user1234 | On 5/3/21 6:43 AM, user1234 wrote:
> On Monday, 3 May 2021 at 09:53:42 UTC, Dukc wrote:
>> On Sunday, 2 May 2021 at 18:15:04 UTC, Imperatorn wrote:
>>> I modified the PE header (set major version and subsystem to 5) and it worked 🌞
>>>
>>> No idea how much ub this causes tho.
>>
>> Care to explain this in beginner-friendly way? I think it's likely it will help other people with same kinds of problems.
>>
>> DMD for Windows should work just as well in XP as in later versions, as far as I know. I don't think it depends on any functionality introduced after XP.
>
> operating system + druntime bindings might be the only issue.
>
> Support for XP was dropped because it went EOL and that's it.
> The compiler itself just needs to read files, write files, call processes and that's it.
Typically, the reason D stops supporting older OSes is because something changes that is fundamental to the language.
My understanding is that something changed in how thread-local-storage is supported, so XP is no longer valid for the current compilers. I could be wrong, but I'm pretty sure there was a definite reason for dropping support, even if it wasn't TLS.
Of course, you can still use an older compiler.
-Steve
|
May 03, 2021 Re: Support Windows XP | ||||
---|---|---|---|---|
| ||||
Posted in reply to Steven Schveighoffer | On Monday, 3 May 2021 at 14:10:30 UTC, Steven Schveighoffer wrote:
> On 5/3/21 6:43 AM, user1234 wrote:
>> On Monday, 3 May 2021 at 09:53:42 UTC, Dukc wrote:
>>> [...]
>>
>> operating system + druntime bindings might be the only issue.
>>
>> Support for XP was dropped because it went EOL and that's it.
>> The compiler itself just needs to read files, write files, call processes and that's it.
>
> Typically, the reason D stops supporting older OSes is because something changes that is fundamental to the language.
>
> My understanding is that something changed in how thread-local-storage is supported, so XP is no longer valid for the current compilers. I could be wrong, but I'm pretty sure there was a definite reason for dropping support, even if it wasn't TLS.
>
> Of course, you can still use an older compiler.
>
> -Steve
As I said I modified the PE header and dmd seems to run without any problems.
Hard to tell what edge cases there are though.
|