我想运行一个名为 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 的初学者。我该如何解决这个问题。我坚持了几个月。
关于
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”环境变量来搜索程序,除非程序名称包含路径分隔符。