Okay, I have finally tracked down the source of the problem I am having and
would appreciate your suggestions and work-arounds.

First, I am using mod_perl; however, like the docs say, I wanted to preload
modules, so, I have in my httpd.conf:

PerlRequire <path>/startup.pl

For a startup.pl I have:

use DBI;
use Carp;
1;

Okay, now I have compiled the Apache 1.3.9 tarball and mod_perl 1.2.1
tarball.  If I compile mod_perl as a shared object, and put:

 LoadModule libexec/libperl.so
 AddModule...

the web server will NOT run.  If I comment out the line:

# use DBI;

it runs perfectly fine.  If I compile mod_perl statically into Apache,
everything works as advertised.  The reason I ran into all of this is
because doing:

use Apache::DBI;

gives the exact same behavior:  apachectl tells me that I have successfully
launched; however, no processes exist.  This is the problem that many have
complained about before, and NO!, it is not because the web server is
trying to open a db connection.  There is nothing at all with opening a db
connection yet.  Once the web server works, I'll worry about trying to open
a db connection.

So, how can I preload DBI (or use Apache::DBI for that matter) without
having to statically link the libperl.so into the httpd executable?  The
reason that I cannot link them is that I must use a module with the RedHat
secure server I am using.

I am running on i386, RH 6.1.  I have compiled apache and mod_perl from
their respective sources (not using RPM's).

Thanks!

--Brian

Reply via email to