RPM Community Forums

Mailing List Message of <rpm-users>

Re: error: cannot open Packages database in /var/lib/rpm

From: <spam.spam.spam.spam@free.fr>
Date: Wed 27 May 2009 - 23:56:41 CEST
Message-ID: <1243461401.4a1db719c0e40@imp.free.fr>
Selon Jeff Johnson <n3npq@mac.com>:

>
> On May 27, 2009, at 3:49 PM, spam.spam.spam.spam@free.fr wrote:
> >
> > OK so first, this is what I get with verbose mode :
> >
> > # rpm --rebuilddb -vv
> > D: pool ts:     created size 720 limit -1 flags 0
> > D: pool db:     created size 180 limit -1 flags 0
> > D: dbiOpen: _dbiapi failed
>
> Ah, that's easy fixing.
>
> (aside)
> Hmmm, the error message is wrong: "%_dbapi" is the
> name of the macro. Fix todo++ ...
>
> Verify that %_dbapi value is bogus by doing
> 	[jbj@fedora10 rpmdb]$ rpm --showrc | grep dbapi
> 	-14: _dbapi	3
> 	-14: _dbapi_rebuild	3
> 	...
> The correct values are displayed above.
>
> (aside)
> Ironically, the current values for %_dbapi and %_dbapi_rebuild
> make no sense whatsoever:
> 	3	== Berkeley DB db-4.x.y
> 	4	== sqlite3
> but that is what is currently implemented for hysterical reasons.
>
> You can specify macro values on the CLI as, say
> 	--define '_dbpai 3'
> but you are likely just not reading macro configuration
> for some reason, usually because paths are not compiled
> in correctly.
>
> What does
> 	rpm --showrc
> say? It should display all the configuration macros
> used by rpm, including %_dbapi.
>
> <other derivative errors deleted. once the rpmdb is opened, these
> should "work">
>
> 73 de Jeff
> ______________________________________________________________________
> RPM Package Manager                                    http://rpm5.org
> User Communication List                             rpm-users@rpm5.org
>

This is what the 'rpm --showrc' command say :

# rpm --showrc
ARCHITECTURE AND OS:
build arch            : i686
compatible build archs: i686
build os              : Linux
compatible build os's : linux
install arch          : i686
install os            : Linux
compatible archs      : i686
compatible os's       : Linux
optflags              : -O2 -g

MACRO DEFINITIONS:
macrofiles            :
//lib/rpm/macros://lib/rpm/i686-linux/macros:/etc/rpm/macros.*:/etc/rpm/macros:/etc/rpm/i686-linux/macros:~/.rpmmacros
========================
-15: ___build_pre
RPM_SOURCE_DIR="%{_sourcedir}"
RPM_BUILD_DIR="%{_builddir}"
RPM_OPT_FLAGS="%{optflags}"
RPM_ARCH="%{_arch}"
RPM_OS="%{_os}"
export RPM_SOURCE_DIR RPM_BUILD_DIR RPM_OPT_FLAGS RPM_ARCH RPM_OS
RPM_DOC_DIR="%{_docdir}"
export RPM_DOC_DIR
RPM_PACKAGE_NAME="%{name}"
RPM_PACKAGE_VERSION="%{version}"
RPM_PACKAGE_RELEASE="%{release}"
export RPM_PACKAGE_NAME RPM_PACKAGE_VERSION RPM_PACKAGE_RELEASE
%{?buildroot:RPM_BUILD_ROOT="%{buildroot}"
export RPM_BUILD_ROOT
}
-15: _builddir  %{_topdir}/BUILD
-15: _buildshell        /bin/sh
-15: _dbpath    %{_var}/lib/rpm
-15: _defaultdocdir     %{_usr}/share/doc
-15: _prefix    %{_usr}
-15: _rpmdir    %{_topdir}/RPMS
-15: _rpmfilename       %%{ARCH}/%%{NAME}-%%{VERSION}-%%{RELEASE}.%%{ARCH}.rpm
-15: _sourcedir %{_topdir}/SOURCES
-15: _specdir   %{_topdir}/SPECS
-15: _srcrpmdir %{_topdir}/SRPMS
-11= _target    i686-linux
-11= _target_cpu        i686
-11= _target_os linux
-15: _tmppath   %{_var}/tmp
-15: _topdir    %{_usr}/src/rpm
-15: _usr       /
-15: _var       //var
-15: optflags   -O2 -g
-15: sigtype    none
======================== active 20 empty 0

I don't see the line %_dbapi...
What should I do now to resolve this problem?
Received on Wed May 27 23:57:10 2009
Driven by Jeff Johnson and the RPM project team.
Hosted by OpenPKG and Ralf S. Engelschall.
Powered by FreeBSD and OpenPKG.