【发布时间】:2011-06-11 15:39:26
【问题描述】:
编译程序时有时会出现此错误:
make[1]: /usr/bin/perl: Command not found
make[1]: *** [links] Error 127
任何需要 perl 编译的程序都会发生这种情况,例如 openssl 和 automake。然而:
sh-2.05b# perl -v
This is perl, v5.10.0 DEVEL34342 built for arm-linux-thread-multi
(with 1 registered patch, see perl -V for more detail)
sh-2.05b# /usr/bin/perl -v
This is perl, v5.10.0 DEVEL34342 built for arm-linux-thread-multi
(with 1 registered patch, see perl -V for more detail)
我肯定安装了 perl。怎么回事?
【问题讨论】:
-
您在什么样的系统上开发了脚本(和生成文件)?实际文件是否最初来自 Windows 系统?
-
嗯,这消除了一种可能性(在 /usr/bin/perl 定义的末尾有一个不可见的 ^M,因为文件是从不同的操作系统导入而没有转换的)。跨度>
-
这很奇怪。你能告诉我们makefile规则吗? (注意它是递归调用的。)
-
我的第一个猜测是 Perl 安装在 /usr/bin 以外的其他地方。尝试在命令行中输入“which perl”或“type perl”来找出 Perl 的安装位置。
-
好吧,我通过直接调用 make 来解决这个问题。由于某种原因,如果被另一个脚本调用,它不会找到 perl。
标签: perl makefile compilation arm gnu-make