在 slurm 集群中运行脚本时如何修复 perl 语言环境设置错误?

问题描述 投票:0回答:1

我想运行一个名为 trinity 的程序,该程序使用我研究所的高性能集群部分用 perl 编写。我使用 conda 安装 trinity 并尝试通过在 slurm 中提交作业 .sh 文件来运行它。但是作业会在一分钟内中止。 我收到的 slurm 退出代码是 25。我找不到关于此退出代码的任何信息。当我检查 stderr 文件时,我看到了这个:


perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
    LANGUAGE = (unset),
    LC_ALL = (unset),
    LANG = "en_IN"
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
Can't open perl script "Trinity": No such file or directory

我尝试通过在我的脚本中添加以下行来解决这个问题,但错误仍然存在。

export LANGUAGE=en_IN
export LC_ALL=en_IN
export LANG=en_IN

我也打卡了

locales -a
en_IN 确实在列表中,所以我不必做 locale-gen(即使我想做也做不到,因为我没有管理员权限)

我现在迷失了,我是使用 slurm 的初学者。我该如何解决这个问题。我坚持了几个月。

perl locale slurm hpc
1个回答
0
投票

关于

Can't open perl script "Trinity": No such file or directory

在环境的

Trinity.pl
中似乎缺少通往
PATH
的路径。

----原因

Can't open Perl script
的简单搜索让我找到了

https://perldoc.perl.org/perldiag#Can't-open-perl-script-%22%25s%22%3a-%25s

无法打开 perl 脚本“%s”:%s (F)

您指定的脚本 由于指定原因无法打开。

如果您正在调试使用 #! 的脚本,并且通常依赖于 shell 的 $PATH 搜索,-S 选项导致 perl 进行搜索,所以 你不必输入路径或

which $scriptname
.

https://perldoc.perl.org/perlrun#-S

使 Perl 使用“PATH”环境变量来搜索程序,除非程序名称包含路径分隔符。

© www.soinside.com 2019 - 2024. All rights reserved.