Gcc 如何设置USIF特定变量“;GLIBC“;在modulefile中?

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.

我在一个基于slurm的HPC集群中工作,在过去的5年中我一直在这样做。我们加载和卸载分析所需的模块,其中包括
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