Xpoint
   [напомнить пароль]

Установка новых модулей Perl в Windows

Метки: [без меток]
2006-08-17 18:36:16 [обр] gammaray[досье]
Создал новую тему, вопросы по которой начались в теме "Вопросы по модулю Net::SMPP".
Проблема всё та же! Как ставить модули Perl в Windows, когда простым копированием нужных библиотек это не удаётся...
Пользовался Xpoint FAQ:Как инсталлировать модули со CPAN? - не помогает! Когда я вызываю команду nmake из папки Microsoft Visual Studio .NET\Vc7\bin\nmake.exe без парметров, то выдаётся ошибка:
NMAKE : fatal error U1064: MAKEFILE not found and no target specified
Stop.
То есть при вызове команды без доп. параметров вылетает это ошибка! Скачал специальную программу для утановки модулей "Perl Module Manager" Её можно скачать, к примеру, здесь http://ru.rbytes.net/cat/development/other4/perl-module-manager/ Так вот после установки пытался инсталлировать новый модуль и выскочила та же ошибка про команду nmake! Может у меня какая-то не та версия nmake? Хотя мне как раз подсказали взять nmake из Microsoft Visual Studio! Где можно тогда её достать?
спустя 23 минуты [обр] gammaray[досье]
Суть в том, как я понял, что у меня nmake не прописана, как переменная среды! В папке Microsoft Visual Studio .NET\Vc7\bin\ есть файл vcvars32.bat Я его запускал! Он вроде как устанавливает переменные среды, но всё равно после этого при вводе в обычную командную строк nmake выдаётся, что nmake не является внутренней или внешней командой! А если я тупо копирую всю папку вместе с nmake в дерикторию с нужным мне установочным пакетом модуля, то при выполнении команды nmake он впоследствии не может найти файл cl.exe, который лежит в одной папке с nmake! Вообщем как мне в Windows инициализировать пакет утилит с nmake?
спустя 3 минуты [обр] Алексей Севрюков(61/1292)[досье]
gammaray[досье] Так пропишите сами новый пусть к PATH.
Какой у Вас Windows?
спустя 27 минут [обр] Alexander O(30/469)[досье]
gammaray[досье]
запускаете дос-консоль vcvars32.bat
заходите в директорию куда распакован дистрибутив модуля
запускаете perl Мakefile.PL
запускаете nmake
nmake test
nmake install
спустя 16 минут [обр] gammaray[досье]

У меня Win XP CE. Я уже прописал даже в autoexec.bat PATH=C:\Program Files\Microsoft Visual Studio\VC98\Bin После этого nmake стал запускаться, но при работе выдаётся ошибка, что не может найти библиотеку mspbd60.dll, которая лежит в одной и папок Visual Studio! Как я задолбался! Почему всё так криво в Виндах??? Нашёл вот такой совет:
как я это делаю степ-бай-степ:

  1. запускаем cmd.exe. Для этого надо либо нажать Win+R и написать 'cmd', либо запустить Far и там в командной строке ввести 'cmd'.
  2. Уже в командной строке cmd.exe пишем cd /D <путь к VC>\VC98\Bin\vcvars32.bat
  3. Ну и наконец переходим командой cd в нужный тебе каталог модуля и пишем:

perl makefile.pl
nmake
nmake test
nmake install
( последовательность и необходимость таких команд как nmake test лучше посмотреть в README)
При этом вроде всё работает(только непонятно мне, зачем надо каждый раз запускать vcvars32.bat; и почему те же самые действия в far не работают, только в cmd?) Но! Всё равно все нужные библиотеки не копируются!!!!!!!!!!! Кто-нибудь может попробовать поставить под Виндой пакет http://search.cpan.org/~bbirth......t-0.19/lib/Win32/SerialPort.pm Win32::SerialPort и рассказать, что получится? Причём в этом пакете никаких сведений о том, что ему ещё нужен http://search.cpan.org/~acalpini/Win32-API-0.41/API.pm Win32::API , это всплывает только при запуске test.pl из Win32::SerialPort! А вот Win::API я поставить никак не могу! Там вообще нет сведений, как ставить! Когда ставлю через cmd по последовательности, описанной выше - вроде всё ставится! Но почему-то API.pm, Struct.pm и Type.pm не копируются по папкам в папке Perl! После копирования вручную test.pl из Win32::SerialPort запускается, но не 1 из 7 тестов не проходит удачно! Выдаётся ошибка(которую я ещё вчера видел после простого ручного раскидывания *.pm файлов по нужным папкам и без всяких nmake!!!) Can't locate loadable Ошибка Can't locate loadable object for module Win32::API in @INC (....) at ComPort.pm line 5! Как я уже сказал - эта ошибка выскакивала и после обычного копирования *.pm файлов по папкам библиотек Perl! Как быть? Я уже не знаю! Хоть вешаться! А прога просто очень срочно нужна!

спустя 18 минут [обр] Роман Чемисов(36/350)[досье]
gammaray[досье]
Поставить ActiveState Perl? Или он Вам по каким-то причинам не подходит?
спустя 4 минуты [обр] gammaray[досье]
Он у меня стоит!!!! Я его самым первым поставил! Иначе где бы я компилятор взял???
спустя 14 минут [обр] Роман Чемисов(36/350)[досье]
gammaray[досье]
Какой компилятор? Что-то я Вас ещё больше не понимаю. У Вас же компилятор от MSVS...
Тогда ещё вопрос: а почему не ppm?
спустя 4 минуты [обр] Дмитрий Донцов+++(8/68)[досье]
Роман Чемисов[досье]
в репозиториях ppm нет модулей необходимых товарищу... обсуждалось - http://xpoint.ru/forums/programming/perl/modules/thread/37743.xhtml
спустя 11 минут [обр] gammaray[досье]
Я вот что думаю: может эта ошибка (Can't locate loadable object for module Win32::API in @INC (....) at ComPort.pm line 5) возникает из-за Винды, а модули я правильно настроил? Может в Винде какие настройки поменять? http://hell.org.ua/Docs/oreill......uxwebserv2/modperl/ch22_02.htm - вот здесь пункт 22.2.3 как раз про это! Там написано про добавление каких-то аргументов PERL_UTIL_API=1, EVERYTHING=1, or DYNAMIC=1. Куда это добавить? И что это за параметры?
спустя 11 минут [обр] Алексей Севрюков(61/1292)[досье]

Правой кнопкой мыши на "Мой компьютер" - "Свойства" - Вкладка "Дополнительно" - кнопка "Переменные среды". Там ищите PATH и смотрите что написано.

Can't locate loadable object for module

Это говорит о том, что модуль у Вас не скомпилирован, т.е. установлен неправильно.

спустя 9 минут [обр] Alexander O(30/469)[досье]

Установить PATH недостаточно
vsvars32 делает немножко больше. Для компилятора и линкера нужны переменные INCLUDE и LIB

И еще мне казалось, что Win32::API идет вместе с активстэйтовским перлом. Что-то не припоминаю чтоб я с его установкой возился, а он у меня есть.

спустя 8 минут [обр] gammaray[досье]
Получилось! Всем спасибо большое! Я ступил сам! Спасибо за советы!
спустя 31 минуту [обр] Дмитрий Донцов+++(8/68)[досье]
gammaray[досье]
так хоть раскажите где собака порылась?
спустя 16 часов [обр] gammaray[досье]
Да это я тупил... Я просто nmake неправильно пользовался! Вот и всё...
Powered by POEM™ Engine Copyright © 2002-2005