-
-
Notifications
You must be signed in to change notification settings - Fork 5.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
New download implementation doesn't work on Win7 #26459
Comments
Does it work if you remove the |
I haven't tried, but then it won't be able to download anything from github, right? |
I should add that I just tried to execute that powershell code in a normal PowerShell cmd window. I haven't installed julia on that VM system. |
Is this fixed by the "easy fix" update? If so, I don't think requiring users of a 7 year old OS to manually install an update is terribly onerous. |
I haven't tried, but the error right now is on the .Net side: the enum that is used just doesn't have the I think we would have to tell folks to install a newer version of .Net or Powershell manually to make this work. I'm not sure which of the two, though. |
Correct, please try installing .NET framework v4.5 and try again. |
Alright, one has to manually install PowerShell 3 or higher for this to work (just installing a newer .Net Framework doesn't help, because PowerShell 2 will just continue to use .Net 3.5). In order to install PowerShell 3, one also manually has to install .Net Framework 4.5. So essentially the min version that things work on would be Win 7 SP1 + Windows Management Framework 3 (that is the package that ships PowerShell) + .Net Framework 4.5. I would think that most systems probably have a newer .Net installed in any case because so much other software depends on that, but probably not the WMF stuff (that was actually the thing missing on my students laptop). |
Great, thanks for tracking that down David. We should include this in the set of instructions on the download page. |
We could also start powershell with the |
Okay, I quickly tried it on a 32-bit Win 7 VM. If you pass the What is the best way to catch the error code from (Also, should exit codes be |
This is not fixed by #26719 at all. It's a clearer error message now, but it still doesn't work. |
Is it even possible to fix it on Julia's end? I think as long as the error message tells the user how to fix the problem, that should be sufficient. |
Use something other than powershell if it's too old. Fall back to the old implementation, or using one of the libraries distributed with julia. There are a lot of users who won't have admin access necessary to install a newer powershell version. |
But the old implementation doesn't support Tls 1.2, which we need in order to download from GitHub (which is the where most packages are going to host their binaries). |
Has |
#25477 changed the way
download
works on Windows: it now always uses PowerShell. The new implementation uses features that are not available on a fully patched Win 7 SP1 system, though, and so doesn't work there. In particular,[System.Net.ServicePointManager]::SecurityProtocol = [System.Net.SecurityProtocolType]::Tls12
does not work on those systems, because the version of .Net that ships with Win7 doesn't have theTls12
value in it. This now affects both base, and also BinDeps.jl (which uses the same strategy). I'm not sure about BinaryProvider.jl.I learned about this because one of my students is on a system like this and BinDeps.jl essentially doesn't work for him. I then installed a clean Win7 SP1 in a VM, ran Windows Update until everything was installed and tried things, and same story.
Now, there are probably lots of users out there that have for some reason or another a newer version of .Net & PowerShell installed on their Win 7 systems, and then everything will work. But if the message is that Win 7 is fully supported, it should probably work on a system as MS ships it.
The text was updated successfully, but these errors were encountered: