How to Upgrade Berkeley DB? (Was Re: How to Upgrade Portupgrade?)

Drew Tomlinson drew at
Fri Apr 27 18:58:17 UTC 2007

On 4/27/2007 10:58 AM Lowell Gilbert wrote:
> Drew Tomlinson <drew at> writes:
>> Thanks for all the replies.  Funny thing is that when trying the
>> "portupgrade -o" solution and using "pkg_info | grep portupgrade", no
>> results were returned.  The /var/db/pkg directory had no portupgrade*
>> entries.  Thus I just used "portupgrade -N portupgrade" to upgrade.
>> All seemed OK.  I did notice a "make config" window that asked me
>> which version of Berkeley DB to use for the backend.  Not knowing, I
>> just chose the default of ">=2" and the port built without error.
> Missing entries in the package database?  Could be a problem, although
> more likely it's just a mistake of some sort.
>> Next I attempted "pkgdb -L" suggested in the pkg-message file.  It
>> returned this error:
>> blacksheep# pkgdb -L
>> [Updating the pkgdb <format:bdb_btree> in /var/db/pkg ... /var/db/pkg/pkgdb.db: unexpected file type or format -- Invalid argument; rebuild needed] [Rebuilding the pkgdb <format:bdb_btree> in /var/db/pkg ... /var/db/pkg/pkgdb.db: unexpected file type or format -- 
>> Invalid argument: Cannot update the pkgdb!]: Cannot update the pkgdb!]
>> I assume this is due to choosing the incorrect Berkeley DB version?
>> So should I rebuild the portupgrade port and choose Berkeley DB 1.85
>> or is it recommended to convert the pkgdb to the newer version?  If I
>> should convert, how?
> My build machine is powered down today, so I can't get the exact
> answer, but it was in /usr/ports/UPDATING at the time.

I just searched /usr/ports/UPDATING.  I only find two entries, neither 
of which seems to cover my situation:

  AFFECTS: users of net/openldap2[34]-server
  AUTHOR: delphij at

  The default Berkeley DB version has been changed from
  4.3 to 4.4, as suggested by OpenLDAP developers.

  AFFECTS: users of databases/db*
  AUTHOR: swhetzel at

  Most of the ports that depend on Berkeley DB have been updated to use
  Mk/ Mk/ is used to include MySQL, 
  Berkeley DB, and SQLite in a port.

A quick Google search didn't reveal anything specific to FBSD and 
portupgrade on how to upgrade Berkeley DB.  However I will keep 
looking.  If you come across something on how I should update my systems 
to use the latest stable Berkeley DB and convert all dbs to that 
version, I'd appreciate the link.



Be a Great Magician!
Visit The Alchemist's Warehouse

More information about the freebsd-questions mailing list