JuliaLinearAlgebra / MatrixDepot.jl

An Extensible Test Matrix Collection for Julia
http://matrixdepotjl.readthedocs.org/
Other
75 stars 22 forks source link

Download of MatrixMarket on ARM fails #71

Closed mdpetters closed 3 years ago

mdpetters commented 3 years ago

Download fails on ARM with Armbian 20.11.3 Focal with Linux 5.9.14-rockchip64 and a fresh install of Julia v1.5.3 and MatrixDepot v1.0.3

dowloading index file http://math.nist.gov/MatrixMarket/matrices.html
┌ Warning: exception during initialization: 'ProcessFailedException(Base.Process[Process(`sh -c 'curl "http://math.nist.gov/MatrixMarket/matrices.html" -Lso "/home/mdpetter/.julia/packages/MatrixDepot/1equL/data/mm_matrices.html"'`, ProcessExited(60))])'
└ @ MatrixDepot ~/.julia/packages/MatrixDepot/1equL/src/MatrixDepot.jl:144

The command curl "http://math.nist.gov/MatrixMarket/matrices.html" -Lso "/home/mdpetter/.julia/packages/MatrixDepot/1equL/data/mm_matrices.html" works as expected when executed in sh or bash.

KlausC commented 3 years ago

Commandline curl ... returned with exit code 60. According to the man pages of curl that means 60 Peer certificate cannot be authenticated with known CA certificates. I have no glue, how that interferes with the way, the command is called from Julia. Did you also try to call sh -c 'curl ...' from the command line?

KlausC commented 3 years ago

You may want to load the data files to a dedicated directory (instead of the Julia package installation directory) by setting the environment variables MATRIXDEPOT_DATA and MATRIXDEPOT_MYDEPOT to your own directories.

mdpetters commented 3 years ago

I tried again before setting the path and it worked. Then cleaned .julia/ folder, reinstalled and it succeeded. It's unclear to me what might have caused the issue since it worked on my main machine on the same network.

KlausC commented 3 years ago

Maybe this stack overflow item can help: https://stackoverflow.com/questions/14682894/getting-error-in-curl-peer-certificate-cannot-be-authenticated-with-known-ca-c . Current curl version is 7.73. The common advise is: "Update the ca-certificates package"

KlausC commented 3 years ago

I think, the issue was not with the julia or MatrixDepot installation, but with the openssl setup of your OS. There is typically an OS package calles ca-certificates which can be updated using apt or yum or dnf depending on your Linux flavour.

It might also be a temporary problem with the ftp server, which is accessed.

Then cleaned .julia/ folder

the contents of .julia may represent quite an amount of work. To remove a package, you can use ]remove ... in the julia-REPL.

StefanKarpinski commented 3 years ago

If the PATH is set differently in different shells, you may be calling a different curl binary in different contexts, which might look for CA roots in different places, which could explain this. Otherwise, if you're calling the same curl the same way, it's hard to explain different results like this.

StefanKarpinski commented 3 years ago

Did you figure out what was going on?

mdpetters commented 3 years ago

I continue to have no explanation. It's annoying that it is not reproducible. Since the issue somehow resolved itself, I would think it was an OS issue with certificates updating in the background. Probably not worth worrying about unless anyone else is running into this.