You are viewing a plain text version of this content. The canonical link for it is here.
Posted to apache-bugdb@apache.org by Dave Larson <da...@plains.nodak.edu> on 1998/05/27 21:30:06 UTC

mod_auth-any/2299: mod_auth_db.so is not linked properly

>Number:         2299
>Category:       mod_auth-any
>Synopsis:       mod_auth_db.so is not linked properly
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    apache
>State:          open
>Class:          sw-bug
>Submitter-Id:   apache
>Arrival-Date:   Wed May 27 12:40:01 PDT 1998
>Last-Modified:
>Originator:     davlarso@plains.nodak.edu
>Organization:
apache
>Release:        1.3b7
>Environment:
SunOS wwwfs-2 5.6 Generic_105182-04 i86pc i386 i86pc
gcc 2.8.1, Using Sun's supplies as and ld, not the GNU versions
>Description:
When using the mod_auth_db.so module as a DSO and loading it at runtime, httpd
fails to startup because it cannot resolve the dbopen symbol from the libdb.a 
library.
>How-To-Repeat:
Build apache using the following options:

      --enable-shared=max \
        --enable-module=log_agent \
        --enable-module=log_referer \
        --enable-module=status \
        --enable-module=auth_db \
        --enable-module=auth_dbm \
        --enable-module=so
>Fix:
Possibly link the modules in a differnt way. It appears that if the auth_db
module is enabled, that apache is linked with the libdb.a library, however it
doesn't get included in the final executable. This seems like a bad idea anyways,
since you should be able to add the auth_db module at any time using the DSO
concept. I am able to get link the libdb.a library in by hand by doing the following:

ld -r -B symbolic -o mod_auth_db.so mod_auth_db.lo /local/lib/libdb.a 

It would seem like a good idea to link in any static libraries that a module
requires but is not required by httpd with the module when using the DSO 
mechanism.
>Audit-Trail:
>Unformatted:
[In order for any reply to be added to the PR database, ]
[you need to include <ap...@Apache.Org> in the Cc line ]
[and leave the subject line UNCHANGED.  This is not done]
[automatically because of the potential for mail loops. ]