Компиляция mod_perl с использованием apache2 и ActivePerl 5.16?
Я использую ActivePerl 5.16 на сервере RHEL 5.9. И я установил переменную PATH, чтобы исполняемые файлы ActivePerl были найдены первыми. И сейчас я пытаюсь скомпилировать mod_perl.so. Тем не менее, команда perl Makefile.PL MP_APXS=/usr/sbin/apxs
производит:
I have found ExtUtils::Embed 1.3001 at
/opt/ActivePerl-5.16/lib/ExtUtils/Embed.pm
This is probably not the right one for this perl version. Please make sure
there is only one version of this module installed and that it is the one
that comes with this perl version.
If you insist on using the ExtUtils::Embed as is set the environment
variable MP_USE_MY_EXTUTILS_EMBED=1 and try again.
Details: expecting ExtUtils::Embed 1.30 (according to Module::CoreList)
BEGIN failed--compilation aborted at lib/Apache2/Build.pm line 64.
Compilation failed in require at Makefile.PL line 37.
BEGIN failed--compilation aborted at Makefile.PL line 37.
Я немного озадачен всем этим... Я - Tyro Perl, я просто хочу, чтобы какое-то программное обеспечение (которое в значительной степени основано на Perl) работало на моем сервере. Любой совет?
2 ответа
Смысл использования ActivePerl в том, чтобы иметь возможность использовать ppm
, К сожалению, согласно странице состояния mod_perl 2.0.8, она недоступна в репозиториях ppm.
Симптом действительно указывает на что-то странное. Очевидно, ExtUtils::Embed 1.31 из дистрибутива 5.19.2. Кажется, что-то не так с вашей установкой.
Я опубликую это как ответ, так как это, кажется, работает. Чтобы исправить эту ошибку, установите переменную среды:
MP_USE_MY_EXTUTILS_EMBED=1
CPAN, вероятно, установил последнюю версию загруженных вами модулей вместо той, которая была бы выпущена с Perl 5.16. Эта переменная окружения должна просто указать mod_perl, что следует ожидать ExtUtils::Embed 1.31 вместо 1.30.