spack 预计 <commit> 但得到 <commit>

spack expected <commit> but got <commit>

我想用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 中找不到版本控制规范。

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

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

中列出的校验和不匹配

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

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

P.S。 Spack 目前在 Whosebug 上不是很活跃。你最好在 GitHub or Slack.

上询问