problems enabling mod_auth_db in Apache 1.3.22

problems enabling mod_auth_db in Apache 1.3.22

Post by Paul Southwor » Fri, 18 Jan 2002 09:33:03



I have a Solaris 2.6 machine with DB library v3.1.17 I'm trying to
build Apache 1.3.22 on.  Actually it's been running fine for many
months without mod_auth_db, but I now need to enable mod_auth_db
so I'm adding the DB library and building a new Apache installation.

But when I actually install and run it, it can't resolve the
db_create symbol, rather like it never linked that library in.

Here's my new configure script, to which I added the
"--enable-module=auth_db" line.  The rest is from the previous
install.

export CFLAGS="-I/opt/db/include"
export LDFLAGS="-L/opt/db/lib"
./configure --with-layout=opt \
   --htdocsdir=/export/archive \
   --sysconfdir=/opt/apache/conf \
   --localstatedir=/opt/apache \
   --runtimedir=/opt/apache/run \
   --logfiledir=/opt/apache/logs \
   --proxycachedir=/opt/apache/logs \
   --enable-rule=SHARED_CORE \
   --enable-module=most \
   --enable-module=auth_db \
   --enable-shared=max

Which results in the following output:

Configuring for Apache, Version 1.3.22
 + using installation path layout: opt (config.layout)
Creating Makefile
Creating Configuration.apaci in src
 + enabling mod_so for DSO support
Creating Makefile in src
 + configured for Solaris 260 platform
 + setting C pre-processor to /opt/gcc/bin/gcc -E
 + checking for system header files
 + adding selected modules
    o rewrite_module uses ConfigStart/End
      enabling DBM support for mod_rewrite
    o dbm_auth_module uses ConfigStart/End
    o db_auth_module uses ConfigStart/End
      using Berkeley-DB/3.x for mod_auth_db (-ldb)
 + using builtin Expat
 + enabling generation of Apache core as DSO
 + using -ldl for vendor DSO support
 + checking sizeof various data types
 + doing sanity check on compiler and options
Creating Makefile in [...blah blah...]

So it looks good, no?  It knows which library to install, etc.
Builds fine too.  I see that httpd and libhttpd.ep are both linked
to -ldb.  The DB library on this system is static, no shared
one exists on it.

But when I install Apache and run it with the mod_auth_db module
activated with LoadModule and AddModule, I get:

$ /opt/apache/sbin/apachectl configtest
Syntax error on line 228 of /opt/apache/conf/httpd.conf:
Cannot load /opt/apache/libexec/mod_auth_db.so into server: ld.so.1: /opt/apache/sbin/httpd: fatal: relocation error: file /opt/apache/libexec/mod_auth_db.so: symbol db_create: referenced symbol not found

WTF??

Now the other thing is, I figured hey, why not just compile the
module in static?  But no, when I add "--disable-shared=auth_db"
to my configure args (see above), it doesn't compile in mod_auth_db
(or so says "httpd -l").

If you know a workaround please send me e-mail.

Thanks!!

--Paul

 
 
 

problems enabling mod_auth_db in Apache 1.3.22

Post by Paul Southwor » Wed, 23 Jan 2002 02:14:51


Still no luck with this problem - has anyone built mod_auth_db
as a DSO on Solaris?  If so, what did you do differently from
me?

--Paul



>I have a Solaris 2.6 machine with DB library v3.1.17 I'm trying to
>build Apache 1.3.22 on.  Actually it's been running fine for many
>months without mod_auth_db, but I now need to enable mod_auth_db
>so I'm adding the DB library and building a new Apache installation.

>But when I actually install and run it, it can't resolve the
>db_create symbol, rather like it never linked that library in.

>Here's my new configure script, to which I added the
>"--enable-module=auth_db" line.  The rest is from the previous
>install.

>export CFLAGS="-I/opt/db/include"
>export LDFLAGS="-L/opt/db/lib"
>./configure --with-layout=opt \
>   --htdocsdir=/export/archive \
>   --sysconfdir=/opt/apache/conf \
>   --localstatedir=/opt/apache \
>   --runtimedir=/opt/apache/run \
>   --logfiledir=/opt/apache/logs \
>   --proxycachedir=/opt/apache/logs \
>   --enable-rule=SHARED_CORE \
>   --enable-module=most \
>   --enable-module=auth_db \
>   --enable-shared=max

>Which results in the following output:

>Configuring for Apache, Version 1.3.22
> + using installation path layout: opt (config.layout)
>Creating Makefile
>Creating Configuration.apaci in src
> + enabling mod_so for DSO support
>Creating Makefile in src
> + configured for Solaris 260 platform
> + setting C pre-processor to /opt/gcc/bin/gcc -E
> + checking for system header files
> + adding selected modules
>    o rewrite_module uses ConfigStart/End
>      enabling DBM support for mod_rewrite
>    o dbm_auth_module uses ConfigStart/End
>    o db_auth_module uses ConfigStart/End
>      using Berkeley-DB/3.x for mod_auth_db (-ldb)
> + using builtin Expat
> + enabling generation of Apache core as DSO
> + using -ldl for vendor DSO support
> + checking sizeof various data types
> + doing sanity check on compiler and options
>Creating Makefile in [...blah blah...]

>So it looks good, no?  It knows which library to install, etc.
>Builds fine too.  I see that httpd and libhttpd.ep are both linked
>to -ldb.  The DB library on this system is static, no shared
>one exists on it.

>But when I install Apache and run it with the mod_auth_db module
>activated with LoadModule and AddModule, I get:

>$ /opt/apache/sbin/apachectl configtest
>Syntax error on line 228 of /opt/apache/conf/httpd.conf:
>Cannot load /opt/apache/libexec/mod_auth_db.so into server: ld.so.1: /opt/apache/sbin/httpd: fatal: relocation error: file /opt/apache/libexec/mod_auth_db.so: symbol db_create: referenced symbol not found

>WTF??

>Now the other thing is, I figured hey, why not just compile the
>module in static?  But no, when I add "--disable-shared=auth_db"
>to my configure args (see above), it doesn't compile in mod_auth_db
>(or so says "httpd -l").

>If you know a workaround please send me e-mail.

>Thanks!!

>--Paul


 
 
 

1. Apache SCRIPT_NAME problem after upgrade 1.3.14 - 1.3.22

Hi.

I have run into problems trying to upgrade Apache from 1.3.14 to 1.3.22
on a Sun Solaris 8 machine. 1.3.22 does not handle SCRIPT_NAME the same
way (bug?). This is my scenario:

A cgi-script called script.cgi (the same problem occurs for
php-scripts).

Accessing the script with http://server/script.cgi
  both gives SCRIPT_NAME=/script.cgi.

Accessing the script with http://server/script.cgi/foo/bar
  both gives SCRIPT_NAME=/script.cgi and PATH_INFO=/foo/bar.

Accessing the script with http://server/script
  1.3.14 gives SCRIPT_NAME=/script
  1.3.22 gives SCRIPT_NAME=/script.cgi (!)

Accessing the script with http://server/script/
  1.3.14 gives SCRIPT_NAME=/script and PATH_INFO=/
  1.3.22 gives SCRIPT_NAME=/script/script.cgi (!) and PATH_INFO=/

Accessing the script with http://server/script/foo/bar
  1.3.14 gives SCRIPT_NAME=/script and PATH_INFO=/foo/bar.
  1.3.22 gives SCRIPT_NAME=/script/foo/script.cgi (!!!),
PATH_INFO=/foo/bar.

What's going on here???

-----------------------------------------------------------------------------
?ke Holmlund                                    Tel:  +46 - 90 786 57 16
Ume? University                                 Fax:  +46 - 90 786 65 50
Dept of informatics                             Email:

SE-901 87 Ume?
Sweden

2. Where can i get the bibaries GATED?

3. Apache 1.3.22 Virtual Server Problems

4. HELP!! ToolTalk not initialized HELP!!

5. Problems starting Apache 1.3.22

6. Problems with Diamond Speedstar Pro

7. apache 1.3.22 start problem (core dump)

8. The memory usage of the network block device

9. Problem upgrading to apache 1.3.22-1

10. apache 1.3.22 problems

11. Apache 1.3.22 start problem

12. How to use httpd/apache 1.3.22/2.0?

13. chroot apache 1.3.22 on aix 4.3.3