2013-08-22 3 views
0

Мне нужен Digest::SHA1 для сценария Perl, который я бы хотел запустить на cygwin. Однако я должен настроить его с помощью CPAN. Все кажется прекрасным, пока я не запустил cpan[1]> install Digest::SHA1. Материал идет, то я дал следующее сообщение об ошибке:Установка модуля Perl на cygwin (make failed)

/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

Похоже, я должен быть установлен gcc4. Ошибка make не из-за его пути, потому что он настроен правильно (o conf make в CPAN возвращает /usr/bin/make, и у меня установлены двоичные файлы make.). К сожалению, cygwin не предоставляет пакет gcc4 (он помечен как устаревший пакет). Есть ли способ обхода проблемы? Или есть способ, которым я могу скомпилировать gcc4 под cygwin, потому что просто chaning gcc-4 до gcc в Makefile не работал.

ответ

3

Как правило, вы должны использовать тот же компилятор для 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 
+0

Я 'cd''d в каталоге, а затем запустил' perl Makefile.PL CC =/usr/bin/gcc'. Затем был написан «Makefile», а также «MYMETA.yml». 'make install' дал мне следующий результат: http://pastebin.com/jgnKLnXB. Есть идеи? – arnaudoff

+0

Также необходимо изменить компоновщик. Я обновил ответ выше. Пожалуйста, также запустите 'make test', это важно! Он сразу скажет вам, работал ли этот небольшой эксперимент или нет. Если это сработает, вы можете [изменить конфигурацию CPAN 'makepl_arg' и' mbuildpl_arg'] (http://p3rl.org/CPAN#Config-Variables), чтобы сделать это постоянным. – daxim

1

Добавление perl Makefile.PL CC=/usr/bin/gcc не работает для меня, так как Makefile содержал также простой, не алиас gcc-4 (Makefile в Template Toolkit)

я просто использовал ф/USR/бен/ССАГПЗ/USR/бен/GCC-4

Вероятно ln мог бы работать, как хорошо.

Смежные вопросы