openmpi - 与已安装软件包中的变体冲突
问题描述
使用 spack,我正在尝试使用以前安装的openmpi@3.1.5
. 在具体化过程中出现以下错误:
错误:试图在包“openmpi”中设置变体“wrapper-rpath”,但包没有这样的变体[在具体化过程中发生......]
确实,如果我这样做spack info openmpi
,则wrapper-rpath
只有一个runpath
变体。
因此,我手动更改了spack-db/index.json
在 openmpi 变体中放置 runpath 而不是 wrapper-rpath。因此,具体化是成功的,但在安装过程中我遇到了以下问题:
错误:规范 openmpi@3.1.5%gcc@7.3.1 ... +runpath + ... 和 openmpi@3.1.5%gcc@7.3.1 ... + wrapper-rpath + ... 具有相同的 SHA -1 前缀!
所以我的理解是变体名称的改变会产生一个新的SHA1,我应该到处改变这个SHA1。
首先,我对变体的名称已更改是否正确?其次,有没有一种简单的方法来相应地更新数据库并继续使用已经安装的包?
感谢!
解决方案
首先,我对变体的名称已更改是否正确?
是的,变体名称已在https://github.com/spack/spack/pull/17073中更改
其次,有没有一种简单的方法来相应地更新数据库并继续使用已经安装的包?
不幸的是没有。您可以重新openmpi
构建,也可以使用其哈希显式链接到它。请参阅spack find -l openmpi
以查找哈希。然后像spack install foo ^/hashofopenmpi
.
推荐阅读
- java - 如何修复“com.jdbc.SQLServerException:无效的列名'taxi_id'”
- android - 如何在当前窗口上绘制画布?(不使用 setContentView)
- java - 登录后触发欢迎屏幕 2-3 秒
- solr - 如何查询(销售或折扣)和至少两个水果
- python - 删除哨兵中的当前面包屑
- blazor - IE11 中的 Blazor 服务器端 onclick 不起作用
- react-native - 如何在 React-Native 中使用 SIP 协议或 WebRTC 技术拨打电话?
- python-3.x - 不使用 itertools 的所有字符串排列
- elasticsearch - 使用 ElasticSearch 7.1 和 log4j2.11.1 进行远程数据存储处理
- rxjs - 如何获取存储为主题 rxjs 的数据