0

我想用 spack 安装 nalu。我的安装失败并显示一条神秘的错误消息:

$ spack clean nalu
==> Cleaning build stage [nalu@master%clang@8.1.0-apple build_type=RelWithDebInfo ~openfast arch=darwin-sierra-x86_64 /5vijzp7]

$ spack install nalu
==> pkg-config is already installed in /Users/kilojoules/spack/opt/spack/darwin-sierra-x86_64/clang-8.1.0-apple/pkg-config-0.29.2-72rz43flet5qcqtnx6zimnqy4ilk3tys
 ......
==> superlu is already installed in /Users/kilojoules/spack/opt/spack/darwin-sierra-x86_64/clang-8.1.0-apple/superlu-4.3-yveqzmkbbuutdcdj27m5cyyqlchwzvql
==> trilinos is already installed in /Users/kilojoules/spack/opt/spack/darwin-sierra-x86_64/clang-8.1.0-apple/trilinos-12.12.1-ff27cjskjbktug3ubqwdg5izvutewyjj
==> Installing yaml-cpp
==> Already downloaded /Users/kilojoules/spack/var/spack/stage/yaml-cpp-0.5.3-x7shbh5adkjvzxrjmfdlppt3ka5v6moy/yaml-cpp-0.5.3.tar.gz
==> Error: ChecksumError: md5 checksum failed for /Users/kilojoules/spack/var/spack/stage/yaml-cpp-0.5.3-x7shbh5adkjvzxrjmfdlppt3ka5v6moy/yaml-cpp-0.5.3.tar.gz
    Expected 4e47733d98266e46a1a73ae0a72954eb but got 2bba14e6a7f12c7272f87d044e4a7211
ChecksumError: ChecksumError: md5 checksum failed for /Users/kilojoules/spack/var/spack/stage/yaml-cpp-0.5.3-x7shbh5adkjvzxrjmfdlppt3ka5v6moy/yaml-cpp-0.5.3.tar.gz
    Expected 4e47733d98266e46a1a73ae0a72954eb but got 2bba14e6a7f12c7272f87d044e4a7211

/Users/kilojoules/spack/lib/spack/spack/package.py:997, in do_fetch:
     29            self._fetch_time = time.time() - start_time
     30    
     31            if spack.do_checksum and self.version in self.versions:
  >> 32                self.stage.check()
     33    
     34            self.stage.cache_local()

我试图转到有问题的文件夹并检查它预期的提交,但我在/Users/kilojoules/spack/var/spack/stage/yaml-cpp-0.5.3-x7shbh5adkjvzxrjmfdlppt3ka5v6moy.

这意味着什么?我该如何解决这个问题?

4

1 回答 1

1

此错误消息表示 Spack 下载了yaml-cpp-0.5.3.tar.gztarball,但此 tarball 的校验和与package.py.

在这种情况下,发生的事情是您下载了,然后 GitHub 更改了他们的自动 tarball 生成算法,然后上游更新yaml-cpp了 中的校验和。package.py有关更多信息,请参阅https://github.com/spack/spack/pull/6924

要解决您的问题,请手动删除 tarball 或运行spack clean --downloads以删除所有缓存的 tarball。

PS Spack 目前在 StackOverflow 上不是很活跃。你最好在GitHubSlack上提问。

于 2018-08-02T19:51:42.117 回答