On Feb 15, 2011, at 9:18 PM, Silvan Calarco wrote: > > This is the difference before and after conversion: > > [root@smartqv7 ~]# file rpm/Packages > rpm/Packages: Berkeley DB (Hash, version 9, native byte-order) > [root@smartqv7 ~]# file /var/lib/rpm/Packages > /var/lib/rpm/Packages: Berkeley DB (Btree, version 9, big-endian) >
I'm not sure where you ended up with a DB_HASH, but the likeliest candidate is from the dbconvert.sh script which is attempting 4.6.1 -> 5.3.8. You should have had btree in both 5.2.2 and 5.3.8. > Ok I fixed macros file accordingly and rebuilddb showed no errors but no > index > tables were created. > > # rpm --rebuilddb -vv > D: pool fd: created size 208 limit -1 flags 0 > D: pool iob: created size 20 limit -1 flags 0 > D: pool mire: created size 84 limit -1 flags 0 > D: pool lua: created size 32 limit -1 flags 0 > D: pool ts: created size 888 limit -1 flags 0 > D: pool db: created size 208 limit -1 flags 0 > D: pool dbi: created size 288 limit -1 flags 0 > D: rpmdb: cpus 1 physmem 208Mb > D: opening db environment /var/lib/rpm/Packages thread:lock:log:mpool:txn > D: opening db index /var/lib/rpm/Packages create:thread:auto_commit > mode=0x2 > D: pool tsi: created size 24 limit -1 flags 0 Hmmm ... > D: closed db index /var/lib/rpm/Packages > D: closed db environment /var/lib/rpm/Packages > D: pool tsi: reused 1, alloc'd 1, free'd 1 items. > D: pool ts: reused 0, alloc'd 1, free'd 1 items. > D: pool db: reused 0, alloc'd 1, free'd 1 items. > D: pool dbi: reused 0, alloc'd 1, free'd 1 items. > D: pool lua: reused 0, alloc'd 1, free'd 1 items. > D: pool mire: reused 0, alloc'd 1, free'd 1 items. > D: pool iob: reused 0, alloc'd 1, free'd 1 items. > D: pool fd: reused 15, alloc'd 2, free'd 2 items. > > Next I tried an installation/remove command: > > # rpm -e python-rpm > > It takes a very long time to create Providename and Requirename, then I have > this error and the package is not removed: > If you add -vv I can often guess from context. There's little I can tell from "long time": was it the generation? or something else? > rpm: rpmdb.c:2193: rpmmiNext: Assertion `(size_t)p.size == sizeof(mi- >> mi_offset)' failed. > Aborted > This is a sanity check on the data returned from an rpmdb: totally "can't happen". >> You can live without --rebuilddb if necessary. In fact, --rebuilddb is >> largely useless with "RPM ACID", what is needed is >> cd /var/lib/rpm >> db51_recover -ev >> >> I'd tatoo that on my forehead if I thought it would help. Old habits using >> --rebuilddb are gonna take years to change. > > Yes I think I've learned it, but is this available with db 4.7 too? > I haven't personally used db-4.7 with "RPM ACID". I have checked and remember no reason why "RPM ACID" shouldn't work with db-4.7.x. TRansactional logging and ACID have been in Berkeley DB for years, and there just haven't been that many API change. Meanwhile, db-4.8.x is known to work recently in IDMS, and I've used all of 4.8.x/5.0.x/5.1.x while developing. You might try a later version. I will as soon as I get a chance and have to build RPM on a system with db-4.7.x installed. 73 de Jeff
smime.p7s
Description: S/MIME cryptographic signature