1

我需要Digest::SHA1一个我想在 cygwin 上运行的 Perl 脚本。但是,我必须使用 CPAN 对其进行配置。在我跑步之前一切似乎都很好cpan[1]> install Digest::SHA1。事情继续,然后我得到以下错误:

/bin/sh: gcc-4: command not found
Makefile:327: recipe for target 'SHA1.o' failed
make: * [SHA1.o] Error 127
GAAS/Digest-SHA1-2.13.tar.gz
/usr/bin /make -- NOT OK
'YAML' 未安装,不会存储持久状态
运行 make test
无法测试没有成功的 make 运行 make install
Make 已返回错误状态,安装似乎不可能
在此命令期间失败:
GAAS/Digest-SHA1- 2.13.tar.gz : 否

看来我必须安装 gcc4。make 错误不是因为它的路径,因为它设置正确(o conf make在 CPAN 返回/usr/bin/make并且我make安装了二进制文件。)。不幸的是 cygwin 不提供 gcc4 包(它被标记为过时的包)。有什么解决方法可以解决这个问题吗?或者有没有办法我可以在 cygwin 下编译 gcc4,因为简单地在 chaninggcc-4gcc不起作用Makefile

4

2 回答 2

5

通常,您必须为 XS 使用与编译 Perl 相同的编译器。你可以尝试强制你拥有的,看看会发生什么:

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
于 2013-08-22T13:04:58.090 回答
2

添加perl Makefile.PL CC=/usr/bin/gcc对我不起作用,因为 Makefile 还包含一个普通的非别名gcc-4(模板工具包的 Makefile)

我只是使用 cp /usr/bin/gcc /usr/bin/gcc-4

可能ln也可以。

于 2014-09-04T09:04:18.473 回答