在cygwin上安装Perl模块(make failed)

时间:2013-08-22 11:57:09

标签: perl module makefile cygwin

对于我想在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不起作用。

2 个答案:

答案 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可能也有效。