You are viewing a plain text version of this content. The canonical link for it is here.
Posted to modperl@perl.apache.org by Skip Montanaro <sk...@mojam.com> on 2000/11/16 18:17:44 UTC
Trouble building debug verson of Apache+mod_perl on Linux
I am getting segfaults from an Apache/mod_perl/Mason setup so I decided I
needed to build both Apache and mod_perl from source using -g and without
DSOs so I could easily debug it with gdb. Alas, that is turning out to be
tougher than I expected. I'm probably doing something fundamentally wrong.
Hopefully someone here can steer me in the right direction.
My environment is Linux Mandrake 7.1. I'm trying to build and run Apache
1.3.14 and mod_perl 1.24_01 from their source distributions (I'm not
using RPMs). I have two problems:
1. It appears that not all the modules I asked to be enabled at
configure time are found, and
2. When I configure mod_perl it seems to override my desired set
of apache builtin modules.
I configured apache using these settings:
./configure --with-layout=RedHat --enable-module=proxy \
--enable-module=rewrite --enable-module=log_agent \
--enable-module=log_referer --enable-module=info \
--enable-module=auth_anon --enable-module=digest \
--enable-module=expires --enable-module=headers \
--enable-module=usertrack --enable-module=userdir
After compiling (without any mod_perl fiddling), executing "src/httpd -l"
yields
Compiled-in modules:
http_core.c
mod_env.c
mod_log_config.c
mod_log_agent.c
mod_log_referer.c
mod_mime.c
mod_negotiation.c
mod_status.c
mod_info.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_auth_anon.c
mod_digest.c
mod_proxy.c
mod_expires.c
mod_headers.c
mod_usertrack.c
mod_setenvif.c
suexec: disabled; invalid wrapper /usr/sbin/suexec
However, when I check the config file with "src/httpd -t" it complains:
Syntax error on line 137 of /etc/httpd/conf/httpd.conf:
Invalid command 'UserDir', perhaps mis-spelled or defined by a
module not included in the server configuration
Line 137 is the standard
UserDir public_html
Why is apache complaining?
I configured mod_perl like so (after configuring and building apache as
above):
perl Makefile.PL APACHE_SRC=../apache_1.3.14/src \
DO_HTTPD=1 USE_APACI=1 EVERYTHING=1
After running "make" in the mod_perl directory, "src/httpd -l" yields an
abbreviated set of modules:
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_access.c
mod_auth.c
mod_setenvif.c
mod_perl.c
suexec: disabled; invalid wrapper /usr/local/apache/bin/suexec
There must be some way to build a debug version of apache+mod_perl with my
desired set of modules statically bound into the httpd executable. Any
suggestions would be much appreciated.
Thx,
--
Skip Montanaro (skip@mojam.com)
Support the Mojam.com Affiliates Program: http://www.mojam.com/affl/
(847)971-7098