Bug 36987 - Apache mod_auth_db fails due to Berkeley DB shared library version conflict
Apache mod_auth_db fails due to Berkeley DB shared library version conflict
Status: CLOSED WONTFIX
Product: Red Hat Linux
Classification: Retired
Component: apache (Show other bugs)
7.0
i386 Linux
low Severity medium
: ---
: ---
Assigned To: Joe Orton
David Lawrence
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2001-04-21 11:26 EDT by Need Real Name
Modified: 2007-03-26 23:43 EDT (History)
1 user (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2004-09-21 06:31:23 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:


Attachments (Terms of Use)

  None (edit)
Description Need Real Name 2001-04-21 11:26:12 EDT
Following packages apply:
db1-1.85-4
db1-devel-1.85-4
db2-2.4.14-4
db2-devel-2.4.14-4
db3-3.1.14-6
db3-devel-3.1.14-6
apache-1.3.14-3

It's conveivable that this is actually my problem, although it's happened
twice now on two different hosts, one of which was a stock install.

Three shared object modules in Apache -- mod_auth_db, mod_rewrite, and
mod_php4 -- appear to use different versions of Berkeley DB.  Since some
of the function names are shared among them this resulted, on my machine,
in mod_auth_db, which was compiled with DB version 3.x, incorrectly calling
the 2.x version of DB::open().

This was discovered by adding debugging statements to mod_auth_db.c around
line 170.  The db_create() function succeeded, but the following call,
DB::open(), failed with EINVAL (invalid argument).

'lsof' on httpd processes showed that shared libs of versions 3 and 2 were
both opened.

Removal of version 2 resulted in mod_rewrite failing because it needed
the version 1.85 interface provided by version 2.x, and mod_php4 failing
because it needed version 2.x (db_open()).

Disabling both of those modules (and screwing around with the symlinks in
/usr/lib) seemed to fix the problem, insofar as mod_auth_db now works
properly.

However, it would be *very helpful* if whoever is compiling the Apache
RPM package would stick with version 3.x for all the modules (3.x happens
to be what Perl -- and thus dbmmanage -- appears to use).  Or, if this is
not possible, statically link modules that need versions below 3.x
Comment 1 Nalin Dahyabhai 2001-07-24 15:15:15 EDT
The fix for this issue is being incorporated into candidate errata packages for
Apache 1.3.20 and PHP 4.0.6, and into Raw Hide.
Comment 2 Joe Orton 2004-09-21 06:31:23 EDT
Thanks for the report.  This is a mass bug update; since this release
of Red Hat Linux is no longer supported, please either:

a) try and reproduce the bug with a supported version of Red Hat
Enterprise Linux or Fedora Core, and re-open this bug as appropriate
after changing the Product field, or,

b) if relevant, try and reproduce this bug using the current version
of the upstream package, and report the bug upstream.


Note You need to log in before you can comment on or make changes to this bug.