Welcome to the Linux Foundation Forum!

rpmError

root@debian:/home/linjieli# rpm -i linuxqq*.rpm

rpm: RPM should not be used directly install RPM packages, use Alien instead!

rpm: However assuming you know what you are doing...

rpmdb: Program version 4.8 doesn't match environment version 5.1

error: db3 error(-30971) from dbenv->open: DB_VERSION_MISMATCH: Database environment version mismatch

error: cannot open Packages index using db3 - (-30971)

error: cannot open Packages database in /root/.rpmdb

rpmdb: Program version 4.8 doesn't match environment version 5.1

error: db3 error(-30971) from dbenv->open: DB_VERSION_MISMATCH: Database environment version mismatch

error: cannot open Packages database in /root/.rpmdb

How can I do ?

Comments

  • marc
    marc Posts: 647
    Have you tried using alien?

    Besides, if you are in a Debian system... why don't you use a .deb package?
  • designer
    designer Posts: 11
    rpmdb: Program version 4.8 doesn't match environment version 5.1

    If I use alien, I get the above error. That's say the rpmdb's version is 4.8 but the environment requirements 5.1, then how can i fix this?
  • Goineasy9
    Goineasy9 Posts: 1,114
    Debian uses .deb packages. Fedora, RedHat, Mandriva and other Linux distro's use .rpm packages. Even though applications like alien are suppose to help with converting .deb's to rpm's and vice versa, there are many variables that make this a non-efficent way of installing packages.

    If you are using Debian, look for .deb versions of packages to install, or else get used to the errors. If you can't find .deb versions, compile from source. Those of use who have used different Linux distos over the years know that you use the package system designed for the distro you are currently using, or else failure is eminent.
  • designer
    designer Posts: 11
    Do you mean this problem can not be resolved? Linux package dependency with various versions of the difference between no one wanted it solves?!!!!!!!!!!!!!!!
  • Goineasy9
    Goineasy9 Posts: 1,114
    One uses the packages that are available in the repositories of the distro they're using because they are compiled specifically for the particular distro. Since the software and its compilers are constantly advancing, an application that will work on one distro, may not work on another distro. It's not that the dependencies can't be resolved, but there may be different versions of the dependencies that may cause problems. When a new version of an application comes out in Fedora, and if that new version uses a different version of the compiler, I see that the whole list of dependencies has to be recompiled with the new compiler in order for it to work properly.
    So, if you try to use an application that was built for one distro, a distro that say is more stable than the distro you are trying to install it to, then, the libraries and other dependencies are of different versions, and will cause errors. It's not that noone wants to solve the errors, it's that the errors wouldn't be there if you use the correct versions of the programs.
    Many Ubuntu applications won't run in pure Debian because they are modified to run with Ubuntu, and these both use .deb files. How do you expect a program to run in Fedora (an .rpm distro) that was built for Debian or Ubuntu, if Debian and Ubuntu aren't compatible? How do you expect a program built for Fedora to run in Ubuntu if they have different versions of libraries?
    Distro Package Managers were built to solve dependency errors, but, you have to use the packages that come with your distros repositories, or else you will have many dependency problems.
  • designer
    designer Posts: 11
    Linux version 2.6.32-5-amd64 (Debian 2.6.32-45) (dannf@debian.org) (gcc version 4.3.5 (Debian 4.3.5-4) ) #1 SMP Sun May 6 04:00:17 UTC 2012



    new debian package, version 2.0.
    size 993282 bytes: control archive= 3562 bytes.
    933 bytes, 20 lines control
    5563 bytes, 90 lines md5sums
    248 bytes, 14 lines * postinst #!/bin/sh
    190 bytes, 12 lines * postrm #!/bin/sh
    Package: rpm
    Version: 4.9.1.3-2
    Architecture: amd64
    Maintainer: Michal 膶iha艡 <nijel@debian.org>
    Installed-Size: 1231
    Depends: libc6 (>= 2.4), libelf1 (>= 0.131), libpopt0 (>= 1.14), librpm2 (>= 4.9.0), librpmbuild2 (>= 4.9.0), librpmio2 (>= 4.9.0), librpmsign0 (>= 4.9.0), perl, rpm2cpio, rpm-common (= 4.9.1.3-2)
    Suggests: alien, elfutils, rpm-i18n
    Breaks: man-db (<< 2.5.0-1), manpages-pl (<< 20051017-1)
    Replaces: manpages-pl (<< 20051017-1)
    Section: admin
    Priority: optional
    Homepage: http://rpm.org/
    Description: package manager for RPM
    The RPM Package Manager (RPM) is a command-line driven package
    management system capable of installing, uninstalling, verifying,
    querying, and updating computer software packages.
    .
    On Debian and derived systems it is recommended to use "alien" to
    convert RPM packages into .deb format instead of bypassing the Debian
    package management system by installing them directly with rpm.


    This is my debian and my rpm package's information. Do you know they are neither compatible or not? Why linux have so many dependency problem and the microsoft window don't?

  • Goineasy9
    Goineasy9 Posts: 1,114
    You're creating the dependency problems by using incompatible applications. I've tried to explain that to you. You're trying to put a square peg in a round hole.
  • designer
    designer Posts: 11
    Well, well, I'm wrong. I just try use rpm on debian, maybe that is impossible, but I think somebody like me also will try.If there is a miracle, perhaps I could encounter. Have not tried, how do you know will not succeed. If the answer is not compatible, I would like to develop an rpm's people and the same can not be reconciled. What do you think?Compatible is a problem, but not all. I think if I get a right solution, I can run rpm on my debian, right?

    After all, THANKS!!!!!!!!!!!!!!

Categories

Upcoming Training