2010-11-09 11 views
0

У меня есть Strawberry Perl 5.10 и mod_perl2, установленные на эти instructions on the mod_perl mailing list без проблем. Однако, пытаясь установить различные модули Apache2::, мои сценарии используют результат в ошибках. Один (Apache2::Reload) мне удалось установить, несмотря на это:Strawberry Perl с mod_perl2: создание модулей Apache2 от CPAN

C:\>cpan -f Apache2::Reload 
CPAN: CPAN::SQLite loaded ok (v0.199) 
Database was generated on Tue, 09 Nov 2010 02:40:29 GMT 
Running install for module 'Apache2::Reload' 
Running make for P/PH/PHRED/Apache-Reload-0.11.tar.gz 
CPAN: Digest::SHA loaded ok (v5.48) 
CPAN: Compress::Zlib loaded ok (v2.03) 
Checksum for C:\strawberry\cpan\sources\authors\id\P\PH\PHRED\Apache-Reload-0.11 
.tar.gz ok 
CPAN: Archive::Tar loaded ok (v1.66) 
CPAN: File::Temp loaded ok (v0.22) 
CPAN: Parse::CPAN::Meta loaded ok (v1.40) 
CPAN: Module::CoreList loaded ok (v2.36) 

    CPAN.pm: Going to build P/PH/PHRED/Apache-Reload-0.11.tar.gz 

Cannot opendir Y:\Apache\APACHE~2\lib: No such file or directory at C:/strawberr 
y/perl/site/lib/Apache2/Build.pm line 1664. 
Warning: No success on command[C:\strawberry\perl\bin\perl.exe Makefile.PL] 
CPAN: YAML loaded ok (v0.71) 
    PHRED/Apache-Reload-0.11.tar.gz 
    C:\strawberry\perl\bin\perl.exe Makefile.PL -- NOT OK 
Running make test 
    Make had some problems, won't test 
Running make install 
    Make had some problems, won't install 

C:\> 

... просто скопировав пару .pm файлов site/lib. Тем не менее, другие, о которых я менее уверен. Например, Apache2::RequestRec дает мне следующие ошибки:

C:\>cpan -f Apache2::RequestRec 
CPAN: CPAN::SQLite loaded ok (v0.199) 
Database was generated on Tue, 09 Nov 2010 02:40:29 GMT 
CPAN: Module::CoreList loaded ok (v2.36) 
Running install for module 'Apache2::RequestRec' 
Running make for G/GO/GOZER/mod_perl-2.0.4.tar.gz 
CPAN: Digest::SHA loaded ok (v5.48) 
CPAN: Compress::Zlib loaded ok (v2.03) 
Checksum for C:\strawberry\cpan\sources\authors\id\G\GO\GOZER\mod_perl-2.0.4.tar 
.gz ok 
CPAN: Archive::Tar loaded ok (v1.66) 
CPAN: File::Temp loaded ok (v0.22) 
CPAN: Parse::CPAN::Meta loaded ok (v1.40) 

    CPAN.pm: Going to build G/GO/GOZER/mod_perl-2.0.4.tar.gz 

no conflicting prior mod_perl version found - good. 

Next we need to know where the 'apxs' script is located. This script 
provides a lot of information about the Apache installation, and makes 
it easier to find things on your system. Normally it's located in the 
same directory as the 'httpd' executable. 

If you don't yet have Apache installed you can build Apache against 
the Apache source code, but you won't be able to run the test suite (a 
very important step). Therefore you may want to install Apache before 
proceeding. 


Please provide a full path to 'apxs' executable 
(press Enter if you don't have it installed): 


Please provide the location of the Apache directory: C:\Program Files\Apache So 
ftware Foundation\Apache2.2 
[ error] Unable to open C:\Program Files\Apache Software Foundation\Apache2.2/a 
p_release.h: No such file or directory 
[ error] Unable to determine server version, aborting. 
[ error] Please specify MP_APXS or MP_AP_PREFIX. 
Warning: No success on command[C:\strawberry\perl\bin\perl.exe Makefile.PL] 
CPAN: YAML loaded ok (v0.71) 
    GOZER/mod_perl-2.0.4.tar.gz 
    C:\strawberry\perl\bin\perl.exe Makefile.PL -- NOT OK 
Running make test 
    Make had some problems, won't test 
Running make install 
    Make had some problems, won't install 

C:\> 

есть какой-то трюк, чтобы компиляции Apache2:: модулей под Strawberry Perl? Нужно ли мне компилировать мои собственные двоичные файлы Apache или что-то еще? (Если да, могу ли я сделать это с помощью инструментов для инструментов, поставляемых с Strawberry?)

ответ

1

Установка через эти инструкции фактически устанавливает все модули Apache2::, за исключением Apache2::Reload.

+0

И Apache2 :: Reload - это действительно чистый модуль perl, что означает, что вы можете просто скопировать этот файл на сайт \ lib \ Apache2 \ и вы 'd be good: http://cpansearch.perl.org/src/PHRED/mod_perl-2.0.5/Apache-Reload/lib/Apache2/Reload.pm – MichielB

1

Если вы скомпилируете apache из исходного кода, вы должны иметь apxs.exe из apache. Добавьте это к PATH. Вам нужен исходный код apache для некоторых бит Apache::.

+0

Это было хорошее преимущество, но нет apxs.exe. Я получил источник apxs, и он подбрасывает меня под Windows с большим количеством недостающих файлов из-за ссылок на '/ lib', которые, вероятно, должны быть' \\ bin'. Остается увидеть, могу ли я его собрать. – Kev

+0

Последняя ошибка, которую я даю мне: 'use MP_APR_CONFIG =/path/to/apr-config', который я попытался установить как в командной строке с помощью' cpan -f MP_APR ... ', так и с помощью' set MP_APR ... && cpan -f Apache2 :: ... ', ни один из которых не работал. Первый не удается, потому что он пытается установить 'MP_APR_CONFIG = ...', который, очевидно, не является модулем, а второй, ну, я не уверен, где он ищет переменную, но, видимо, это не среда. – Kev

+0

Я не понимаю, почему сам mod_perl2 так легко установить из CPAN, но все модули 'Apache2 ::' не ... – Kev