对于spack,我正在尝试使用先前安装的openmpi@3.1.5
安装软件包。
在具体化过程中出现以下错误:
错误:尝试在软件包“ openmpi”中设置变体“ wrapper-rpath”,但该软件包没有这种变体[在具体化过程中发生...]
实际上,如果我执行spack info openmpi
,则没有wrapper-rpath
,而是runpath
变体。
因此,我手动将spack-db/index.json
更改为将runpath而不是wrapm-rpath放入openmpi变体中。因此具体化是成功的,但是在安装过程中我遇到了以下问题:
错误:规范openmpi @ 3.1.5%gcc @ 7.3.1 ... + runpath + ...和openmpi @ 3.1.5%gcc @ 7.3.1 ... + wrapper-rpath + ...有相同的SHA-1前缀!
所以我的理解是,变体名称的更改会导致产生一个新的SHA1,我应该在任何地方都更改此SHA1。
首先,我是否对变体的名称进行了更改?其次,有没有一种简单的方法可以相应地更新数据库并继续使用已安装的软件包?
谢谢!
答案 0 :(得分:0)
首先,我对变体的名称进行了更改吗?
是的,变体名称在https://github.com/aws/aws-logging-dotnet/issues/134中已更改
第二,是否有一种简单的方法可以相应地更新数据库并继续使用已安装的软件包?
不幸的是没有。您可以重建openmpi
,也可以使用其哈希显式链接到它。请参见spack find -l openmpi
以查找哈希。然后像spack install foo ^/hashofopenmpi
一样使用它。