Hey guys,
I've installed Apache 2.2.3 and mod_perl 2.0.3 + libapreq2, apparently
all successfully (my application runs pretty well). Now I want to
install Apache::VMonitor and can't.
I've running on Debian sarge and have Apache 1.3.33 installed as well in
/usr/sbin/apache.
The first issue is when I install Apache::Scoreboard 2.0.8. make works
OK, but make test fails with:
make[1]: Entering directory `/usr/local/Apache-Scoreboard-2.08/Dummy'
make[1]: Leaving directory `/usr/local/Apache-Scoreboard-2.08/Dummy'
/usr/bin/perl -Iblib/arch -Iblib/lib \
t/TEST -clean
[warning] setting ulimit to allow core files
ulimit -c unlimited; /usr/bin/perl
/usr/local/Apache-Scoreboard-2.08/t/TEST -clean
APACHE_TEST_GROUP= APACHE_TEST_HTTPD= APACHE_TEST_PORT=
APACHE_TEST_USER= APACHE_TEST_APXS= \
/usr/bin/perl -Iblib/arch -Iblib/lib \
t/TEST -bugreport -verbose=0
[warning] setting ulimit to allow core files
ulimit -c unlimited; /usr/bin/perl
/usr/local/Apache-Scoreboard-2.08/t/TEST -bugreport -verbose=0
/usr/sbin/apache -d /usr/local/Apache-Scoreboard-2.08/t -f
/usr/local/Apache-Scoreboard-2.08/t/conf/httpd.conf -D APACHE1 -D
PERL_USEITHREADS
===>>> using Apache/1.3.33
waiting 60 seconds for server to start: .Syntax error on line 14 of
/usr/local/Apache-Scoreboard-2.08/t/conf/extra.conf:
Invalid command 'PerlSwitches', perhaps mis-spelled or defined by a
module not included in the server configuration
[ error]
server has died with status 255 (t/logs/error_log wasn't created, start
the server in the debug mode)
make: *** [run_tests] Error 143
Apparently, apxs is locating my Apache 1.3 binary and ignoring Apache
2.2. This only causes the test to fail, because I can do make install
with no issues.
Then I go to compile Apache::VMonitor with
MOD_PERL=2 perl Makefile.PL
It can't find my compiled Apache::Scoreboard. I've dumped some
Makefile.PL variables for reference:
mp gen = 2
INC = /etc/perl /usr/local/lib/perl/5.8.4 /usr/local/share/perl/5.8.4
/usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.8 /usr/share/perl/5.8
/usr/local/lib/site_perl .
Going to build against mod_perl/2.000003 Perl/5.008004
[ info] generating script t/TEST
$VAR1 = 'NAME';
$VAR2 = 'Apache::VMonitor';
$VAR3 = 'clean';
$VAR4 = {
'FILES' => 't/TEST'
};
$VAR5 = 'VERSION_FROM';
$VAR6 = 'lib/Apache/VMonitor.pm';
$VAR7 = 'PREREQ_PM';
$VAR8 = {
'Apache::Scoreboard' => '2.08',
'Apache::Test' => '1.15',
'mod_perl2' => '2.0',
'Time::HiRes' => '1.19',
'Template' => '2.0',
'GTop' => '0.12'
};
Warning: prerequisite Apache::Scoreboard 2.08 not found.
Writing Makefile for Apache::VMonitor
But Apache::Scoreboard 2.08 is in my @INC path. When I do:
perl -e 'print "INC = @INC\n"; use Apache::Scoreboard; print "version =
$Apache::Scoreboard::VERSION\n";'
I get:
INC = /etc/perl /usr/local/lib/perl/5.8.4 /usr/local/share/perl/5.8.4
/usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.8 /usr/share/perl/5.8
/usr/local/lib/site_perl .
version = 2.08
Some internal magic is obviously taking place here and I don't know what
it is.
If I continue on with the installation of Apache::VMonitor, make doesn't
complain but make test gives:
/usr/bin/perl -Iblib/arch -Iblib/lib \
t/TEST -clean
[warning] setting ulimit to allow core files
ulimit -c unlimited; /usr/bin/perl
/usr/local/Apache-VMonitor-2.06/t/TEST -clean
APACHE_TEST_GROUP= APACHE_TEST_HTTPD= APACHE_TEST_PORT=
APACHE_TEST_USER= APACHE_TEST_APXS= \
/usr/bin/perl -Iblib/arch -Iblib/lib \
t/TEST -bugreport -verbose=0
[warning] setting ulimit to allow core files
ulimit -c unlimited; /usr/bin/perl
/usr/local/Apache-VMonitor-2.06/t/TEST -bugreport -verbose=0
/usr/sbin/apache -d /usr/local/Apache-VMonitor-2.06/t -f
/usr/local/Apache-VMonitor-2.06/t/conf/httpd.conf -D APACHE1 -D
PERL_USEITHREADS
--->>> using Apache/1.3.33
waiting 60 seconds for server to start: ===>>> ./usr/sbin/apache:
relocation error:
/usr/local/lib/perl/5.8.4/auto/Apache/Scoreboard/Scoreboard.so:
undefined symbol: ap_mpm_query
[ error]
server has died with status 255 (t/logs/error_log wasn't created, start
the server in the debug mode)
make: *** [run_tests] Error 143
Again the Apache 1.3 problem - and lo and behold there's a binary
compatibility issue.
I'm kind of at wit's end about what to do here - clearly apxs is not
being my friend, but what can I do about it?
Thanks.
David