Windows 7 support

“Platform specific notes” states, that Julia is available for Windows 7 and later for both 32-bit and 64-bit versions. However, the current stable release fails to run with the message “GetSystemTimePreciseAsFileTime not found.”

What is the latest supported on Windows 7 version? Thanks.

Microsoft stopped providing any sort of support for Windows 7 five years ago, so I think that Julia support will have to be “help yourself”. If you’re using juliaup it should be pretty easy to try different Julia versions though.

2 Likes

Perhaps, the information on download page ought to be amended, if Julia on windows 7 is no longer supported?

4 Likes

Download Julia reports Windows 10 as minimum supported version.

3 Likes

Good idea

3 Likes

Should specify that Windows 7 and 8 isn’t supported by Microsoft (ended technical assistance, patches, updates), that it’s not just a Julia-specific decision to develop for 10+. If there are Julia versions known to work or to have been tested for obsolete Windows versions, it’d be worth listing them to save people the trouble of testing various minor releases of Julia in their personal projects. (Or would it be easier the other way around where there’s a table for every Julia version and the systems it was developed and tested for?) Windows 10 is also ending support by October 14, 2025, so there should be a similar plan down the road.

Minor point by now, but that’s Windows 8+ API for highest time precision (<1us), which explains why it doesn’t gel with Windows 7.

If we broke Windows 7 support, maybe it’s time to look at UCRT again, especially with the ARM64 stuff coming around.

2 Likes

I think that most users would find our choice of supported versions very reasonable, but if you have a specific wording in mind that you feel is better, I am open to hearing about it.

Yes, this would be nice, but it is probably better to have this in a wiki format rather than being a list maintained by the Julia developers.

Seems very minor reason to break an operating system support over. Windows 8 is almost older than julia, and the latter used to work just fine for 15+ years without this call.

To reiterate what had been already said above, it’s Microsoft which dropped support for Windows 7 five years ago, why should Julia support it at all nowadays? Also, you haven’t provided much of a stacktrace, but I’m kind of guessing that the call is coming from libuv, which is a dependency of Julia, so it’s an upstream project which also requires Windows 10. BTW, support for Windows 10 by Microsoft is going to end in 5 months, I guess we’ll bump the requirement after that.

1 Like

It sounds very sensible to me to only support Windows versions that Microsoft itself supports. If not, then this would require some Julia developers to run an unsafe operating system and it would not be possible for users to have the complete software stack supported anyway because the operating system would be unsupported.

I don’t know if this is the case, but assuming that support for Windows 7 stopped when Microsoft stopped support of it in January 2020, the last Julia version to be released then would be 1.3.1 according to Julia Downloads (Old releases)

Perhaps, because labs equipped Windows 7 computers are still quite capable of useful work, and because playing along with Microsoft’s “planned obsolescence” treadmill is not affordable to many outside of well-funded first-world institutions? (and given the recent events in science funding, even the US universities might start feeling the pinch).

It doesn’t get to the REPL and quits after showing the error box. In CMD prompt,
it shows the message

C:\Users\User\Downloads\julia-1.11.5-win64\julia-1.11.5\bin>julia
ERROR: Unable to load dependent library C:\Users\User\Downloads\julia-1.11.5-win64\julia-1.11.5\bin../bin/libjulia-internal.dll
Message:The specified procedure could not be found.

That would be very unfortunate, given how user-hostile win 11 has become, and how MS deliberately broke hardware compatibility with very recent hardware.

1 Like

That is not the case. At least the version 1.10.0 is useable on Windows 7

The line of code in libuv I linked above was introduced in unix,win: add uv_clock_gettime() by bnoordhuis · Pull Request #3971 · libuv/libuv · GitHub, which made it to libuv 1.45, which is the version of libuv in julia v1.11, while julia v1.10 uses libuv v1.44. This hints my guess was plausible, and again shows that it wasn’t julia’s source code itself which broke compatibility with Windows 7, but an upstream project.

1 Like

UCRT is also necessary for launching applications in a sandboxed MSIX package environment. It is unfortunate that Julia lags behind in this instance compared to Python, which has moved away from msvcrt.dll since the release of Python 2.6 in 2010 and has kept the runtime up to date since then.

2 Likes

It’s not wise to develop new software for unsupported dependencies, especially proprietary low-level ones. If new software exposes a bug or exploit in Windows 7, 8, or soon 10, Microsoft will do nothing about it and the developers are stuck with the fallout. Also note that “unsupported” doesn’t mean “unusable”. You are still free to do whatever you want on the systems you have if you accept that risk, and reproducing older software should be expected.

1 Like

Does Julia 1.10.9 still run on Windows 7? The good news is that Julia 1.10 is the Long Term Support release, so you should be able to get a couple more years out of Julia 1.10. Julia 1.6 was supported for 3.5 years.

I’m aware of a piece of software called VxKex that may help. I have not tried it nor know anything about its provenance, so I can offer no endorsement. I also note that the original author seems to have minimized their online profile and accounts.

Could they run Linux? We can probably support that for longer.

3 Likes