www-apache-bugdb mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From William White <bwh...@frogomatic.org>
Subject mod_auth-any/7599: Symbol conflict in shared libs due to multiple versions of Berkeley DB
Date Sat, 21 Apr 2001 15:10:11 GMT

>Number:         7599
>Category:       mod_auth-any
>Synopsis:       Symbol conflict in shared libs due to multiple versions of Berkeley DB
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    apache
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   apache
>Arrival-Date:   Sat Apr 21 08:20:00 PDT 2001
>Closed-Date:
>Last-Modified:
>Originator:     bwhite@frogomatic.org
>Release:        1.3.14 RedHat patch level 3
>Organization:
apache
>Environment:
RedHat Linux 2.2.16-22
>Description:
This is probably more of a problem w/ RedHat's RPM than Apache per se but I'm
sending this along here as well since my experience may be useful to others.

RedHat's Apache v1.3.14-3 RPM contains three modules -- mod_auth_db, mod_php4,
and mod_rewrite -- all shared objects, each of which are (in the RPM at least)
compiled + linked with different versions of Berkeley DB.  mod_auth_db uses
version 3.x shared library, mod_rewrite uses 1.85 interface via DB version 2.x
shared library, and mod_php4 uses version 2.x.  Consequently mod_auth_db
fails in (around line 170):
	f->open(f, auth_dbpwfile, NULL, DB_HASH, DB_READONLY, 0664)
returning EINVAL.  Though the previous db_create() call executes correctly 
(being resolved to libdb-3.x), the DB::open() call evidently resolves to
a different library version.
>How-To-Repeat:
RedHat Linux 2.2.16-22 installation w/ following packages:
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

On my machine /usr/lib/libdb.so.3 was a symlink to /usr/lib/libdb2.so.3

Enable mod_auth_db, mod_rewrite, mod_php4
Create .htaccess file using Berkeley DB (AuthDBUserFile)

'lsof' should also show that httpd is linked with multiple versions of libdb.
>Fix:
Largely a package problem, provided that mod_rewrite and mod_php4 can both be
compiled using Berkeley DB v3.x.  If they can't, these modules should be 
upgraded to handle multiple versions, defaulting to the highest version number.

Temporary fix was implemented as follows:

1. Relink /usr/lib/libdb.so.3 to Berkeley DB version 3 instead of version 2
2. Disable mod_rewrite and mod_auth_php4
>Release-Note:
>Audit-Trail:
>Unformatted:
 [In order for any reply to be added to the PR database, you need]
 [to include <apbugs@Apache.Org> in the Cc line and make sure the]
 [subject line starts with the report component and number, with ]
 [or without any 'Re:' prefixes (such as "general/1098:" or      ]
 ["Re: general/1098:").  If the subject doesn't match this       ]
 [pattern, your message will be misfiled and ignored.  The       ]
 ["apbugs" address is not added to the Cc line of messages from  ]
 [the database automatically because of the potential for mail   ]
 [loops.  If you do not include this Cc, your reply may be ig-   ]
 [nored unless you are responding to an explicit request from a  ]
 [developer.  Reply only with text; DO NOT SEND ATTACHMENTS!     ]
 
 


Mime
View raw message