使用mod_perl编译apache2时出现问题

时间:2017-10-12 17:32:58

标签: perl compiler-errors apache2 mod-perl2

perl Makefile.PL MP_USE_STATIC=1 \
MP_AP_PREFIX=/tmp/https2.2.34 \
MP_AP_CONFIGURE=“—with-mpm=prefork \
—prefix=/tmp/apache-2.2.34 \
-enable-modules=‘ssl rewrite info alias auth_basic usertrack so’”

评估/tmp/mod_perl-2.0.10/Apache-Reload/Makefile.PL时的错误:在Apache-Test / lib / TestRun.pm第1100行使用未初始化的值替换(s ///)。 / p>

Os: sun Os 5.10 sun4v sparc SUNW,T5240
cc - /bin/cc
make - /usr/CORE/bin/make - GNU make 3.80
Perl - /bin/perl - v5.8.4
Apache - 2.2.34
Mod_perl - 2.0.10

1 个答案:

答案 0 :(得分:0)

由于来自undef值的致命警告,看起来eval失败了。

您可以在 loc 1100 Apache-Test 中试用此补丁并报告输出结果吗?

索引:lib / Apache / TestRun.pm

my %args = @Apache::TestMM::Argv;
while (my($k, $v) = each %args) {
  unless (defined $v) {
      die "key $k has no value";
  }
  $v =~ s/\|/\\|/g;
  $body .= "\n\$Apache::TestConfig::Argv{'$k'} = q|$v|;\n";
}

如果显示key apxs has no value,则表示未安装apxs模块或脚本无法找到安装apxs模块的路径。

要检查是否安装了apxs module,请运行以下命令

which apxs - >显示安装它的路径

如果上面的命令没有显示任何内容,则表示它未安装,因此您可以通过运行以下命令来安装它

sudo apt-get install apache2-dev

现在再次运行which apxs命令并检查它的安装位置,很可能会显示/usr/bin/apxs

现在运行Makefile.PL并添加以下行

MP_APXS=/usr/bin/apxs

所以命令应该是这样的

perl Makefile.PL MP_APXS=/usr/bin/apxs

现在它应该没有任何中断。