Hello Angie,

On Fri, 21 Nov 2003, angie ahl wrote:

> >but it's unusual for it not to be there.  What's the output of 'httpd -l'?
> >That will tell you if mod_so is in there.
> 
> root# /home/httpd/sbin/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_access.c
>   mod_auth.c
>   mod_setenvif.c
>   mod_perl.c
> suexec: disabled; invalid wrapper /home/httpd/sbin/suexec

Clearly mod_so isn't there, so you probably need to reconfigure with
'--enable-module=so' and then recomplile Apache and mod_perl as before.

If you're as confused as I was when I first compiled mod_perl, you
might want to know that the Apache binary (http) can be built with
everything liked into it statically, or with almost everything linked
at run-time (dynamically) which trades off execution speed against
memory usage - or so they tell me.  But to load things dynamically at
run-time Apache needs mod_so compiled into it statically, since it is
mod_so which is needed to load DSO modules.  That is *any* DSO modules,
not just mod_perl.  And in fact I always link mod_perl static if I can,
even if I have other modules loaded dynamically (which is rare).  You
also might want to know that the '--enable-module=so' can go on the
command line when you configure Apache, for example:

./configure --enable-module=so

There are a few places in the docs that talk about the use of
'configure' in this way, but you don't have to type the 'configure'
command at all.  I personally prefer to let Makefile.PL do it for me,
by using a file called makepl_ags.mod_perl which I put in the mod_perl
source tree, i.e. in my systems in a directory where I build mod_perl:

/home/ged/src/mod_perl-1.29

Then I can just save that file for later re-use or modification.
Saves a lot of typing.  In the example supplied with the mod_perl
distribution (at least in version 1.29) there's a line:

ADD_MODULE=proxy,usertrack,unique_id,info,status

which you'd want to change to something like

ADD_MODULE=so,proxy,usertrack,unique_id,info,status

or you could even just use

ADD_MODULE=so

if you knew you didn't need the rest of that stuff.  Of course
you proably don't know, so I'll suggest that you probably don't
care just at the moment. :)  It doesn't matter, it will work
either way but there'll be a few features not available.

73,
Ged.


-- 
Reporting bugs: http://perl.apache.org/bugs/
Mail list info: http://perl.apache.org/maillist/modperl.html

Reply via email to