Bug 82764

Summary: glibc-2.3.1-38 breaks rpm
Product: [Retired] Red Hat Raw Hide Reporter: sean <seandarcy>
Component: glibcAssignee: Jakub Jelinek <jakub>
Status: CLOSED WORKSFORME QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: 1.0CC: fweimer, jbj
Target Milestone: ---   
Target Release: ---   
Hardware: i386   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2003-01-27 13:10:25 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description sean 2003-01-26 02:07:46 UTC
Description of problem:
rpm was working fine. upgraded to rpm-4.2.0-60. Still worked fine. Installed new
glibc. Now rpm does this:

[root@amd1900 wine]# rpm -q glibc
rpmdb: Berkeley DB library configured to support only DB_PRIVATE environments
error: db4 error(22) from dbenv->open: Invalid argument
error: cannot open Packages index using db3 - Invalid argument (22)
error: cannot open Packages database in /var/lib/rpm
package glibc is not installed

Of course this means no obvious way to regress to 2.3.1-34:

[root@amd1900 glibc-34-fix]# ls
glibc-2.3.1-34.i386.rpm         glibc-devel-2.3.1-34.i386.rpm
glibc-common-2.3.1-34.i386.rpm  nscd-2.3.1-34.i386.rpm
[root@amd1900 glibc-34-fix]# rpm -Uvh  *m  --oldpackage
rpmdb: Berkeley DB library configured to support only DB_PRIVATE environments
error: db4 error(22) from dbenv->open: Invalid argument
error: cannot open Packages index using db3 - Invalid argument (22)
error: cannot open Packages database in /var/lib/rpm
rpmdb: Berkeley DB library configured to support only DB_PRIVATE environments
error: db4 error(22) from dbenv->open: Invalid argument
error: cannot open Packages database in /var/lib/rpm
rpmdb: Berkeley DB library configured to support only DB_PRIVATE environments
error: db4 error(22) from dbenv->open: Invalid argument
error: cannot open Packages database in /var/lib/rpm
rpmdb: Berkeley DB library configured to support only DB_PRIVATE environments
error: db4 error(22) from dbenv->open: Invalid argument
error: cannot open Packages database in /var/lib/rpm
rpmdb: Berkeley DB library configured to support only DB_PRIVATE environments
error: db4 error(22) from dbenv->open: Invalid argument
error: cannot open Packages database in /var/lib/rpm


Any suggestions appreciated.

Version-Release number of selected component (if applicable):


How reproducible:


Steps to Reproduce:
1.
2.
3.
    
Actual results:


Expected results:


Additional info:

Comment 1 Jeff Johnson 2003-01-27 13:10:25 UTC
Hmmm, where did you get rpm-4.2-0.60? If built locally,
then I suspect that you built without installed nptl-devel.

rpm-4.2-0.60 with glibc-2.3.1-38 WORKSFORME.

Putting in /etc/rpm/macros (note "private")
    %__dbi_cdb  create cdb private mpool mp_mmapsize=16Mb mp_size=1Mb
will resurrect rpm functionaility.

Comment 2 sean 2003-01-27 15:16:58 UTC
Thanks. Worked.

BTW, I got rpm-4.2.0.60 from rawhide. I rebuilt the src.rpm, without nptl-devel,
as you suspected. You may want to add a build dependency.

jay

Comment 3 Greg Trounson 2005-01-20 23:48:59 UTC
I can confirm that the above fix worked for me too!

Redhat 9.0, with rpm-4.2-0.69 and glibc-2.3.2-27.9.7 would refuse to
let rpm transactions run, giving the same Berkeley DB library error as
above.  Though curiously running a bit-for-bit identical copy of
/bin/rpm from another partition did work.

Creating the file /etc/rpm/macros and populating it with:
%__dbi_cdb  create cdb private mpool mp_mmapsize=16Mb mp_size=1Mb
fixed it once and for all.