| |
| Posted by a beginner | PermalinkReply |
|
a beginner
| It might seem unbelievable, but windows xp is still widely used (did you know it runs most bank cash machines by the way?).
As it happens, in my case I've been away from computing a long while, and my old box with xp-sp2 is all I have available at the moment. I had a very old dmd version which used to work. I tried to use it, only to discover dub doesn't connect online anymore (guess it's some security protocol update, stuff I know next to nothing about). Tried to replace dub with the latest one (1.24 perhaps, not sure), doesn't run. Tried dub 1.11, it runs but fails trying to xcopy the package cache onto itself, and doing so without quoting the obviously space-including pathname ("documents and settings", I wish I could kick in the balls whoever came up with that). I did not check the source yet, but the error message shows an xcopy command line and a "wrong number of arguments" (I'll spare my opinion on this one). Deleted the cache, same problem: it works the first time, the second time it tries to move the cache from where it just created it to... where it is already.
Tried the last dmd2 2.092.0, doesn't run. I went backwards until 2.089.1 which seems to work, but calls lld-link which doesn't. This comes as a surprise, because sc.ini has "LINKCMD=%@P%\optlink.exe" in the Environment32 section. Tried to move lld-link out of the way and now it tries to link, only it fails with an "error 4 module corrupt" or something. Went back to 2.085.1 and behold, it links the "hello world" kind of program as generated by "dub init". But dub gives access violation as soon as a dependency is involved. No hint to what the problem is, just "access violation" and good bye. Even a simple "dub init" or "dub add". Tried replacing it with dub from dmd 2.089.1 and... access violation.
Now, I am probably doing something wrong, and someone familiar with the tools would likely know what to do, but that is not me.
Is there a release working on xp (sp2 at that), dmd2 and dub at least, and if so, which one? if not, is there a way to pick parts here and there and make it work? Is there a technical reason for dropping xp compatibility or did it just happen and who cares in 2020?
I have searched online for some info, indeed I found something, but not being familiar with the tools it hasn't been terribly useful. Only it confirms that windows support is somewhat disappointing in general, xp or not.
It seems to me my best chance is to stay with dmd 2.085.1, try fix the cache problem in dub 1.11 myself (or give up on that and build "by hand"), probably wrestle some linking problems (pretty sure I wouldn't succeed with that) and be happy until I can upgrade. After all, these days programming is just a hobby for me. But honestly, all this is quite annoying for a beginner. In my experience, trouble getting the tools to work is often the biggest obstacle in learning a new language (well, unless it's something really weird...), which in many cases means giving up after some cursing.
|