# Cannot add certain packages (proxy error)

**URL:** <https://discourse.julialang.org/t/cannot-add-certain-packages-proxy-error/29940>\
**Category:** General Usage\
**Tags:** pkg\
**Created:** [October 15, 2019, 1:42pm UTC](https://discourse.julialang.org/t/cannot-add-certain-packages-proxy-error/29940 "2019-10-15T13:42:50Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![mikolas](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mikolas/32/10831_2.png) [@mikolas](https://discourse.julialang.org/u/mikolas)\
**Post date:** [October 15, 2019, 1:42pm UTC](https://discourse.julialang.org/t/cannot-add-certain-packages-proxy-error/29940/1 "2019-10-15T13:42:50Z")

</div>

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:

- [Cannot add packages (maybe due to corporate firewall?)](https://discourse.julialang.org/t/cannot-add-packages-maybe-due-to-corporate-firewall/19352) - different error (timeout)
- [Julia does not recognize proxy settings #30635](https://github.com/JuliaLang/julia/issues/30635) - not sure if this is relevant as apparently in my case at least some calls to Git are successful. See also issues referenced there.

REPL output as image:

 ![scr123](https://global.discourse-cdn.com/julialang/original/3X/9/d/9d914f70d39d60fca095ca740577d9681c7367f0.png)

REPL output as text:

```julia
(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`

```

---

<div class="post-metadata">

**Author:** ![philipp\_polterauer](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/philipp_polterauer/32/11393_2.png) [@philipp\_polterauer](https://discourse.julialang.org/u/philipp_polterauer)\
**Post date:** [October 16, 2019, 11:20am UTC](https://discourse.julialang.org/t/cannot-add-certain-packages-proxy-error/29940/2 "2019-10-16T11:20:05Z")

</div>

Hallo Mikolas,

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

```julia
@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

```julia
 \$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
