Reputation: 640
I need Digest::SHA1
for a Perl script that I'd like to run on cygwin. However, I have to configure it using CPAN. Everything seems fine until I run cpan[1]> install Digest::SHA1
.
Stuff goes on, then I'm given the following error:
/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' not installed, will not store persistent state
Running make test
Can't test without successful make Running make install
Make had returned bad status, install seems impossible
Failed during this command:
GAAS/Digest-SHA1-2.13.tar.gz : make NO
It seems like I must have gcc4 installed. The make error is not because of its path because it's set up correctly (o conf make
in CPAN returns /usr/bin/make
and I have make
's binaries installed.). Unfortunately cygwin doesn't provide gcc4 package (it's marked as an obsolete package). Is there any workaround to fix this? Or is there a way I can compile gcc4 under cygwin, because simply chaning gcc-4
to gcc
in the Makefile
did not work.
Upvotes: 1
Views: 5809
Reputation: 21
Adding perl Makefile.PL CC=/usr/bin/gcc
did not work for me, since the Makefile contained also a plain non-aliased gcc-4
(Makefile of the Template toolkit)
I simply used cp /usr/bin/gcc /usr/bin/gcc-4
Probably ln
could have worked as well.
Upvotes: 2
Reputation: 39158
Generally, you must use the same compiler for XS that was used to compile Perl. You can try to force the one you have and see what happens:
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
Upvotes: 5