Gcc 如何设置USIF特定变量“;GLIBC“;在modulefile中?
我在一个基于slurm的HPC集群中工作,在过去的5年中我一直在这样做。我们加载和卸载分析所需的模块,其中包括Gcc 如何设置USIF特定变量“;GLIBC“;在modulefile中?,gcc,glibc,hpc,slurm,modulefile,Gcc,Glibc,Hpc,Slurm,Modulefile,我在一个基于slurm的HPC集群中工作,在过去的5年中我一直在这样做。我们加载和卸载分析所需的模块,其中包括gcc等编译器。直到两天前,这对我来说还是天衣无缝的。在过去两天中,每次我尝试加载任何模块时,都会出现以下错误: Couldn't set USIF specific variable "GLIBC" in modulefile - please contact system administration! (Refer to UMEA register_USIF.
gcc
等编译器。直到两天前,这对我来说还是天衣无缝的。在过去两天中,每次我尝试加载任何模块时,都会出现以下错误:
Couldn't set USIF specific variable "GLIBC" in modulefile - please contact
system administration! (Refer to UMEA register_USIF.sh utility.)
互联网没有任何帮助,因为这一问题似乎没有得到解决。系统管理员目前没有回复我的邮件,因此我的工作因此完全停止
我已尝试从另一台计算机和另一个帐户装载/卸载模块,但效果良好,因此问题绑定到我的帐户
这里有人有过这方面的经验吗?如果是这样的话,是什么引发了这场危机?我甚至不知道从哪里开始寻找,或者是什么原因导致了这种情况,因为我们没有安装自己的编译器
编辑#1:
我的$LD\u LIBRARY\u路径
如下所示:
LD_LIBRARY_PATH=:/cm/shared/apps/slurm/current/lib:/cm/shared/apps/slurm/current/lib/slurm
我对开头的:
有点怀疑。是否缺少第一个组件?我没有触及这个变量
编辑#2:
经过一些其他的挖掘,并将我的环境与一位对此没有问题的同事的环境进行比较,我发现我的env
中缺少以下三个变量:
UMEA_HOME=/opt/sw/UMEA/current
UMEA_INCLUDE=/opt/sw/UMEA/current/include
UMEA_CONFIG=/opt/sw/UMEA/current/config
我还发现,$CPATH
以一个:
开头,就像$LD\u LIBRARY\u PATH
,而他的$CPATH
没有:
CPATH=:/cm/shared/apps/slurm/current/include
我试图导出…
它们,但没用。然而,这让我觉得还有一个更深层次的问题
编辑#3:
按照下面评论中的要求,我已经完成了模块显示gcc/5.3
,以查看实际的模块文件。内容如下:
#%Module######################################################################
##
source $env(UMEA_INCLUDE)/vsc_include.tcl
source $env(UMEA_INCLUDE)/common_include.tcl
source $env(UMEA_INCLUDE)/prereq_include.tcl
set verbosity 0
set_versions
set base_path [ load_unload ]
set_paths $base_path $module_name
set_version_number 2
setenv CC gcc
setenv CXX g++
setenv FC gfortran
setenv F77 gfortran
setenv F90 f95
setenv GDB gdb
setenv VSC_COMPILER_NAME ${module_name}
setenv VSC_COMPILER_VERSION ${module_version}
我们与HPC集群的系统管理员一起解决了这个问题。这真是一件愚蠢的事情,我发布答案只是为了让其他有同样问题的人知道该去哪里寻找,而不会失去几天的尝试和错误 问题源于
$PATH
。在某些情况下,您可能希望通过执行PATH=/my/extra/PATH/directory:${PATH}
来更新$PATH
变量,但在这种情况下,我必须将我的额外路径放在末尾,如PATH=${PATH}:/my/extra/PATH/directory
直到两天前,这才成为一个问题。五年来,它一直运作良好。也许他们在系统管理方面做了一些更改,因此在my$PATH
中找不到所需的可执行文件
我检查过了,我是我的同事中唯一一个在.bashrc
中修改了$PATH
。这就解释了为什么只有我有这个问题
无论如何,如果您正在阅读此文章,并且遇到了相同的问题,那么您知道应该在哪里查找。查看您尝试加载的ModuleFile的内容将有助于确定出现此类错误的原因message@XavierDelaruelle我认为我没有访问权限,因为这需要root权限(我认为)。执行
模块显示gcc
将为您提供存储模块文件的路径,然后您应该能够读取该路径file@XavierDelaruelle我用模块show gcc/5.3