I think I figured it out. I eliminated the --enable-shared=perl from the
Apache configure line, and it works.
I think it wasn't working because I compiled mod_perl as a DSO, and then
didn't use --enable-module=so in my Apache configure statement. Is that
correct?
thanks,
Todd
Hi,
I'm trying to compile a new version of Apache and mod_perl, and it isn't
working. Everything appears to go off (mostly) without a hitch, but the
output of httpd -l does not list mod_perl as compiled in.
I am using RedHat 5.2, with a binary distribution of Perl 5.00405.
Here are the steps I'm taking:
# cd mod_perl-1.21
# perl Makefile.PL APACHE_SRC=../apache_1.3.6/src DO_HTTPD=1 USE_APACI=1
PREP_HTTPD=1 EVERYTHING=1
# make
# make test
this fails with this message, I didn't feel it was critical
httpd listening on port 8529
Syntax error on line 3 of /usr/local/src/mod_perl-1.21/t/conf/httpd.conf:
Invalid command '=pod', perhaps mis-spelled or defined by a module not
included in the server configuration
will write error_log to: t/logs/error_log
letting apache warm up...\c
done
/usr/bin/perl t/TEST 0
still waiting for server to warm up............not ok
server failed to start! at t/TEST line 95.
make: *** [run_tests] Error 9
# make install
Then, I build the Apache package
# cd ../apache_1.3.6
# ./configure --prefix=/usr/local/apache
--activate-module=src/modules/perl/libperl.a --enable-shared=perl
--enable-module=unique_id --enable-module=rewrite --enable-module=usertrack
I should note that there is no file called libperl.a in the
src/modules/perl/directory, although it does give me the message:
Configuring for Apache, Version 1.3.6
+ using installation path layout: Apache (config.layout)
+ activated perl module (modules/perl/libperl.a)
# make
- it looks like it compiles everything...
===> src/modules/perl
cc -fpic -O2 -Dbool=char -DHAS_BOOL
-I/usr/lib/perl5/i386-linux/5.00405/CORE -DMOD_PERL_VERSION=\"
1.21\" -DMOD_PERL_STRING_VERSION=\"mod_perl/1.21\" -I../../os/unix
-I../../include -DLINUX=2 -DM
OD_PERL -DUSE_HSREGEX `../../apaci` -c mod_perl.c && mv mod_perl.o mod_perl.lo
cc -fpic -O2 -Dbool=char -DHAS_BOOL
-I/usr/lib/perl5/i386-linux/5.00405/CORE -DMOD_PERL_VERSION=\"
1.21\" -DMOD_PERL_STRING_VERSION=\"mod_perl/1.21\" -I../../os/unix
-I../../include -DLINUX=2 -DM
OD_PERL -DUSE_HSREGEX `../../apaci` -c perlxsi.c && mv perlxsi.o perlxsi.lo
cc -fpic -O2 -Dbool=char -DHAS_BOOL
-I/usr/lib/perl5/i386-linux/5.00405/CORE -DMOD_PERL_VERSION=\"
1.21\" -DMOD_PERL_STRING_VERSION=\"mod_perl/1.21\" -I../../os/unix
-I../../include -DLINUX=2 -DM
OD_PERL -DUSE_HSREGEX `../../apaci` -c perl_config.c && mv perl_config.o
perl_config.lo
cc -fpic -O2 -Dbool=char -DHAS_BOOL
-I/usr/lib/perl5/i386-linux/5.00405/CORE -DMOD_PERL_VERSION=\"
1.21\" -DMOD_PERL_STRING_VERSION=\"mod_perl/1.21\" -I../../os/unix
-I../../include -DLINUX=2 -DM
OD_PERL -DUSE_HSREGEX `../../apaci` -c perl_util.c && mv perl_util.o
perl_util.lo
cc -fpic -O2 -Dbool=char -DHAS_BOOL
-I/usr/lib/perl5/i386-linux/5.00405/CORE -DMOD_PERL_VERSION=\"
1.21\" -DMOD_PERL_STRING_VERSION=\"mod_perl/1.21\" -I../../os/unix
-I../../include -DLINUX=2 -DM
OD_PERL -DUSE_HSREGEX `../../apaci` -c perlio.c && mv perlio.o perlio.lo
cc -fpic -O2 -Dbool=char -DHAS_BOOL
-I/usr/lib/perl5/i386-linux/5.00405/CORE -DMOD_PERL_VERSION=\"
1.21\" -DMOD_PERL_STRING_VERSION=\"mod_perl/1.21\" -I../../os/unix
-I../../include -DLINUX=2 -DM
OD_PERL -DUSE_HSREGEX `../../apaci` -c mod_perl_opmask.c && mv
mod_perl_opmask.o mod_perl_opmask.lo
cc -fpic -O2 -Dbool=char -DHAS_BOOL
-I/usr/lib/perl5/i386-linux/5.00405/CORE -DMOD_PERL_VERSION=\"
1.21\" -DMOD_PERL_STRING_VERSION=\"mod_perl/1.21\" -I../../os/unix
-I../../include -DLINUX=2 -DM
OD_PERL -DUSE_HSREGEX `../../apaci` -c Apache.c && mv Apache.o Apache.lo
cc -fpic -O2 -Dbool=char -DHAS_BOOL
-I/usr/lib/perl5/i386-linux/5.00405/CORE -DMOD_PERL_VERSION=\"
1.21\" -DMOD_PERL_STRING_VERSION=\"mod_perl/1.21\" -I../../os/unix
-I../../include -DLINUX=2 -DM
OD_PERL -DUSE_HSREGEX `../../apaci` -c Constants.c && mv Constants.o
Constants.lo
cc -fpic -O2 -Dbool=char -DHAS_BOOL
-I/usr/lib/perl5/i386-linux/5.00405/CORE -DMOD_PERL_VERSION=\"
1.21\" -DMOD_PERL_STRING_VERSION=\"mod_perl/1.21\" -I../../os/unix
-I../../include -DLINUX=2 -DM
OD_PERL -DUSE_HSREGEX `../../apaci` -c ModuleConfig.c && mv ModuleConfig.o
ModuleConfig.lo
cc -fpic -O2 -Dbool=char -DHAS_BOOL
-I/usr/lib/perl5/i386-linux/5.00405/CORE -DMOD_PERL_VERSION=\"
1.21\" -DMOD_PERL_STRING_VERSION=\"mod_perl/1.21\" -I../../os/unix
-I../../include -DLINUX=2 -DM
OD_PERL -DUSE_HSREGEX `../../apaci` -c Log.c && mv Log.o Log.lo
cc -fpic -O2 -Dbool=char -DHAS_BOOL
-I/usr/lib/perl5/i386-linux/5.00405/CORE -DMOD_PERL_VERSION=\"
1.21\" -DMOD_PERL_STRING_VERSION=\"mod_perl/1.21\" -I../../os/unix
-I../../include -DLINUX=2 -DM
OD_PERL -DUSE_HSREGEX `../../apaci` -c URI.c && mv URI.o URI.lo
cc -fpic -O2 -Dbool=char -DHAS_BOOL
-I/usr/lib/perl5/i386-linux/5.00405/CORE -DMOD_PERL_VERSION=\"
1.21\" -DMOD_PERL_STRING_VERSION=\"mod_perl/1.21\" -I../../os/unix
-I../../include -DLINUX=2 -DM
OD_PERL -DUSE_HSREGEX `../../apaci` -c Util.c && mv Util.o Util.lo
cc -fpic -O2 -Dbool=char -DHAS_BOOL
-I/usr/lib/perl5/i386-linux/5.00405/CORE -DMOD_PERL_VERSION=\"
1.21\" -DMOD_PERL_STRING_VERSION=\"mod_perl/1.21\" -I../../os/unix
-I../../include -DLINUX=2 -DM
OD_PERL -DUSE_HSREGEX `../../apaci` -c Connection.c && mv Connection.o
Connection.lo
cc -fpic -O2 -Dbool=char -DHAS_BOOL
-I/usr/lib/perl5/i386-linux/5.00405/CORE -DMOD_PERL_VERSION=\"
1.21\" -DMOD_PERL_STRING_VERSION=\"mod_perl/1.21\" -I../../os/unix
-I../../include -DLINUX=2 -DM
OD_PERL -DUSE_HSREGEX `../../apaci` -c Server.c && mv Server.o Server.lo
cc -fpic -O2 -Dbool=char -DHAS_BOOL
-I/usr/lib/perl5/i386-linux/5.00405/CORE -DMOD_PERL_VERSION=\"
1.21\" -DMOD_PERL_STRING_VERSION=\"mod_perl/1.21\" -I../../os/unix
-I../../include -DLINUX=2 -DM
OD_PERL -DUSE_HSREGEX `../../apaci` -c File.c && mv File.o File.lo
cc -fpic -O2 -Dbool=char -DHAS_BOOL
-I/usr/lib/perl5/i386-linux/5.00405/CORE -DMOD_PERL_VERSION=\"
1.21\" -DMOD_PERL_STRING_VERSION=\"mod_perl/1.21\" -I../../os/unix
-I../../include -DLINUX=2 -DM
OD_PERL -DUSE_HSREGEX `../../apaci` -c Table.c && mv Table.o Table.lo
rm -f libperl.so
cc -shared -L/usr/local/lib -o libperl.so mod_perl.lo perlxsi.lo
perl_config.lo perl_util.lo perlio
.lo mod_perl_opmask.lo Apache.lo Constants.lo ModuleConfig.lo Log.lo URI.lo
Util.lo Connection.lo S
erver.lo File.lo Table.lo -rdynamic -L/usr/local/lib
/usr/lib/perl5/i386-linux/5.00405/auto/DynaLo
ader/DynaLoader.a -L/usr/lib/perl5/i386-linux/5.00405/CORE -lperl -lnsl
-lndbm -ldb -ldl -lm -lc -l
posix -lcrypt
<=== src/modules/perl
# make test
-this fails with a 'no target' message
At this point. src/httpd -l outputs this:
# src/httpd -l
Compiled-in modules:
http_core.c
mod_env.c
mod_log_config.c
mod_mime.c
mod_negotiation.c
mod_status.c
mod_include.c
mod_autoindex.c
mod_dir.c
mod_cgi.c
mod_asis.c
mod_imap.c
mod_actions.c
mod_userdir.c
mod_alias.c
mod_rewrite.c
mod_access.c
mod_auth.c
mod_usertrack.c
mod_unique_id.c
mod_so.c
mod_setenvif.c
# make install
- uneventful
Any ideas would be greatly appreciated.
thanks,
Todd