如何更改 Spack 存储 spack-stage 目录的位置?

Mak*_*isH 3 linux package-managers spack

默认情况下,Spack(在我的系统上)spack-stage写入/tmp/. 当构建一些大的东西(例如 GCC 本身)时,这个目录可能会变满,至少在我正在使用的共享系统中:

fatal error: error writing to /tmp/ccPlIYSg.s: No space left on device
Run Code Online (Sandbox Code Playgroud)

有什么方法可以告诉 Spack 使用不同的位置吗spack-stage

Jan*_* S. 6

根据spack 文档,您只需要指定$TMP指向您选择的目录。

在某些(例如 HPC)系统上的临时目录中构建速度可能会更快。指定$tempdir将确保使用默认临时目录(即,$TMP$TMPDIR)。
防止冲突和潜在权限问题的另一个选项是指定~/.spack/stage,这确保每个用户都在其主目录中构建。