Hash Mismatch on Latest Sundials


#1

After doing a Pkg.update() yesterday, I got:

INFO: Could not locate libsundials_sunlinsolklu inside /Users/gideonsimpson/.julia/v0.6/Sundials/deps/usr/lib
INFO: Destination file /Users/gideonsimpson/.julia/v0.6/Sundials/deps/usr/downloads/Sundials.x86_64-apple-darwin14.tar.gz already exists, verifying...
INFO: Verification hash mismatch, hash cache invalidated
INFO: Calculated hash cc15c458d73fb32d406c4e88b1478e0a1eaaf90a4675d91241224c3121ace343 for file /Users/gideonsimpson/.julia/v0.6/Sundials/deps/usr/downloads/Sundials.x86_64-apple-darwin14.tar.gz
==============================[ ERROR: Sundials ]===============================

LoadError: Hash Mismatch!
  Expected sha256:   7c9b0a73c334c9e7cd3b7b43a6df8c9275feb7fd02c7240e3804ea29a50dbedb
  Calculated sha256: cc15c458d73fb32d406c4e88b1478e0a1eaaf90a4675d91241224c3121ace343
while loading /Users/gideonsimpson/.julia/v0.6/Sundials/deps/build.jl, in expression starting on line 56

================================================================================

================================[ BUILD ERRORS ]================================

WARNING: Sundials had build errors.

 - packages with build errors remain installed in /Users/gideonsimpson/.julia/v0.6
 - build the package(s) and all dependencies with `Pkg.build("Sundials")`
 - build a single package by running its `deps/build.jl` script

================================================================================

#2

This is the old binary. Delete the old binaries. I think that’s in the installation folder?

@staticfloat this is what I was mentioning in

It’s a pretty big issue with MacOS because that means BinaryProvider.jl installations can never smoothly update on MacOS. At least in the meantime we should have instructions for users that we can point to, and those should probably be part of the hash warnings.


#3

There’s more to it I think. Trying to resolve the above I basically did Pkg.rm("Sundials"); Pkg.add("Sundials") and the install failed with a 404.

I think the script is pointing to a non-existent binary. When I look in
https://github.com/JuliaDiffEq/SundialsBuilder/releases I see workaround 0.0.2 but not workaround 0.0.3 .

[10:27:31] curl: (22) The requested URL returned error: 404 Not Found
==========================================================================================[ ERROR: Sundials ]==========================================================================================

LoadError: Could not download https://github.com/JuliaDiffEq/SundialsBuilder/releases/download/klu-workaround-0.0.3/Sundials.x86_64-linux-gnu.tar.gz to /home/pasha/.julia/v0.6/Sundials/deps/usr/downloads/Sundials.x86_64-linux-gnu.tar.gz
while loading /home/pasha/.julia/v0.6/Sundials/deps/build.jl, in expression starting on line 56

#4

We had a slight binary provider hiccup. Do a Pkg.update() and you should be fine. Sorry about that! But that’s unrelated to the MacOS BinaryProvider.jl update bug. @pasha let me know when you try it so I can know we’re all good.


#5

I ran Pkg.update() and it’s all good - downloaded, built, installed. Thank you.

Agreed that it’s unrelated to duplicate BinaryProvider. Maybe when those dual hash things show up you could point the user to what to delete to fix it, for example:

To fix, delete file  /Users/gideonsimpson/.julia/v0.6/Sundials/deps/usr/downloads/Sundials.x86_64-apple-darwin14.tar.gz
And rerun Pkg.build("Sundials")

#6

Added that to the issue. Probably a good quick PR.