对于我想在cygwin上运行的Perl脚本,我需要Digest::SHA1
。但是,我必须使用CPAN进行配置。在我运行cpan[1]> install Digest::SHA1
之前,一切似乎都很好。
东西继续,然后我给出了以下错误:
/ bin / sh:gcc-4:找不到命令
Makefile:327:目标`SHA1.o'的配方失败了 make: * [SHA1.o]错误127
GAAS /摘要-SHA1-2.13.tar.gz
/ usr / bin / make - 不行 'YAML'未安装,不会存储持久状态
跑步测试
没有成功制作就无法测试 正在运行make install
使得已经返回不良状态,安装似乎不可能 在此命令期间失败:
GAAS / Digest-SHA1-2.13.tar.gz:make NO
好像我必须安装gcc4。 make错误不是因为它的路径,因为它设置正确(CPAN中o conf make
返回/usr/bin/make
并且我安装了make
个二进制文件。)。不幸的是,cygwin没有提供gcc4包(它被标记为过时的包)。有没有解决方法来解决这个问题?或者有没有办法在cygwin下编译gcc4,因为在gcc-4
中简单地将gcc
转换为Makefile
不起作用。
答案 0 :(得分:4)
通常,您必须对用于编译Perl的XS使用相同的编译器。你可以试着强迫你拥有的那个,看看会发生什么:
cpan> look Digest::SHA1
Digest-SHA1-2.13$ perl Makefile.PL CC=/usr/bin/gcc LD=/usr/bin/gcc
Digest-SHA1-2.13$ make ; make test ; make install
答案 1 :(得分:1)
添加perl Makefile.PL CC=/usr/bin/gcc
对我来说不起作用,因为Makefile还包含一个普通的非别名gcc-4
(模板工具包的Makefile)
我只是用过 cp / usr / bin / gcc / usr / bin / gcc-4
也许ln
可能也有效。