0

我在 RHEL 5.9 服务器上使用 ActivePerl 5.16。我已经设置了 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.

我对这一切有点困惑......我是一个 Perl 初学者,我只想在我的服务器上启动并运行一些软件(很大程度上基于 Perl)。有什么建议吗?

4

2 回答 2

0

使用 ActivePerl 的目的是能够使用ppm. 不幸的是,根据mod_perl 2.0.8 状态页面,它在 ppm 存储库中不可用。

症状确实表明有些奇怪。显然 ExtUtils::Embed 1.31 来自 5.19.2 发行版。您的安装似乎确实有问题。

于 2013-08-02T02:20:55.040 回答
0

我会将此作为答案发布,因为它似乎有效。要更正此错误,请设置环境变量:

MP_USE_MY_EXTUTILS_EMBED=1

CPAN 可能安装了您下载的模块的最新版本,而不是与 Perl 5.16 一起发布的模块。这个环境变量必须告诉 mod_perl 期待 ExtUtils::Embed 1.31 而不是 1.30。

于 2013-08-02T05:55:26.350 回答