我正在按照 本教程 尝试在运行 CentOS 7 的大型集群上安装 Spack。
在引导步骤
spack spec zlib
我收到错误:
==> Error: <unknown file>:1: [ordereddict([('compiler', ordereddict([('spec', 'gcc@=4.8.5'), ('paths', ordereddict([('cc', '/bin/gcc'), ('cxx', '/bin/g++'), ('f77', '/bin/gfortran'), ('fc', '/bin/gfortran')])), ('flags', ordereddict()), ('operating_system', 'centos7'), ('target', 'x86_64'), ('modules', []), ('environment', ordereddict()), ('extra_rpaths', [])]))])] is not of type 'object'
我尝试了不同的 Spack 版本。我使用编译器的默认设置,尝试编写compilers.yaml,并多次设置全新安装。虽然
spack list
有效,但 spack compiler find
会抛出相同的错误。此错误中的编译器设置是正确的。
在任何地方都找不到此错误。非常感谢任何帮助!
这个错误让我想起了不久前的一个错误。
您必须检查配置 spack 时是否使用系统 gcc,然后运行 spack 命令时使用本地 gcc(可能是不同版本)。
您可以在运行 spack 之前尝试检查一下,如果您使用:
which gcc
如果你获得本地(/usr/bin/gcc),这意味着你已经使用与运行它时使用的不同的Python配置了spack。
我不知道你是否仍然需要帮助,但你可以尝试创建一个干净的conda环境,使用干净的python并在环境中安装spack。这样您就可以确保始终使用相同的 gcc。