latexmk 错误“eval 中的不安全依赖关系”

latexmk 错误“eval 中的不安全依赖关系”

latexmk 突然停止工作(Ubuntu 16.04.1 下版本 1:4.41-1,带有来自 Ubuntu 存储库的 texlive-full)和“为 x86_64-linux-gnu-thread-multi 构建的 Perl 5,版本 22,subversion 1(v5.22.1)”

无论我使用什么选项,它都会立即死机:

Insecure dependency in eval while running setgid at /usr/bin/latexmk line 3193, <GEN0> chunk 1.

添加 -diagnostics 选项不会提供任何附加信息。我对 Perl 了解不够多,无法理解它在 3193 行做什么,但它似乎正在尝试查找 .latexmkrc 文件,并且无法执行 open(),因为它认为这是一个安全风险。

my $RCH = new FileHandle;
if ( !-e $rc_file ) {
    warn "$My_name: The rc-file '$rc_file' does not exist\n";
    return 1;
}
elsif ( -d $rc_file ) {
    warn "$My_name: The supposed rc-file '$rc_file' is a directory; but it\n",
         "          should be a normal text file\n";
    return 1;
}
elsif ( open $RCH, "<$rc_file" ) {
    { local $/; eval <$RCH>; } #### This is line 3193
    close $RCH;
}
else {
    warn "$My_name: I cannot read the rc-file '$rc_file'\n";
    return 1;
}

有其他人遇到过这个问题吗?或者知道它可能在做什么吗?我的 latexmk 在所有其他平台上都运行良好。

答案1

我发现在 latexmk 安装目录的上一级目录中设置了 setuid 位。清除该位后问题就解决了(但可能破坏了其他东西,但那是另一天的工作)。

我如何将此问题标记为已解决?

相关内容