Julia 1.6 corporate firewall
Any news to solve this problem?
I checked your previous posts and the error messages are somehow not so helpful.
So I try again (tried in another thread by someone else) to get a systematic error reproduction.
Lets start with the following lines to indentify, if the right curl lib is loaded:
Could you try the following commands and report output here?
versioninfo()
using Libdl
libcurl = "libcurl-4.dll"
libcurl_handle = dlopen(libcurl)
libcurl_path = dlpath(libcurl_handle)
julia> versioninfo()
Julia Version 1.6.1
Commit 6aaedecc44 (2021-04-23 05:59 UTC)
Platform Info:
OS: Windows (x86_64-w64-mingw32)
CPU: Intel(R) Core(TM) i5-4570 CPU @ 3.20GHz
WORD_SIZE: 64
LIBM: libopenlibm
LLVM: libLLVM-11.0.1 (ORCJIT, haswell)
Environment:
JULIA_SSL_NO_VERIFY_HOSTS = fproxy2.ecp.elco.co.il:8080
julia> using Libdl
julia> libcurl = "libcurl-4.dll"
"libcurl-4.dll"
julia> libcurl_handle = dlopen(libcurl)
Ptr{Nothing} @0x0000000040f60000
julia> libcurl_path = dlpath(libcurl_handle)
"C:\\Users\\Hermesr\\AppData\\Local\\Programs\\Julia-1.6.1\\bin\\libcurl-4.dll"
the server in Environment:
JULIA_SSL_NO_VERIFY_HOSTS = fproxy2.ecp.elco.co.il:8080
I introduced it, Today, when I see that this is what chocolatey declares when downloading packages! in my intention that Julia functions
Good, don’t change anything in your current setup, don’t create a moving target!
Now do the following commands:
Next step is to get some verbose information about your download problem.
Please run the following commands:
cd("c:\\Temp") #or another folder where you can write to
using Downloads
url = "https://pkg.julialang.org/registries"
open("out.stdout", "w") do sout
open("out.stderr", "w") do serr
redirect_stdout(sout) do
redirect_stderr(serr) do
Downloads.download(url;verbose=true)
end
end
end
end
Copy&Paste everything from the REPL here and:
This produces the important file out.stderr
with all information while downloading the URL.
Copy&Paste all the content of out.stderr
here.
cd("c:\\Temp")
julia> using Downloads
julia> url = "https://pkg.julialang.org/registries"
"https://pkg.julialang.org/registries"
julia> open("out.stdout", "w") do sout
open("out.stderr", "w") do serr
redirect_stdout(sout) do
redirect_stderr(serr) do
Downloads.download(url;verbose=true)
end
end
end
end
ERROR: schannel: failed to receive handshake, SSL/TLS connection failed while requesting https://pkg.julialang.org/registries
Stacktrace:
[1] (::Downloads.var"#9#18"{IOStream, Base.DevNull, Nothing, Vector{Pair{String, String}}, Float64, Nothing, Bool, Bool, String, Int64, Bool, Bool})(easy::Downloads.Curl.Easy)
@ Downloads C:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.6\Downloads\src\Downloads.jl:356
[2] with_handle(f::Downloads.var"#9#18"{IOStream, Base.DevNull, Nothing, Vector{Pair{String, String}}, Float64, Nothing, Bool, Bool, String, Int64, Bool, Bool}, handle::Downloads.Curl.Easy)
@ Downloads.Curl C:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.6\Downloads\src\Curl\Curl.jl:60
[3] #8
@ C:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.6\Downloads\src\Downloads.jl:298 [inlined]
[4] arg_write(f::Downloads.var"#8#17"{Base.DevNull, Nothing, Vector{Pair{String, String}}, Float64, Nothing, Bool, Bool, String, Int64, Bool, Bool}, arg::IOStream)
@ ArgTools C:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.6\ArgTools\src\ArgTools.jl:112
[5] #7
@ C:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.6\Downloads\src\Downloads.jl:297 [inlined]
[6] arg_read
@ C:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.6\ArgTools\src\ArgTools.jl:61 [inlined]
[7] request(url::String; input::Nothing, output::IOStream, method::Nothing, headers::Vector{Pair{String, String}}, timeout::Float64, progress::Nothing, verbose::Bool, throw::Bool, downloader::Nothing)
@ Downloads C:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.6\Downloads\src\Downloads.jl:296
[8] (::Downloads.var"#3#4"{Nothing, Vector{Pair{String, String}}, Float64, Nothing, Bool, Nothing, String})(output::IOStream)
@ Downloads C:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.6\Downloads\src\Downloads.jl:209
[9] arg_write(f::Downloads.var"#3#4"{Nothing, Vector{Pair{String, String}}, Float64, Nothing, Bool, Nothing, String}, arg::Nothing)
@ ArgTools C:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.6\ArgTools\src\ArgTools.jl:101
[10] #download#2
@ C:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.6\Downloads\src\Downloads.jl:208 [inlined]
[11] (::var"#4#8")()
@ Main .\REPL[32]:5
[12] redirect_stderr(f::var"#4#8", stream::IOStream)
@ Base .\stream.jl:1224
[13] #3
@ .\REPL[32]:4 [inlined]
[14] redirect_stdout(f::var"#3#7"{IOStream}, stream::IOStream)
@ Base .\stream.jl:1224
[15] #2
@ .\REPL[32]:3 [inlined]
[16] open(::var"#2#6"{IOStream}, ::String, ::Vararg{String, N} where N; kwargs::Base.Iterators.Pairs{Union{}, Union{}, Tuple{}, NamedTuple{(), Tuple{}}})
@ Base .\io.jl:330
[17] open
@ .\io.jl:328 [inlined]
[18] #1
@ .\REPL[32]:2 [inlined]
[19] open(::var"#1#5", ::String, ::Vararg{String, N} where N; kwargs::Base.Iterators.Pairs{Union{}, Union{}, Tuple{}, NamedTuple{(), Tuple{}}})
@ Base .\io.jl:330
[20] open(::Function, ::String, ::String)
@ Base .\io.jl:328
[21] top-level scope
@ REPL[32]:1
julia>
Both files are empty. I opened them with Notepad.
Please show us your Internet Options (as a screenshot):
In the windows search enter
Internet properties
or
Internet options
(or similar for your language)
It should show a single application “Internet Properties”.
Open it.
- Open the “Advanced Tab”
- Scroll down to SSL 3.0, TLS 1.0, … options
This is what is shown on my PC:
Looks good so far. I need some time to do some recherche…
Ok, lets try the most unsecure version by setting the following environment variabel:
Windows CMD:
set JULIA_NO_VERIFY_HOSTS=**
and afterwards in same CMD:
c:\Users\Hermesr\AppData\Local\Programs\Julia-1.6.1\bin\julia.exe
Then try your Pkg installation as you did in the beginning of your problems.
C:\>set JULIA_NO_VERIFY_HOSTS=**
C:\>c:\Users\Hermesr\AppData\Local\Programs\Julia-1.6.1\bin\julia.exe
_
_ _ _(_)_ | Documentation: https://docs.julialang.org
(_) | (_) (_) |
_ _ _| |_ __ _ | Type "?" for help, "]?" for Pkg help.
| | | | | | |/ _` | |
| | |_| | | | (_| | | Version 1.6.1 (2021-04-23)
_/ |\__'_|_|_|\__'_| | Official https://julialang.org/ release
|__/ |
(@v1.6) pkg> add Plots
Updating registry at `C:\Users\Hermesr\.julia\registries\General`
┌ Warning: could not download https://pkg.julialang.org/registries
â”” @ Pkg.Types C:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.6\Pkg\src\Types.jl:980
Resolving package versions...
Cloning [02c8fc9c-b97f-50b9-bbe4-9be30ff0a78a] XML2_jll from https://github.com/JuliaBinaryWrappers/XML2_jll.jl.git
ERROR: failed to clone from https://github.com/JuliaBinaryWrappers/XML2_jll.jl.git, error: GitError(Code:ERROR, Class:OS, failed to send request: The connection with the server was terminated abnormally
)
(@v1.6) pkg>
Can you download your proxy script and show it to us?
This may be a security threat and not allowed. Depending on the complexity you are perhaps able to look for the relevant proxy hosts and ports and report them:
http://ecpac/proxy.pac
I assume it is
fproxy2.ecp.elco.co.il:8080
for http and https ?
Or just try the following additional environment variables:
set http_proxy=fproxy2.ecp.elco.co.il:8080
set https_proxy=fproxy2.ecp.elco.co.il:8080
in the above CMD. But the https proxy isn’t clear to be that. This should show up somewhere in the proxy script.
Microsoft Windows [Version 10.0.16299.15]
(c) 2017 Microsoft Corporation. All rights reserved.
Z:\>set http_proxy=fproxy2.ecp.elco.co.il:8080
Z:\>set https_proxy=fproxy2.ecp.elco.co.il:8080
Z:\>julia
_
_ _ _(_)_ | Documentation: https://docs.julialang.org
(_) | (_) (_) |
_ _ _| |_ __ _ | Type "?" for help, "]?" for Pkg help.
| | | | | | |/ _` | |
| | |_| | | | (_| | | Version 1.6.1 (2021-04-23)
_/ |\__'_|_|_|\__'_| | Official https://julialang.org/ release
|__/ |
(@v1.6) pkg> up
Updating registry at `C:\Users\Hermesr\.julia\registries\General`
┌ Warning: could not download https://pkg.julialang.org/registries
â”” @ Pkg.Types C:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.6\Pkg\src\Types.jl:980
Updating git-repo `C:\Users\Hermesr\Documents\GitHub\VMLS.jl`
Cloning [dc211083-a33a-5b79-959f-2ff34033469d] Gnuplot from https://github.com/gcalderone/Gnuplot.jl.git
ERROR: failed to clone from https://github.com/gcalderone/Gnuplot.jl.git, error: GitError(Code:ERROR, Class:Net, malformed URL 'fproxy2.ecp.elco.co.il:8080')
(@v1.6) pkg>
Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.
PS Z:\> NET CONFIG
The following running services can be controlled:
Server
Workstation
The command completed successfully.
PS Z:\> NET SHARE
Share name Resource Remark
-------------------------------------------------------------------------------
C$ C:\ Default share
print$ C:\Windows\system32\spool\drivers
Printer Drivers
IPC$ Remote IPC
ADMIN$ C:\Windows Remote Admin
HP Color LaserJet CP202X PCL6 Class Driver
Spooled HP Color LaserJet CP202X PCL6 C...
The command completed successfully.
PS Z:\>
```
From Chocolatey
Z:\>choco install exercism-io-cli -y
Chocolatey v0.10.15
Chocolatey detected you are not running from an elevated command shell
(cmd/powershell).
You may experience errors - many functions/packages
require admin rights. Only advanced users should run choco w/out an
elevated shell. When you open the command shell, you should ensure
that you do so with "Run as Administrator" selected. If you are
attempting to use Chocolatey in a non-administrator setting, you
must select a different location other than the default install
location. See
https://chocolatey.org/install#non-administrative-install for details.
For the question below, you have 20 seconds to make a selection.
Do you want to continue?([Y]es/[N]o): Y
Installing the following packages:
exercism-io-cli
By installing you accept licenses for the packages.
Progress: Downloading exercism-io-cli 3.0.13... 100%
exercism-io-cli v3.0.13 [Approved]
exercism-io-cli package files install completed. Performing other installation steps.
Using system proxy server 'fproxy2.ecp.elco.co.il:8080'.
Downloading exercism-io-cli 64 bit
from 'https://github.com/exercism/cli/releases/download/v3.0.13/exercism-windows-64bit.zip'
Using system proxy server 'fproxy2.ecp.elco.co.il:8080'.
Progress: 100% - Completed download of C:\Users\Hermesr\AppData\Local\Temp\chocolatey\exercism-io-cli\3.0.13\exercism-windows-64bit.zip (4.04 MB).
Download of exercism-windows-64bit.zip (4.04 MB) completed.
Extracting C:\Users\Hermesr\AppData\Local\Temp\chocolatey\exercism-io-cli\3.0.13\exercism-windows-64bit.zip to C:\Users\Hermesr\ProgramData\chocoportable\lib\exercism-io-cli\tools...
C:\Users\Hermesr\ProgramData\chocoportable\lib\exercism-io-cli\tools
ShimGen has successfully created a shim for exercism.exe
The install of exercism-io-cli was successful.
Software installed to 'C:\Users\Hermesr\ProgramData\chocoportable\lib\exercism-io-cli\tools'
Perhaps, I did it wrong and the proxy settings must be:
set JULIA_NO_VERIFY_HOSTS=**
set http_proxy=http://fproxy2.ecp.elco.co.il:8080
set https_proxy=http://fproxy2.ecp.elco.co.il:8080
Can you try?
(c) 2017 Microsoft Corporation. All rights reserved.
Z:\>set JULIA_NO_VERIFY_HOSTS=**
Z:\>set http_proxy=http://fproxy2.ecp.elco.co.il:8080
Z:\>set https_proxy=http://fproxy2.ecp.elco.co.il:8080
Z:\>julia
_
_ _ _(_)_ | Documentation: https://docs.julialang.org
(_) | (_) (_) |
_ _ _| |_ __ _ | Type "?" for help, "]?" for Pkg help.
| | | | | | |/ _` | |
| | |_| | | | (_| | | Version 1.6.1 (2021-04-23)
_/ |\__'_|_|_|\__'_| | Official https://julialang.org/ release
|__/ |
[bac558e1] ↑ OrderedCollections v1.4.0 ⇒ v1.4.1
[08abe8d2] ↑ PrettyTables v1.0.0 ⇒ v1.0.1
[a2af1166] ↑ SortingAlgorithms v0.3.1 ⇒ v1.0.0
[90137ffa] ↑ StaticArrays v1.1.2 ⇒ v1.2.0
[82ae8749] + StatsAPI v1.0.0
[2913bbd2] ↑ StatsBase v0.33.6 ⇒ v0.33.8
Precompiling project...
15 dependencies successfully precompiled in 38 seconds (27 already precompiled)
(@v1.6) pkg> add Plots
Resolving package versions...
Installed Libiconv_jll ─ v1.16.1+0
Installed Libmount_jll ─ v2.35.0+0
Installed Libuuid_jll ── v2.36.0+0
Installed XML2_jll ───── v2.9.12+0
Installed PCRE_jll ───── v8.44.0+0
Installed Libffi_jll ─── v3.2.2+0
Installed Expat_jll ──── v2.2.10+0
Downloaded artifact: XML2
Downloaded artifact: XML2
Downloaded artifact: Libffi
Downloaded artifact: Expat
Downloaded artifact: Libiconv
Downloaded artifact: Libiconv
Downloaded artifact: PCRE
Downloaded artifact: PCRE
Updating `C:\Users\Hermesr\.julia\environments\v1.6\Project.toml`
[91a5bcdd] + Plots v1.15.0
Updating `C:\Users\Hermesr\.julia\environments\v1.6\Manifest.toml`
[79e6a3ab] + Adapt v3.3.0
[d38c429a] + Contour v0.5.7
[c87230d0] + FFMPEG v0.4.0
[28b8d3ca] + GR v0.57.4
[5c1252a2] + GeometryBasics v0.3.12
[42e2da0e] + Grisu v1.0.2
[cd3eb016] + HTTP v0.9.8
[83e8ac13] + IniFile v0.5.0
[c8e1da08] + IterTools v1.3.0
[692b3bcd] + JLLWrappers v1.3.0
[23fbe1c1] + Latexify v0.15.5
[739be429] + MbedTLS v1.0.3
[442fdcdd] + Measures v0.3.1
[77ba4419] + NaNMath v0.3.5
[ccf2f8ad] + PlotThemes v2.0.1
[995b91a9] + PlotUtils v1.0.10
[91a5bcdd] + Plots v1.15.0
[21216c6a] + Preferences v1.2.2
[3cdcf5f2] + RecipesBase v1.1.1
[01d81517] + RecipesPipeline v0.3.2
[ae029012] + Requires v1.1.3
[6c6a2e73] + Scratch v1.0.3
[992d4aef] + Showoff v1.0.3
[09ab397b] + StructArrays v0.5.1
[5c2747f8] + URIs v1.3.0
[6e34b625] + Bzip2_jll v1.0.6+5
[83423d85] + Cairo_jll v1.16.0+6
[5ae413db] + EarCut_jll v2.1.5+1
[2e619515] + Expat_jll v2.2.10+0
[b22a6f82] + FFMPEG_jll v4.3.1+4
[a3f928ae] + Fontconfig_jll v2.13.1+14
[d7e528f0] + FreeType2_jll v2.10.1+5
[559328eb] + FriBidi_jll v1.0.5+6
[0656b61e] + GLFW_jll v3.3.4+0
[d2c73de3] + GR_jll v0.57.2+0
[78b55507] + Gettext_jll v0.20.1+7
[7746bdde] + Glib_jll v2.59.0+4
[aacddb02] + JpegTurbo_jll v2.0.1+3
[c1c5ebd0] + LAME_jll v3.100.0+3
[dd4b983a] + LZO_jll v2.10.0+3
[dd192d2f] + LibVPX_jll v1.9.0+1
[e9f186c6] + Libffi_jll v3.2.2+0
[d4300ac3] + Libgcrypt_jll v1.8.5+4
[7e76a0d4] + Libglvnd_jll v1.3.0+3
[7add5ba3] + Libgpg_error_jll v1.36.0+3
[94ce4f54] + Libiconv_jll v1.16.1+0
[4b2f31a3] + Libmount_jll v2.35.0+0
[89763e89] + Libtiff_jll v4.1.0+2
[38a345b3] + Libuuid_jll v2.36.0+0
[e7412a2a] + Ogg_jll v1.3.4+2
[458c3c95] + OpenSSL_jll v1.1.1+6
[91d4177d] + Opus_jll v1.3.1+3
[2f80f16e] + PCRE_jll v8.44.0+0
[30392449] + Pixman_jll v0.40.0+0
[ea2cea3b] + Qt5Base_jll v5.15.2+0
[a2964d1f] + Wayland_jll v1.17.0+4
[2381bf8a] + Wayland_protocols_jll v1.18.0+4
[02c8fc9c] + XML2_jll v2.9.12+0
[aed1982a] + XSLT_jll v1.1.33+4
[4f6342f7] + Xorg_libX11_jll v1.6.9+4
[0c0b7dd1] + Xorg_libXau_jll v1.0.9+4
[935fb764] + Xorg_libXcursor_jll v1.2.0+4
[a3789734] + Xorg_libXdmcp_jll v1.1.3+4
[1082639a] + Xorg_libXext_jll v1.3.4+4
[d091e8ba] + Xorg_libXfixes_jll v5.0.3+4
[a51aa0fd] + Xorg_libXi_jll v1.7.10+4
[d1454406] + Xorg_libXinerama_jll v1.1.4+4
[ec84b674] + Xorg_libXrandr_jll v1.5.2+4
[ea2f1a96] + Xorg_libXrender_jll v0.9.10+4
[14d82f49] + Xorg_libpthread_stubs_jll v0.1.0+3
[c7cfdc94] + Xorg_libxcb_jll v1.13.0+3
[cc61e674] + Xorg_libxkbfile_jll v1.1.0+4
[12413925] + Xorg_xcb_util_image_jll v0.4.0+1
[2def613f] + Xorg_xcb_util_jll v0.4.0+1
[975044d2] + Xorg_xcb_util_keysyms_jll v0.4.0+1
[0d47668e] + Xorg_xcb_util_renderutil_jll v0.3.9+1
[c22f9ab0] + Xorg_xcb_util_wm_jll v0.4.1+1
[35661453] + Xorg_xkbcomp_jll v1.4.2+4
[33bec58e] + Xorg_xkeyboard_config_jll v2.27.0+4
[c5fb5394] + Xorg_xtrans_jll v1.4.0+3
[3161d3a3] + Zstd_jll v1.4.8+0
[0ac62f75] + libass_jll v0.14.0+4
[f638f0a6] + libfdk_aac_jll v0.1.6+4
[b53b4c65] + libpng_jll v1.6.37+6
[f27f6e37] + libvorbis_jll v1.3.6+6
[1270edf5] + x264_jll v2020.7.14+2
[dfaa095f] + x265_jll v3.0.0+3
[d8fb68d0] + xkbcommon_jll v0.9.1+5
[e66e0078] + CompilerSupportLibraries_jll
Precompiling project...
89 dependencies successfully precompiled in 83 seconds (42 already precompiled)
(@v1.6) pkg>
Is this permanent in the configuration of julia 1.6.1?
How to import the packages from Julia 1.5.4 to 1.6.1? Without having to install them one by one?
Nice. At first my thoughts were too complicated.
Now you can try more restricted settings on the environment variable
set JULIA_NO_VERIFY_HOSTS=**
like remove it completely (same for JULIA_SSL_NO_VERIFY_HOSTS).
or
set JULIA_NO_VERIFY_HOSTS=**.github.com
or similar. The syntax is documented here:
The reason for the problems is probably, that libcurl isn’t able to use the system proxy settings, because they are defined in a proxy script. But this is speculation, I haven’t checked if this is the case.