Bugzilla – Bug 1213158
Packages install failed with ndb backend
Last modified: 2023-09-04 09:23:36 UTC
When using the LXC Leap image, zypper is not available. Similarly, when using openSUSE Tumbleweed, both dnf and zypper are not available. for For example, when trying to install Vim, you will encounter an error message. -------------------------- Installation of perl-5.36.1-1.2.x86_ 64 failed: ErroP's Subprocessg faited.c Error: RPM failed: Command exited with status 1 ----------------------------- In LXC Leap, replacing rpm-ndb with rpm can resolve this issue, and dnf does not encounter this problem. The issue is specific to zypper. However, in openSUSE Tumbleweed LXC, both dnf and zypper have this problem, and replacing rpm-ndb does not solve it.
When using opensuse-leap-image.x86_64-15.5.0-lxc-Build10.57.tar.xz, zypper didn't work with some packages until I manually replace rpm-ndb with rpm(use tar to unpack rpm directly into system because rpm installation has failed and I was faced with a situation where rpm-ndb was uninstalled while rpm was not installed). When using opensuse-leap-dnf-image.x86_64-15.5.0-lxc-dnf-Build10.57.tar.xz, both dnf and zypper worked fine. But when I try to replace rpm with rpm-ndb, rpm-ndb just failed to install(and there was no rpm avaliable again). So I guess it's a problem with rpm-ndb.But this cannot explain why both opensuse-tumbleweed-image.x86_64-lxc.tar.xz(rpm-ndb) and opensuse-tumbleweed-dnf-image.x86_64-lxc-dnf.tar.xz(rpm) were failed. Maybe it's a problem with a specific version of rpm?
I tried again and I think it's a problem with ndb. In tumbleweed both dnf and zypper use rpm with ndb, and only rpm-ndb in leap has problem. But it seems that all failure in tumbleweed can be just ignored and won't cause any consequence.
Leap' rpm-ndb does not support updating from rpm, so it's no surprise that you get an error at installation time (but rpm should still be present after that). As for the original problem, I've no idea. I remember a kernel bug in Factory that broke ndb, but that should be already fixed.