我正在尝试在 HPC 集群上创建自定义私有环境模块,如下所示:https://researchcomputing.princeton.edu/support/knowledge-base/custom-modules
我的私有模块出现在命令的输出中module avail
。但是,当我尝试加载其中之一时,出现以下错误:
Lmod has detected the following error: /home/a_thomas.iitr/modulefiles/qe_7.0: (qe_7.0): can't read "_sp_initializing:-": no such variable
While processing the following module(s):
Module fullname Module Filename
--------------- ---------------
qe_7.0 /home/a_thomas.iitr/modulefiles/qe_7.0
模块内容qe_7.0
如下:
#%Module1.0
source /home/apps/spack/share/spack/setup-env.sh
spack load [email protected]%[email protected]
spack load [email protected]%[email protected]
set QE_PATH /scratch/a_thomas.iitr/files_temp/SWs/7.0_install
prepend-path PATH $QE_PATH/bin
我在互联网上搜索了有关此的任何信息,但无济于事。任何有关如何解决此问题的建议将不胜感激。
答案1
您链接的网页说:
模块文件是用Tcl语言编写的。
这一行似乎正在尝试读取.sh
shell 脚本:
source /home/apps/spack/share/spack/setup-env.sh
在 Tcl 语言中,该source
命令期望指定的文件是另一个 Tcl 脚本,不是 shell 脚本。
如果setup-env.sh
包含类似的文本_sp_initializing:-
(或根据 Tcl 规则(错误)解释时变成的文本),则可以确认该问题。