I am behind a corporate firewall but am authenticated to access the internet. I can access any site using curl . But I keep running into this error in Julia when installing packages:
│ [18:12:51] curl: (60) Peer’s Certificate issuer is not recognized.
The problem seems to be downloading from github. Does Julia ship with its own git and SSL certificates for it? I am using v1 .2.
Another is to change where the pkg manager points. JuliaLang hosts an alternate location I forget the URL now but if that doesn’t work let us know and I’ll try to dig it up.
I can curl or wget any site. The issue seems Julia calls git which does not seem to see these proxy variables or something. Or it is not seeing or using the correct SSL certificates . We have the corporate SSL certificates installed in:
/etc/pki/ca-trust/source/anchors
Not sure how to debug if it is proxy issue or SSL certificate issue?
So when I was debugging this I found Julia calls LibGit2 via LibGit.jl(I think) and not Git directly. This complicates things a little more. Also, can I ask which OS you are using? Curl can also have unexpected behaviour behind corporate … situaitons.
You should be able to change where Julia get’s it’s packages too: ie they have different pkg servers here’s one which directs to your nearest available server: https://pkg.julialang.org/. trying to dig up the command to set so Pkg.jl uses it.
In the absolute worst case you can set up a pkg server locally with something like: GitHub - JuliaPackaging/PkgServer.jl
or using JuliaTeams! The JuliaTeams team is really nice and helpful.
Or the end of the road. Offer many great gifts to your sysadmin and promise them Julia is not malicious.
oh well your corporate environment is way more sane then my own! We have a predominately windows stack, very complicated network, and that complicates cert’s to a huge extent.
So I spoke too soon and the “certificate error” has resurfaced again. I can install packages like CSV without any issue. But if I try to install Plots, I run into this:
curl performs SSL certificate verification by default, using a “bundle”
of Certificate Authority (CA) public keys (CA certs). If the default
bundle file isn’t adequate, you can specify an alternate file
using the --cacert option.
If this HTTPS server uses a certificate signed by a CA represented in
the bundle, the certificate verification probably failed due to a
problem with the certificate (it might be expired, or the name might
not match the domain name in the URL).
If you’d like to turn off curl’s verification of the certificate, use
ERROR: Unable to automatically install ‘LibVPX’ from ‘/Apps/users/hussaif1/.julia/packages/LibVPX_jll/os8kH/Artifacts.toml’
To anyone else who might be encountering this problem, it was solved for me by typing
export BINARYPROVIDER_DOWNLOAD_ENGINE="wget"
at the (bash) shell, then opening Julia and installing packages as I normally would. My understanding is that this changes the package download command from curl to wget and bypasses the issues documented above.