假设我在my_env
spack activate my_env另外,假设我有外部包,例如系统安装的openmpi。然后生成文件系统视图:
spack env view regenerate然后我收到警告:
Skipping external package: openmpi实际上,openmpi的二进制文件没有被符号链接到我的文件系统视图中。我的问题是:这样做有什么特别的原因吗?有没有办法告诉spack,它也应该将外部包放在文件系统视图中?
请注意,与文件系统视图相反,在通过spack env loads生成模块时包含外部包。
发布于 2022-06-22 05:14:27
外部包被跳过,因为支持3种不同类型的视图:符号链接、硬链接和复制。
当spack复制二进制文件时,它试图使它们成为可重定位,但是对于系统/外部二进制文件,它是有点疯狂的西方。因此,跳过外部元素以保持行为的一致性,并防止spack在复制和硬链接视图中创建的潜在问题二进制文件。这种情况今后可能会改变。如果这是一个足够大的关注,那么请在github上提交一个问题。
正如您已经注意到的,loads加载系统二进制文件是自动的。这是因为loads文件只是加载模块,spack为环境中的每个包(包括外部包)创建了一个模块。
https://stackoverflow.com/questions/68679613
复制相似问题