首页 > 解决方案 > 我无法让“spack mirror add”工作

问题描述

我决定要gcc@10.2使用 spack 安装,所以我运行了命令spack --insecure install gcc@10.2。这将尝试下载https://ftpmirror.gnu.org/gcc/gcc-10.2/gcc-10.2.tar.xz不再存在的 。

gcc-10.2.tar.xz从有效的镜像下载,并尝试添加镜像。

我已经尝试过表单的变体

$ spack mirror add local_filesystem gcc-10.2.tar.xz

但是,spack install gcc@10.2仍然给出了相同的答案。

我不知道如何让 spack 使用镜像进行安装。我错过了什么?

标签: mirrorspack

解决方案


我的理解是你会首先使用 spack 来创建镜像,例如:

spack mirror create -d /tmp/mirror gcc@10.2.0 

这将创建目录 /tmp/mirror 并将压缩包下载到 /tmp/mirror_source_cache,并带有指向 /tmp/mirror/gcc 的符号链接:

$ ll /tmp/mirror/gcc/gcc-10.2.0.tar.xz 
lrwxrwxrwx. 1 willmore jlse 99 Nov 30 20:32 /tmp/mirror/gcc/gcc-10.2.0.tar.xz -> ../_source-cache/archive/b8/b8dd4368bb9c7f0b98188317ee0254dd8cc99d1e3a18d0ff146c855fe16c1d8c.tar.xz

即使您无法使用 自动创建镜像spack mirror create,您仍然可以将 tarball 直接放在该符号链接所在的位置。

然后添加镜像(就是那个目录):

spack mirror add my_mirror file:///tmp/mirror

TLDR:镜像不仅仅是 tarball,它还包含 tarball。另外,您可以尝试添加公共镜像:

spack-public    https://spack-llnl-mirror.s3-us-west-2.amazonaws.com/

推荐阅读