Cannot add certain packages (proxy error)

I keep getting an error when installing some packages on my work computer.

I have successfully installed e.g. DataFrames and JSON packages, but have failed to install e.g. IJulia or Distributions.

I am running Windows 10 Enterprise, system architecture is x86_64-w64-mingw32, I don’t have admin privileges, Julia version is 1.2.0.

The package manager gets successfully past the “Updating” and “Installation” steps but for some (not all) packages fails during the “Building” step.

Below I am reproducing the screenshots & REPL output from the installation of IJulia. The installation fails only on Building ZMQ, apparently upon trying to download an archive.

The crucial line is Exception calling "DownloadFile" with "2" argument(s): "Vzd�len� server vr�til chybu: (407) Vy�adov�no ov��ov�n� proxy serveru.", where the quoted text is Czech (my Win locale) for “Remote server returned an error: (407) Proxy Authentication Required”.

Does anyone know what is going on, i.e. which calls might be producing these errors? Are they Git-related?

I’ve searched for similar issues but I believe the behaviour I am encountering is rather different:

REPL output as image:

REPL output as text:

(v1.2) pkg> add IJulia
  Updating registry at `C:\Users\cen82683\.julia\registries\General`
  Updating git-repo `https://github.com/JuliaRegistries/General.git`
 Resolving package versions...
 Installed SoftGlobalScope ─ v1.0.10
 Installed Conda ─────────── v1.3.0
 Installed VersionParsing ── v1.1.3
 Installed ZMQ ───────────── v1.0.0
 Installed IJulia ────────── v1.20.0
 Installed MbedTLS ───────── v0.7.0
 Installed BinaryProvider ── v0.5.6
  Updating `C:\Users\cen82683\.julia\environments\v1.2\Project.toml`
  [7073ff75] + IJulia v1.20.0
  Updating `C:\Users\cen82683\.julia\environments\v1.2\Manifest.toml`
  [b99e7846] + BinaryProvider v0.5.6
  [8f4d0f93] + Conda v1.3.0
  [7073ff75] + IJulia v1.20.0
  [739be429] + MbedTLS v0.7.0
  [b85f4697] + SoftGlobalScope v1.0.10
  [81def892] + VersionParsing v1.1.3
  [c2297ded] + ZMQ v1.0.0
  [7b1f6079] + FileWatching
  Building Conda ──→ `C:\Users\cen82683\.julia\packages\Conda\kLXeC\deps\build.log`
  Building ZMQ ────→ `C:\Users\cen82683\.julia\packages\ZMQ\ABGOx\deps\build.log`
┌ Error: Error building `ZMQ`:
│ ┌ Warning: On Windows, creating file symlinks requires Administrator privileges
│ └ @ Base.Filesystem file.jl:797
│ ┌ Warning: platform_key() is deprecated, use platform_key_abi() from now on
│ │   caller = ip:0x0
│ └ @ Core :-1
│ ┌ Warning: Could not extract the platform key of https://github.com/JuliaInterop/ZMQBuilder/releases/download/v4.2.5+6/ZMQ.x86_64-w64-mingw32.tar.gz; continuing...
│ └ @ BinaryProvider C:\Users\cen82683\.julia\packages\BinaryProvider\TcAwt\src\Prefix.jl:185
│ [ Info: Downloading https://github.com/JuliaInterop/ZMQBuilder/releases/download/v4.2.5+6/ZMQ.x86_64-w64-mingw32.tar.gz to C:\Users\cen82683\.julia\packages\ZMQ\ABGOx\deps\usr\downloads\ZMQ.x86_64-w64-mingw32.tar.gz...
│ ERROR: LoadError: Could not download https://github.com/JuliaInterop/ZMQBuilder/releases/download/v4.2.5+6/ZMQ.x86_64-w64-mingw32.tar.gz to C:\Users\cen82683\.julia\packages\ZMQ\ABGOx\deps\usr\downloads\ZMQ.x86_64-w64-mingw32.tar.gz:
│ ErrorException("")
│ Stacktrace:
│  [1] error(::String) at .\error.jl:33
│  [2] #download#93(::Bool, ::typeof(BinaryProvider.download), ::String, ::String) at C:\Users\cen82683\.julia\packages\BinaryProvider\TcAwt\src\PlatformEngines.jl:498
│  [3] #download at .\none:0 [inlined]
│  [4] #download_verify#94(::Bool, ::Bool, ::Bool, ::typeof(download_verify), ::String, ::String, ::String) at C:\Users\cen82683\.julia\packages\BinaryProvider\TcAwt\src\PlatformEngines.jl:567
│  [5] #download_verify at .\tuple.jl:0 [inlined]
│  [6] #install#133(::Prefix, ::String, ::Bool, ::Bool, ::Bool, ::typeof(install), ::String, ::String) at C:\Users\cen82683\.julia\packages\BinaryProvider\TcAwt\src\Prefix.jl:314
│  [7] (::getfield(BinaryProvider, Symbol("#kw##install")))(::NamedTuple{(:prefix, :force, :verbose),Tuple{Prefix,Bool,Bool}}, ::typeof(install), ::String, ::String) at .\tuple.jl:0
│  [8] top-level scope at C:\Users\cen82683\.julia\packages\ZMQ\ABGOx\deps\build.jl:44
│  [9] include at .\boot.jl:328 [inlined]
│  [10] include_relative(::Module, ::String) at .\loading.jl:1094
│  [11] include(::Module, ::String) at .\Base.jl:31
│  [12] include(::String) at .\client.jl:431
│  [13] top-level scope at none:5
│ in expression starting at C:\Users\cen82683\.julia\packages\ZMQ\ABGOx\deps\build.jl:40
│ caused by [exception 2]
│
│ Stacktrace:
│  [1] error() at .\error.jl:42
│  [2] #download#93(::Bool, ::typeof(BinaryProvider.download), ::String, ::String) at C:\Users\cen82683\.julia\packages\BinaryProvider\TcAwt\src\PlatformEngines.jl:492
│  [3] #download at .\none:0 [inlined]
│  [4] #download_verify#94(::Bool, ::Bool, ::Bool, ::typeof(download_verify), ::String, ::String, ::String) at C:\Users\cen82683\.julia\packages\BinaryProvider\TcAwt\src\PlatformEngines.jl:567
│  [5] #download_verify at .\tuple.jl:0 [inlined]
│  [6] #install#133(::Prefix, ::String, ::Bool, ::Bool, ::Bool, ::typeof(install), ::String, ::String) at C:\Users\cen82683\.julia\packages\BinaryProvider\TcAwt\src\Prefix.jl:314
│  [7] (::getfield(BinaryProvider, Symbol("#kw##install")))(::NamedTuple{(:prefix, :force, :verbose),Tuple{Prefix,Bool,Bool}}, ::typeof(install), ::String, ::String) at .\tuple.jl:0
│  [8] top-level scope at C:\Users\cen82683\.julia\packages\ZMQ\ABGOx\deps\build.jl:44
│  [9] include at .\boot.jl:328 [inlined]
│  [10] include_relative(::Module, ::String) at .\loading.jl:1094
│  [11] include(::Module, ::String) at .\Base.jl:31
│  [12] include(::String) at .\client.jl:431
│  [13] top-level scope at none:5
│ caused by [exception 1]
│ IOError: symlink: operation not permitted (EPERM)
│ Stacktrace:
│  [1] uv_error at .\libuv.jl:90 [inlined]
│  [2] symlink(::String, ::String) at .\file.jl:800
│  [3] probe_symlink_creation(::String) at C:\Users\cen82683\.julia\packages\BinaryProvider\TcAwt\src\PlatformEngines.jl:121
│  [4] #probe_platform_engines!#30(::Bool, ::typeof(BinaryProvider.probe_platform_engines!)) at C:\Users\cen82683\.julia\packages\BinaryProvider\TcAwt\src\PlatformEngines.jl:175
│  [5] probe_platform_engines! at C:\Users\cen82683\.julia\packages\BinaryProvider\TcAwt\src\PlatformEngines.jl:169 [inlined]
│  [6] __init__() at C:\Users\cen82683\.julia\packages\BinaryProvider\TcAwt\src\BinaryProvider.jl:28
│  [7] _include_from_serialized(::String, ::Array{Any,1}) at .\loading.jl:685
│  [8] _require_from_serialized(::String) at .\loading.jl:736
│  [9] _require(::Base.PkgId) at .\loading.jl:1023
│  [10] require(::Base.PkgId) at .\loading.jl:911
│  [11] require(::Module, ::Symbol) at .\loading.jl:906
│  [12] include at .\boot.jl:328 [inlined]
│  [13] include_relative(::Module, ::String) at .\loading.jl:1094
│  [14] include(::Module, ::String) at .\Base.jl:31
│  [15] include(::String) at .\client.jl:431
│  [16] top-level scope at none:5
│ Exception calling "DownloadFile" with "2" argument(s): "Vzd�len� server vr�til chybu: (407) Vy�adov�no ov��ov�n� proxy serveru."
│ At line:5 char:1
│ + $webclient.DownloadFile("https://github.com/JuliaInterop/ZMQBuilder/r ...
│ + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
│     + CategoryInfo          : NotSpecified: (:) [], MethodInvocationException
│     + FullyQualifiedErrorId : WebException
│
└ @ Pkg.Operations C:\cygwin\home\Administrator\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.2\Pkg\src\backwards_compatible_isolation.jl:647
  Building MbedTLS → `C:\Users\cen82683\.julia\packages\MbedTLS\a1JFn\deps\build.log`
┌ Error: Error building `MbedTLS`:
│ ┌ Warning: On Windows, creating file symlinks requires Administrator privileges
│ └ @ Base.Filesystem file.jl:797
│ ┌ Warning: platform_key() is deprecated, use platform_key_abi() from now on
│ │   caller = ip:0x0
│ └ @ Core :-1
│ [ Info: Downloading https://github.com/JuliaWeb/MbedTLSBuilder/releases/download/v0.17.0/MbedTLS.v2.16.0.x86_64-w64-mingw32.tar.gz to C:\Users\cen82683\.julia\packages\MbedTLS\a1JFn\deps\usr\downloads\MbedTLS.v2.16.0.x86_64-w64-mingw32.tar.gz...
│ ERROR: LoadError: Could not download https://github.com/JuliaWeb/MbedTLSBuilder/releases/download/v0.17.0/MbedTLS.v2.16.0.x86_64-w64-mingw32.tar.gz to C:\Users\cen82683\.julia\packages\MbedTLS\a1JFn\deps\usr\downloads\MbedTLS.v2.16.0.x86_64-w64-mingw32.tar.gz:
│ ErrorException("")
│ Stacktrace:
│  [1] error(::String) at .\error.jl:33
│  [2] #download#93(::Bool, ::typeof(BinaryProvider.download), ::String, ::String) at C:\Users\cen82683\.julia\packages\BinaryProvider\TcAwt\src\PlatformEngines.jl:498
│  [3] #download at .\none:0 [inlined]
│  [4] #download_verify#94(::Bool, ::Bool, ::Bool, ::typeof(download_verify), ::String, ::String, ::String) at C:\Users\cen82683\.julia\packages\BinaryProvider\TcAwt\src\PlatformEngines.jl:567
│  [5] #download_verify at .\tuple.jl:0 [inlined]
│  [6] #install#133(::Prefix, ::String, ::Bool, ::Bool, ::Bool, ::typeof(install), ::String, ::String) at C:\Users\cen82683\.julia\packages\BinaryProvider\TcAwt\src\Prefix.jl:314
│  [7] (::getfield(BinaryProvider, Symbol("#kw##install")))(::NamedTuple{(:prefix, :force, :verbose),Tuple{Prefix,Bool,Bool}}, ::typeof(install), ::String, ::String) at .\tuple.jl:0
│  [8] top-level scope at C:\Users\cen82683\.julia\packages\MbedTLS\a1JFn\deps\build.jl:48
│  [9] include at .\boot.jl:328 [inlined]
│  [10] include_relative(::Module, ::String) at .\loading.jl:1094
│  [11] include(::Module, ::String) at .\Base.jl:31
│  [12] include(::String) at .\client.jl:431
│  [13] top-level scope at none:5
│ in expression starting at C:\Users\cen82683\.julia\packages\MbedTLS\a1JFn\deps\build.jl:44
│ caused by [exception 2]
│
│ Stacktrace:
│  [1] error() at .\error.jl:42
│  [2] #download#93(::Bool, ::typeof(BinaryProvider.download), ::String, ::String) at C:\Users\cen82683\.julia\packages\BinaryProvider\TcAwt\src\PlatformEngines.jl:492
│  [3] #download at .\none:0 [inlined]
│  [4] #download_verify#94(::Bool, ::Bool, ::Bool, ::typeof(download_verify), ::String, ::String, ::String) at C:\Users\cen82683\.julia\packages\BinaryProvider\TcAwt\src\PlatformEngines.jl:567
│  [5] #download_verify at .\tuple.jl:0 [inlined]
│  [6] #install#133(::Prefix, ::String, ::Bool, ::Bool, ::Bool, ::typeof(install), ::String, ::String) at C:\Users\cen82683\.julia\packages\BinaryProvider\TcAwt\src\Prefix.jl:314
│  [7] (::getfield(BinaryProvider, Symbol("#kw##install")))(::NamedTuple{(:prefix, :force, :verbose),Tuple{Prefix,Bool,Bool}}, ::typeof(install), ::String, ::String) at .\tuple.jl:0
│  [8] top-level scope at C:\Users\cen82683\.julia\packages\MbedTLS\a1JFn\deps\build.jl:48
│  [9] include at .\boot.jl:328 [inlined]
│  [10] include_relative(::Module, ::String) at .\loading.jl:1094
│  [11] include(::Module, ::String) at .\Base.jl:31
│  [12] include(::String) at .\client.jl:431
│  [13] top-level scope at none:5
│ caused by [exception 1]
│ IOError: symlink: operation not permitted (EPERM)
│ Stacktrace:
│  [1] uv_error at .\libuv.jl:90 [inlined]
│  [2] symlink(::String, ::String) at .\file.jl:800
│  [3] probe_symlink_creation(::String) at C:\Users\cen82683\.julia\packages\BinaryProvider\TcAwt\src\PlatformEngines.jl:121
│  [4] #probe_platform_engines!#30(::Bool, ::typeof(BinaryProvider.probe_platform_engines!)) at C:\Users\cen82683\.julia\packages\BinaryProvider\TcAwt\src\PlatformEngines.jl:175
│  [5] probe_platform_engines! at C:\Users\cen82683\.julia\packages\BinaryProvider\TcAwt\src\PlatformEngines.jl:169 [inlined]
│  [6] __init__() at C:\Users\cen82683\.julia\packages\BinaryProvider\TcAwt\src\BinaryProvider.jl:28
│  [7] _include_from_serialized(::String, ::Array{Any,1}) at .\loading.jl:685
│  [8] _require_search_from_serialized(::Base.PkgId, ::String) at .\loading.jl:765
│  [9] _require(::Base.PkgId) at .\loading.jl:990
│  [10] require(::Base.PkgId) at .\loading.jl:911
│  [11] require(::Module, ::Symbol) at .\loading.jl:906
│  [12] include at .\boot.jl:328 [inlined]
│  [13] include_relative(::Module, ::String) at .\loading.jl:1094
│  [14] include(::Module, ::String) at .\Base.jl:31
│  [15] include(::String) at .\client.jl:431
│  [16] top-level scope at none:5
│ Exception calling "DownloadFile" with "2" argument(s): "Vzd�len� server vr�til chybu: (407) Vy�adov�no ov��ov�n� proxy serveru."
│ At line:5 char:1
│ + $webclient.DownloadFile("https://github.com/JuliaWeb/MbedTLSBuilder/r ...
│ + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
│     + CategoryInfo          : NotSpecified: (:) [], MethodInvocationException
│     + FullyQualifiedErrorId : WebException
│
└ @ Pkg.Operations C:\cygwin\home\Administrator\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.2\Pkg\src\backwards_compatible_isolation.jl:647
  Building IJulia ─→ `C:\Users\cen82683\.julia\packages\IJulia\fRegO\deps\build.log`

Hallo Mikolas,

i had a similiar issue, i fixed it through patching BinaryProvider.jl (file PlatformEngines.jl starting line 248)

@static if Sys.iswindows()
        # For download engines, we will most likely want to use powershell.
        # Let's generate a functor to return the necessary powershell magics
        # to download a file, given a path to the powershell executable
        psh_download = (psh_path) -> begin
            return (url, path) -> begin
                webclient_code = """
                [System.Net.ServicePointManager]::SecurityProtocol =
                    [System.Net.SecurityProtocolType]::Tls12;
                \$webclient = (New-Object System.Net.Webclient);
                \$webclient.Proxy=[System.Net.WebProxy]::GetDefaultProxy();
                \$webclient.Proxy.Credentials=[net.credentialcache]::defaultcredentials;
                \$webclient.Headers.Add("user-agent", "$agent");
                \$webclient.DownloadFile("$url", "$path")
                """
                replace(webclient_code, "\n" => " ")
                return `$psh_path -NoProfile -Command "$webclient_code"`
            end
        end

The important lines are

 \$webclient.Proxy=[System.Net.WebProxy]::GetDefaultProxy();
 \$webclient.Proxy.Credentials=[net.credentialcache]::defaultcredentials;

this way BinaryProvider can access files through the proxy.

Hope it helps

Philipp

1 Like