On Tuesday 15 February 2011 22:29:09 Jeff Johnson wrote: > If file reports Berkeley DB etc, look for "btree" or "hash". Either > can/will work, but the configuration needs to agree with reality. > > It should be "btree" for 5.2.1 and 5.3.8 (but the dbconvert.sh script is > attempting db-4.6.1 w hash -> btree and so may have gotten confused). > > The configuration is in this line in /usr/lib/rpm/macros > > %_dbi_config_3_Packages %{_dbi_btconfig} > > Use "_dbi_btconfig" if Packages is in btree format, and "dbi_htconfig" if > in hash format
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) 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 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: rpm: rpmdb.c:2193: rpmmiNext: Assertion `(size_t)p.size == sizeof(mi- >mi_offset)' failed. Aborted > 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? Silvan -- mambaSoft di Calarco Silvan Web: http://www.mambasoft.it mambaSoft Store @ http://www.mambastore.it openmamba GNU/Linux development @ http://www.openmamba.org ______________________________________________________________________ RPM Package Manager http://rpm5.org Developer Communication List rpm-devel@rpm5.org