Bug 22440 - The apache executable uses both db2 and db3, creating runtime conflicts to DB_File.so in mod_perl
Summary: The apache executable uses both db2 and db3, creating runtime conflicts to DB...
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Red Hat Linux
Classification: Retired
Component: apache
Version: 7.0
Hardware: i386
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Nalin Dahyabhai
QA Contact: Need Real Name
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2000-12-18 10:32 UTC by Julio Sanchez Fernandez
Modified: 2007-04-18 16:30 UTC (History)
1 user (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2000-12-18 10:32:04 UTC
Embargoed:


Attachments (Terms of Use)

Description Julio Sanchez Fernandez 2000-12-18 10:32:01 UTC
mod_rewrite.so wants dbm emulation and the apache build takes it from db2.

mod_auth_db.so wants some Berkeley DB and gets db3 by default.

As a consequence, /usr/sbin/httpd gets dependent on both libraries.

When using mod_perl (especifically, when using Apache::ASP), if DB_File.so is needed, it fails at load time because Perl was built with db3 
and DB_FIle knows it, but its external references get satisfied dynamically by those in db2 and refuses to work.

What I did is to rebuild the apache RPMS so that it has gdbm:

LIBS='-lgdbm' \
./configure
[etc.]

This way src/helpers/find-dbm-lib gets happy with it and does not include a dependency on -lndbm (that ends up as a dependency on -ldb2).
On the other hand, mod_auth_db is happy with -ldb, that seems to be db3 and DB_File is happy with it.

Possibly someone who understands the DB-version policy can suggest something better.

Comment 1 Nalin Dahyabhai 2001-01-12 02:25:05 UTC
Eek.  We have to switch mod_auth_dbm to DB3's dbm emulation because the
dbmmanage perl script turns out to be a db3 application which creates db3 hash
files.


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