On Tue, 27 Jul 2004, Alexey Bozrikov wrote:
> Sure, I finally found it myself in the httpd.conf, and it is not a
> module, while for some reason perl (or is it Apache?) looks for this
> symbol as for a module in curent @INC.
>
> [quote]
> PerlSetVar TestModperl__request_rec_Key_set_in_Base BaseValue
>
> PerlSetVar TestModperl__server_rec_Key_set_in_Base 1_SetValue
> PerlAddVar TestModperl__server_rec_Key_set_in_Base 2_AddValue 3_AddValue
> <Location /TestModperl__dir_config>
> PerlSetVar TestModperl__request_rec_ZeroKey 0
> PerlSetVar TestModperl__request_rec_Key0 SetValue0
> PerlSetVar TestModperl__request_rec_Key1 ToBeLost
> PerlSetVar TestModperl__request_rec_Key1 1_SetValue
> PerlAddVar TestModperl__request_rec_Key1 2_AddValue
> PerlAddVar TestModperl__request_rec_Key1 3_AddValue 4_AddValue
> PerlSetVar TestModperl__server_rec_Key_set_in_Base SubSecValue
> SetHandler modperl
> PerlResponseHandler TestModperl::dir_config
> </Location>
>
> [unquote]
I'm not sure what the problem is there - that looks OK ...
Are there any other occurrences of
TestModperl__server_rec_Key_set_in_Base
in any other file under t/conf/?
> By the way, when doing 'perl Makefile.PL', I had following warning
> popping up, while everything's been built OK:
>
> [quote]
> ...
> Writing Makefile for ModPerl::Registry
> Note (probably harmless): No library found for -laprext
> Writing Makefile for APR::Base64
> Note (probably harmless): No library found for -laprext
> Writing Makefile for APR::Brigade
> Note (probably harmless): No library found for -laprext
> Writing Makefile for APR::Bucket
> Note (probably harmless): No library found for -laprext
> Writing Makefile for APR::BucketType
> Note (probably harmless): No library found for -laprext
> ...
> [unquote]
Apparently those warnings are harmless in your case, as
it got built OK, but could you try the attached patch,
which should silence them? Thanks.
--
best regards,
randy
Index: Makefile.PL
===================================================================
RCS file: /home/cvs/modperl-2.0/Makefile.PL,v
retrieving revision 1.150
diff -u -r1.150 Makefile.PL
--- Makefile.PL 23 Jul 2004 23:24:55 -0000 1.150
+++ Makefile.PL 27 Jul 2004 14:13:35 -0000
@@ -39,6 +39,7 @@
use ModPerl::BuildMM ();
use constant WIN32 => Apache::Build::WIN32;
+use constant AIX => Apache::Build::AIX;
our $VERSION;
@@ -165,17 +166,20 @@
# (see the aprext target in the MY::top_targets sub below), as
# symbols must get resolved at link time.
- if (WIN32()) {
- require File::Basename;
+ if (WIN32() or AIX()) {
require File::Path;
#Makefile.PL's in WrapXS/ just need to pass the -e mod_perl.lib test
#the real mod_perl.lib will be in place when WrapXS/ dll's are
#actually linked
# this must also be done for aprext.lib, build in xs/APR/aprext/;
# we must create a dummy aprext.lib to pass the -e test.
- my $lib1 = "src/modules/perl/$build->{MP_LIBNAME}.lib";
- my $lib2 = $build->mp_apr_lib;
- my $apr_blib = File::Basename::dirname($lib2);
+ my $lib1 = catfile qw(src modules perl),
+ "$build->{MP_LIBNAME}$Config{lib_ext}";
+ my $mp_apr_lib = $build->{MP_APR_LIB};
+ my $apr_blib = $build->{MP_INST_APACHE2} ?
+ catdir(qw/blib arch Apache2 auto/, $mp_apr_lib) :
+ catdir(qw/blib arch auto/, $mp_apr_lib);
+ my $lib2 = catfile $apr_blib, "${mp_apr_lib}$Config{lib_ext}";
unless (-d $apr_blib) {
File::Path::mkpath($apr_blib) or die "mkdir $apr_blib failed: $!";
}
@@ -488,6 +492,7 @@
use Config;
use constant WIN32 => $^O eq 'MSWin32';
+use constant AIX => $^O eq 'aix';
my $apache_test_install;
BEGIN {
@@ -500,7 +505,7 @@
my $self = shift;
my $string = $self->ModPerl::BuildMM::MY::top_targets;
- if (WIN32) {
+ if (WIN32 or AIX) {
ModPerl::MM::add_dep(\$string, pure_all => 'aprext');
# must not import File::Spec functions inside MY, it breaks
@@ -509,7 +514,7 @@
my $apr_lib = $build->{MP_APR_LIB} . $Config{lib_ext};
(my $ap_lib = $build->ap_includedir()) =~ s{include$}{lib};
my $to = File::Spec->catfile($ap_lib, $apr_lib);
- my $src_dir = File::Spec->catdir(qw(xs APR aprext));
+ my $src_dir = File::Spec->catdir(qw(xs APR), $build->{MP_APR_LIB});
$string .= <<"EOF";
aprext:
Index: lib/Apache/Build.pm
===================================================================
RCS file: /home/cvs/modperl-2.0/lib/Apache/Build.pm,v
retrieving revision 1.165
diff -u -r1.165 Build.pm
--- lib/Apache/Build.pm 23 Jul 2004 23:24:55 -0000 1.165
+++ lib/Apache/Build.pm 27 Jul 2004 14:13:35 -0000
@@ -1399,7 +1399,19 @@
my $mp_apr_lib = $self->{MP_APR_LIB};
my @dirs = $self->{MP_INST_APACHE2} ?
qw(blib arch Apache2 auto) : qw(blib arch auto);
- return catdir $self->{cwd}, @dirs, $mp_apr_lib, "$mp_apr_lib.lib";
+ return catfile $self->{cwd}, @dirs, $mp_apr_lib,
+ "${mp_apr_lib}$Config{lib_ext}";
+}
+
+sub mp_apr_lib_aix {
+ my $self = shift;
+ # MP_APR_LIB.lib will be installed into MP_AP_PREFIX/lib
+ # for use by 3rd party xs modules
+ my $mp_apr_lib = $self->{MP_APR_LIB};
+ my @dirs = $self->{MP_INST_APACHE2} ?
+ qw(blib arch Apache2 auto) : qw(blib arch auto);
+ my $dir = catdir $self->{cwd}, @dirs, $mp_apr_lib;
+ return qq{ -L$dir -l$mp_apr_lib };
}
# name of lib used to build APR/APR::*
Index: lib/ModPerl/BuildMM.pm
===================================================================
RCS file: /home/cvs/modperl-2.0/lib/ModPerl/BuildMM.pm,v
retrieving revision 1.17
diff -u -r1.17 BuildMM.pm
--- lib/ModPerl/BuildMM.pm 4 Jul 2004 18:44:49 -0000 1.17
+++ lib/ModPerl/BuildMM.pm 27 Jul 2004 14:13:35 -0000
@@ -79,7 +79,7 @@
my $libs;
my @libs = ();
- if (Apache::Build::WIN32) {
+ if (Apache::Build::WIN32 or Apache::Build::AIX) {
# in order to decouple APR/APR::* from mod_perl.so,
# link these modules against the static MP_APR_LIB lib,
# rather than the mod_perl lib (which would demand mod_perl.so
Index: xs/APR/APR/Makefile.PL
===================================================================
RCS file: /home/cvs/modperl-2.0/xs/APR/APR/Makefile.PL,v
retrieving revision 1.25
diff -u -r1.25 Makefile.PL
--- xs/APR/APR/Makefile.PL 4 Jul 2004 18:44:49 -0000 1.25
+++ xs/APR/APR/Makefile.PL 27 Jul 2004 14:13:35 -0000
@@ -9,6 +9,7 @@
use File::Spec::Functions;
use constant WIN32 => Apache::Build::WIN32;
+use constant AIX => Apache::Build::AIX;
use constant SOLARIS => $^O eq 'solaris';
my %args = (
@@ -35,9 +36,14 @@
$libs =~ s{(\w+)\.lib}{-l$1}g;
# include the static MP_APR_LIB lib
my ($lib, $dir, $ext) =
- File::Basename::fileparse($build->mp_apr_lib, qr{\.lib});
+ File::Basename::fileparse($build->mp_apr_lib, $Config{lib_ext});
$dir =~ s!\\$!!;
$libs .= qq{ -L"$dir" -l$lib };
+}
+
+if (AIX) {
+ my $mp_apr_lib = $build->mp_apr_lib;
+ $libs .= qq{ $mp_apr_lib };
}
if (SOLARIS && $libs) {
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]