diff options
-rw-r--r-- | lib/spack/spack/installer.py | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/lib/spack/spack/installer.py b/lib/spack/spack/installer.py index a0f505a922..252c799304 100644 --- a/lib/spack/spack/installer.py +++ b/lib/spack/spack/installer.py @@ -1773,6 +1773,16 @@ class PackageInstaller(object): spack.hooks.on_install_cancel(task.request.pkg.spec) raise + except binary_distribution.NoChecksumException as exc: + if not task.cache_only: + # Checking hash on downloaded binary failed. + err = "Failed to install {0} from binary cache due to {1}:" + err += " Requeueing to install from source." + tty.error(err.format(pkg.name, str(exc))) + task.use_cache = False + self._requeue_task(task) + continue + except (Exception, SystemExit) as exc: self._update_failed(task, True, exc) spack.hooks.on_install_failure(task.request.pkg.spec) |