![latexmk 错误“eval 中的不安全依赖关系”](https://linux22.com/image/345719/latexmk%20%E9%94%99%E8%AF%AF%E2%80%9Ceval%20%E4%B8%AD%E7%9A%84%E4%B8%8D%E5%AE%89%E5%85%A8%E4%BE%9D%E8%B5%96%E5%85%B3%E7%B3%BB%E2%80%9D.png)
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 位。清除该位后问题就解决了(但可能破坏了其他东西,但那是另一天的工作)。
我如何将此问题标记为已解决?