Компиляция WWW :: Curl на ActivePerl - PullRequest
0 голосов
/ 23 марта 2011

Я пытаюсь (отчаянно) собрать / установить новейшую версию WWW :: Curl на свой ящик activeperl (я сейчас объясню, почему я не использую PPM)

Iпришлось внести некоторые изменения в соответствии с инструкциями, найденными здесь: http://cpansearch.perl.org/src/SZBALINT/WWW-Curl-4.15/README.Win32

Мне также пришлось изменить следующую строку:

С:

open(H_IN, "-|" "gcc", "$curl_h") and $has_cpp++;

To:

open(H_IN, "gcc $curl_h") and $has_cpp++;

Я наконец-то заставил Perl Makefile.PL работать, но теперь, когда я запускаю nmake, я получаю следующее:

Missing right curly or square bracket at -e line 1, at end of line
Execution of -e aborted due to compilation errors.
NMAKE:  fatal error U1077:  'C;|windows\system32\cmd.exe' : return code '0xff'
Stop.

Теперь причина, по которой я пытаюсьчтобы скомпилировать это, а не использовать PPM, предоставленный u.winnipeg, это потому, что PPM, похоже, не поддерживает транзакцию SSL (я получаю «libcurl: ssl отключен») Теперь, если кто-нибудь может показать мне, как заставить ssl работать наэтот PPM, я более чем счастлив использовать его.

Большое спасибо заранее

Ответы [ 3 ]

1 голос
/ 24 марта 2011

Ну, я наконец-то понял это, спасибо всем, кто откликнулся. Было несколько вещей, которые мне пришлось изменить.

Использование http://cpansearch.perl.org/src/SZBALINT/WWW-Curl-4.15/README.Win32 в качестве руководства:

Открытый cmd, как я делал выше, работал нормально. Тем не менее, я использовал совет, полученный от ikegami, reinierpost и mob.

Используя nmake / n (согласно совету от socket puppet), он распечатывал все выполняемые операторы perl. Я взял этот вывод и поместил его в файл .bat и исправил синтаксис perl.

Я изменил все экземпляры

pm_to_blib({{@ARGV}

до

pm_to_blib({@ARGV}

(тревожно, что они были возвращены)

Затем мне пришлось связать библиотеки libcurl с каждой строкой, создающей экземпляр g ++, которые не были связаны правильно. После того, как я добавил эти ссылки, все остальное прошло гладко.

Это были добавлены:

C:\lc\curl\lib\libcurl.a C:\lc\curl\lib\libcurldll.a

Теперь WWW :: Curl успешно работает в моей системе.

Что касается использования версии PPM, то именно из-за SSL мне пришлось обновить. Последняя версия WWW :: Curl - 4.15, версия на миллион - (я полагаю) 3.02

1 голос
/ 23 марта 2011

Полагаю, оригинал был

open(H_IN, "-|", "gcc", "$curl_h")

Причина, по которой вы должны изменить это, потому что никто не удосужился реализовать функцию в Windows. Измените его на

open(H_IN, qq{gcc "$curl_h" |})

Используйте правильное имя и синтаксис для вашего компилятора.

0 голосов
/ 24 марта 2011

Во-первых, многие люди не знают, что вы можете использовать ppm для установки MinGW и использовать cpan для установки модулей .

Во-вторых, если libcurl, предоставляемый вашим модулем, не поддерживает SSL, вы можете попробовать заменить его на подходящую версию SSL со страницы загрузки . Это может не сработать, но вам также может повезти.

...