执行二进制文件不起作用,也没有返回任何内容,尽管这是预期的

执行二进制文件不起作用,也没有返回任何内容,尽管这是预期的

我从这里下载了 biber:http://sourceforge.net/projects/biblatex-biber/files/biblatex-biber/1.6/binaries/Linux/

64 位和 32 位可执行文件对我来说都不起作用:下载并解压档案文件后,运行:

./biber --help

不输出任何内容(它返回到 bash)。我还安装了 texlive 2013 预测试版,但 biber 编译器也不起作用(同样的症状:什么都没发生)。:(。有人知道该怎么办吗?我测试了 sourceforge 上提供下载的各种版本的 biber,但都没有成功。

如果你能帮助我,我会非常高兴:)

我在 Ubuntu 13.04 上运行。

答案1

好的,问题解决了:

sudo mount -o remount,exec /tmp

成功了,因为/tmp是用选项安装noexec的。

Biber 包含 par,/tmp在执行之前会提取出来,因此/tmp必须允许执行。

可以通过查看输出来验证这一点strace biberhttp://pastebin.com/X0tC5ABz

在哪里

stat("/tmp/par-75736572/cache-371b0cf3aa3eec4dfb0c82647515336d327c4e62/libperl.so.5.10.0", {st_mode=S_IFREG|0755, st_size=1503704, ...}) = 0 execve("/tmp/par-75736572/cache-371b0cf3aa3eec4dfb0c82647515336d327c4e62/biber", ["biber"], [/* 73 vars */]) = -1 EACCES (Permission denied) exit_group(255)

给出提示。

由于我的声誉分数不够:有人可以把标题改得更笼统一些,以便面临类似问题的人有机会找到解决方案:示例:执行二进制文件返回到命令提示符,但没有输出,尽管这是预期的。

相关内容