FAQ Search Today's Posts Mark Forums Read
» Video Reviews

» Linux Archive

Linux-archive is a website aiming to archive linux email lists and to make them easily accessible for linux users/developers.


» Sponsor

» Partners

» Sponsor

Go Back   Linux Archive > Redhat > Fedora Build System

 
 
LinkBack Thread Tools
 
Old 05-31-2008, 11:04 PM
Paul B Schroeder
 
Default corrupt rpmdb in mock-chroot

Hello all...

On my x86_64 (CentOS 5.1) system I use mock to init an i386 chroot for
both Fedora 8 and CentOS 5.1. The init appears to work fine, but when I
drop into a mock-shell for either F8 or CentOS my rpm database is
corrupt on both accounts:

mock-chroot> rpm -qa
rpmdb: Program version 4.3 doesn't match environment version
error: db4 error(-30974) from dbenv->open: DB_VERSION_MISMATCH: Database
environment version mismatch
error: cannot open Packages index using db3 - (-30974)
error: cannot open Packages database in /var/lib/rpm

Rebuilding the rpm database seems to fix this, but it's a pain to be
sure. Any ideas as to why I'm seeing this corruption when creating an
i386 mock chroot from a x86_64 system?


Also, FYI, when I do this for x86_64 chroots or if I do this from my
i386 CentOS system, the rpm database does not get corrupt.

Thanks...Paul...

--
Fedora-buildsys-list mailing list
Fedora-buildsys-list@redhat.com
https://www.redhat.com/mailman/listinfo/fedora-buildsys-list
 
Old 06-01-2008, 02:16 AM
"Jon Stanley"
 
Default corrupt rpmdb in mock-chroot

On Sat, May 31, 2008 at 7:04 PM, Paul B Schroeder
<paul.schroeder@bluecoat.com> wrote:

>
> Rebuilding the rpm database seems to fix this, but it's a pain to be
> sure. Any ideas as to why I'm seeing this corruption when creating an
> i386 mock chroot from a x86_64 system?

This is normal and expected. You created the rpmdb with x86_64 rpm,
and are accessing it with i386 rpm. The Berkeley DB format is
different based on the arch of the creating machine, therefore
generates the database differently on the two platforms. If I plan on
doing anything in a chroot (especially a non-native arch one) other
than building a SRPM, the first thing that happens is to rm -f
/var/lib/rpm/__db*. Don't worry, this got me the first time too (and
is fatal to a pungi compose)

--
Fedora-buildsys-list mailing list
Fedora-buildsys-list@redhat.com
https://www.redhat.com/mailman/listinfo/fedora-buildsys-list
 
Old 06-02-2008, 12:19 PM
Paul B Schroeder
 
Default corrupt rpmdb in mock-chroot

On Sat, 2008-05-31 at 22:16 -0400, Jon Stanley wrote:
> On Sat, May 31, 2008 at 7:04 PM, Paul B Schroeder
> <paul.schroeder@bluecoat.com> wrote:
>
> >
> > Rebuilding the rpm database seems to fix this, but it's a pain to be
> > sure. Any ideas as to why I'm seeing this corruption when creating an
> > i386 mock chroot from a x86_64 system?
>
> This is normal and expected. You created the rpmdb with x86_64 rpm,
> and are accessing it with i386 rpm. The Berkeley DB format is
> different based on the arch of the creating machine, therefore
> generates the database differently on the two platforms. If I plan on
> doing anything in a chroot (especially a non-native arch one) other
> than building a SRPM, the first thing that happens is to rm -f
> /var/lib/rpm/__db*. Don't worry, this got me the first time too (and
> is fatal to a pungi compose)
Ah.. I see.. I would think there would be some way to tell it to
create the DB in i386 format though? Is there an environment variable
or something that can be set?


--
Fedora-buildsys-list mailing list
Fedora-buildsys-list@redhat.com
https://www.redhat.com/mailman/listinfo/fedora-buildsys-list
 
Old 06-02-2008, 01:25 PM
Dennis Gilmore
 
Default corrupt rpmdb in mock-chroot

On Monday 02 June 2008, Paul B Schroeder wrote:
> On Sat, 2008-05-31 at 22:16 -0400, Jon Stanley wrote:
> > On Sat, May 31, 2008 at 7:04 PM, Paul B Schroeder
> >
> > <paul.schroeder@bluecoat.com> wrote:
> > > Rebuilding the rpm database seems to fix this, but it's a pain to be
> > > sure. Any ideas as to why I'm seeing this corruption when creating an
> > > i386 mock chroot from a x86_64 system?
> >
> > This is normal and expected. You created the rpmdb with x86_64 rpm,
> > and are accessing it with i386 rpm. The Berkeley DB format is
> > different based on the arch of the creating machine, therefore
> > generates the database differently on the two platforms. If I plan on
> > doing anything in a chroot (especially a non-native arch one) other
> > than building a SRPM, the first thing that happens is to rm -f
> > /var/lib/rpm/__db*. Don't worry, this got me the first time too (and
> > is fatal to a pungi compose)
>
> Ah.. I see.. I would think there would be some way to tell it to
> create the DB in i386 format though? Is there an environment variable
> or something that can be set?

No, the hosts rpm is used to populate the chroot. when you enter the chroot
you can delete /var/lib/rpm/__db* and things will work.

You get the same issues with building say F-7 chroots on a F-9 host where the
chroot has a different version of the the database than the host.

Dennis

--
Fedora-buildsys-list mailing list
Fedora-buildsys-list@redhat.com
https://www.redhat.com/mailman/listinfo/fedora-buildsys-list
 

Thread Tools




All times are GMT. The time now is 06:17 AM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.
Copyright 2007 - 2008, www.linux-archive.org