digitalmars.D - Support Windows XP
- Imperatorn (5/5) May 02 2021 If I want D on Windows XP, what can I do?
- 12345swordy (3/8) May 02 2021 You need to bootstrap yourself in order for it to run on dmd.
- Max Haughton (2/7) May 02 2021 "Doesn't work" isn't good enough if you want anyone to help you
- Imperatorn (4/9) May 02 2021 I modified the PE header (set major version and subsystem to 5)
- Dukc (6/9) May 03 2021 Care to explain this in beginner-friendly way? I think it's
- user1234 (5/15) May 03 2021 operating system + druntime bindings might be the only issue.
- Imperatorn (3/20) May 03 2021 Yeah, maybe, idk actually.
- Steven Schveighoffer (9/28) May 03 2021 Typically, the reason D stops supporting older OSes is because something...
- Imperatorn (4/22) May 03 2021 As I said I modified the PE header and dmd seems to run without
- Nathan S. (6/35) May 04 2021 My recollection is that dropping official support for Windows XP
- Dennis (2/7) May 04 2021 See: https://forum.dlang.org/post/ktfgps$2ghh$1@digitalmars.com
- Imperatorn (7/17) May 03 2021 Sure, you can use any PE editor or even a hex editor.
- WebFreak001 (3/6) May 07 2021 Mirror for image for the future:
- Walter Bright (11/13) May 07 2021 XP has terrible support for thread-local storage when DLLs are involved....
- Dennis (10/14) May 07 2021 Do you have exclusions set? On Windows 10, you can go to Start >
- Walter Bright (2/13) May 12 2021 Yeah, I did the equivalent on Win7. It only reduces the problem.
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
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
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
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 02 2021
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
On Monday, 3 May 2021 at 09:53:42 UTC, Dukc wrote:On Sunday, 2 May 2021 at 18:15:04 UTC, Imperatorn 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.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
On Monday, 3 May 2021 at 10:43:30 UTC, user1234 wrote:On Monday, 3 May 2021 at 09:53:42 UTC, Dukc wrote:Yeah, maybe, idk actually. Imo dmd should be compiled with Major version 5 :>On Sunday, 2 May 2021 at 18:15:04 UTC, Imperatorn 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.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
On 5/3/21 6:43 AM, user1234 wrote:On Monday, 3 May 2021 at 09:53:42 UTC, Dukc wrote: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. -SteveOn Sunday, 2 May 2021 at 18:15:04 UTC, Imperatorn 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.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
On Monday, 3 May 2021 at 14:10:30 UTC, Steven Schveighoffer wrote:On 5/3/21 6:43 AM, user1234 wrote: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.On Monday, 3 May 2021 at 09:53:42 UTC, Dukc wrote: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[...]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.
May 03 2021
On Monday, 3 May 2021 at 14:10:30 UTC, Steven Schveighoffer wrote:On 5/3/21 6:43 AM, user1234 wrote:My recollection is that dropping official support for Windows XP was based on workload rather than any technical reason, and simultaneously that policy is to "soft support" it by accepting any patches that fix Windows XP problems and not deliberately doing things to break Windows XP.On Monday, 3 May 2021 at 09:53:42 UTC, Dukc wrote: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. -SteveOn Sunday, 2 May 2021 at 18:15:04 UTC, Imperatorn 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.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 04 2021
On Tuesday, 4 May 2021 at 11:38:50 UTC, Nathan S. wrote:My recollection is that dropping official support for Windows XP was based on workload rather than any technical reason, and simultaneously that policy is to "soft support" it by accepting any patches that fix Windows XP problems and not deliberately doing things to break Windows XP.See: https://forum.dlang.org/post/ktfgps$2ghh$1 digitalmars.com
May 04 2021
On Monday, 3 May 2021 at 09:53:42 UTC, Dukc wrote:On Sunday, 2 May 2021 at 18:15:04 UTC, Imperatorn wrote: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). https://ibb.co/0hpFmd9 Done :)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
On Monday, 3 May 2021 at 13:10:45 UTC, Imperatorn wrote:... https://ibb.co/0hpFmd9 ...Mirror for image for the future: https://i.imgur.com/lnJxwkZ.png
May 07 2021
On 5/3/2021 2:53 AM, Dukc wrote: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.XP has terrible support for thread-local storage when DLLs are involved. Other than that, it should work fine. I use XP as a test machine for the DMC++ compiler, because later versions of Windows attempt to run the virus checker every time the compiler generates an executable. Even when the damned virus checker is turned off. The trouble with the wretched virus checker is it holds on to the exe file even if it is deleted. The next write of the file with the same name then fails. DMC++ is compiled with DMD. I'm not sure which version of DMD is building it, as my code doesn't aggressively use new D features I haven't been motivated to upgrade it.
May 07 2021
On Friday, 7 May 2021 at 09:41:52 UTC, Walter Bright wrote:I use XP as a test machine for the DMC++ compiler, because later versions of Windows attempt to run the virus checker every time the compiler generates an executable. Even when the damned virus checker is turned off.Do you have exclusions set? On Windows 10, you can go to Start > Virus & Thread protection > Manage Settings > Add or remove exclusions > Add an exclusion. I exclude a whole bunch of folders such as: C:\D\dmd2\windows\bin C:\Users\Dennis\AppData\Local\Temp\.rdmd I found that it really helps reducing the time to run .exe files, though it's still slower than on Linux (which is why I'm using Debian most of the time).
May 07 2021
On 5/7/2021 5:39 AM, Dennis wrote:On Friday, 7 May 2021 at 09:41:52 UTC, Walter Bright wrote:Yeah, I did the equivalent on Win7. It only reduces the problem.I use XP as a test machine for the DMC++ compiler, because later versions of Windows attempt to run the virus checker every time the compiler generates an executable. Even when the damned virus checker is turned off.Do you have exclusions set? On Windows 10, you can go to Start > Virus & Thread protection > Manage Settings > Add or remove exclusions > Add an exclusion. I exclude a whole bunch of folders such as: C:\D\dmd2\windows\bin C:\Users\Dennis\AppData\Local\Temp\.rdmd
May 12 2021