httpd-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Timothy Stone <cityli...@petmystone.com>
Subject Re: [users@httpd] ....might crash under EAPI
Date Fri, 02 Apr 2004 16:42:45 GMT
James Taylor wrote:

> Hi, I did an install of apache 1.3.9 with mod_ssl, and during my 
> configure did a --enable-module=so --enable-shared=max, and it didn't 
> compile all of the modules I needed (defaults like mod_rewrite, 
> mod_vhost_alias, etc).  So, I just copied them from another apache 
> install over to /libexec.  Everything works just fine with them in, 
> except when I start apache I keep getting:
> Loaded DSO libexec/mod_setenvif.so uses plain Apache 1.3 API, this 
> module might crash under EAPI! (please recompile it with -DEAPI)
> 
> etc. etc. for every module other than libperl and mod_ssl.   In my 
> source tree under /src/modules/standard I have all of them sitting 
> around, and I'd like to compile then with EAPI enabled, but I'm not 
> quite sure how.  I'd really prefer not to have to recompile apache, as 
> getting mod_perl and mod_ssl to run with apache 1.3.9 was a real pain 
> (still can't get php installed).
> 
> So, basically what I'm asking is, how do I compile the modules in 
> /src/modules/standard using DSO or whatever I need to.  Thanks

This is a pretty straightforward question that is likely answered in the 
docs or a search of the archives. However...

First, never copy modules from one install to another, unless you have 
some knowledge of the platform and options used to compile the modules 
being copied, or the documentation says that it can be safely done.

"--enable-shared=max" uses the special value of "max"  which takes the 
list of enabled modules and makes dynamic any of theso modules that ar 
capable of being loaded dynamically. It's where that list of modules 
comes from is important. You specified only a single module on the 
command line, 'so'.

A great majority of Apaches in the 1.3 series are built with:

$ ./configure \
   --enable-module=all \
   --enable-shared=max

"--enable-module=all" is a bulk module short cut. So what is passed to 
the 'max' keyword with 'all'? Good question. I could not find this 
information in the docs (other than the DEFAULT list), so I turned to 
/Professional Apache 2.0/:

DEFAULT: access, actions, alias, asis, auth, autoindex, cgi, dir, env, 
imap, log_config*, mime, nogotiation, setenvif, so, status

plus...

MOST: auth_anon, auth_db*, auth_dbm*, cern_meta, digest, expires, 
headers, info, mime_magic, proxy, rewrite, speling, unique_id, 
usertrack, vhost_alias

plus...

ALL: mod_mmap_static

You'll note that your missing modules are in the list for the keyword 
'most' (--enable-modules=most). Building Apache 1.3 with SSL is 
altogether different and many resources abound on the Internet that can 
help.

*some notes:

auth_dbm is preferred over auth_db. log_config replaces log_referer and 
log_agent.

Thanks to /Professional Apache 2.0/ for the list.

Tim





---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
   "   from the digest: users-digest-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org


Mime
View raw message