1828216 Members
2222 Online
109975 Solutions
New Discussion

RPM error!

 
Leandro Sales
Advisor

RPM error!

Hi...
I was using RPM 3.0.4 and I updated to 4.0.2 and install some programs... After, always I run rpm -qa, rpm -ivh and so one, I got the following message:

/usr/lib/rpm/rpmdb: error in loading shared libraries: libdb-3.1.so: cannot open shared object file: No such file or directory

Any clue?

Leandro.
10 REPLIES 10
Martono
Occasional Advisor

Re: RPM error!


file libdb-3.1.so is belong to db-3.1.17 rpm, check on your installed rpm.

maybe it helps,
c'mon man, give me some points .. :-)
Leandro Sales
Advisor

Re: RPM error!

Ok. I know this, but how can I check the db rpm installation if I can't run rpm?

Leandro.
Santosh Nair_1
Honored Contributor

Re: RPM error!

libdb-3.1.so should be in /lib. Check if its there and check the permissions...should have execute permissions. Also if the file exists do a ldconfig -v so that the dynamic linker knows about this library.

-Santosh
Life is what's happening while you're busy making other plans
Martono
Occasional Advisor

Re: RPM error!

Try this:

- make sure you are login as root and you have file db-3.1.[version].rpm on / directory

- do this, change file rpm format to cpio format and extract the file

cd /
rpm2cpio db-3.1.[version].rpm |cpio -ivd
ldconfig -v

- then try to execute rpm command again.

hope it helps,


c'mon man, give me some points .. :-)
Leandro Sales
Advisor

Re: RPM error!

[root@classi-a /lib]# pwd
/lib
[root@classi-a /lib]# ls -al libdb*
-rwxr-xr-x 1 root root 234176 Jun 17 2000 libdb-2.1.3.so
lrwxrwxrwx 1 root root 15 Sep 14 2000 libdb.so.2 -> libdb1-2.1.3.so
lrwxrwxrwx 1 root root 14 Sep 14 2000 libdb.so.3 -> libdb-2.1.3.so
-rwxr-xr-x 1 root root 51248 Jun 17 2000 libdb1-2.1.3.so
lrwxrwxrwx 1 root root 15 Sep 14 2000 libdb1.so.2 -> libdb1-2.1.3.so
[root@classi-a /lib]#

[root@classi-a /]# rpm2cpio db3-3.1.17-7cl.i386.rpm | cpio -ivd
rpm2cpio: error in loading shared libraries: libdb-3.1.so: cannot open shared object file: No such file or directory
cpio: premature end of archive

And now? :( I tried, from another linux box do:

rpm2cpio db3-3.1.17-7cl.i386.rpm > db.cpio
and send (via ftp) the db.cpio file to my box. There I use:

cpio -ivd db.cpio
but nothing occured. The prompt didn't 'come up' again. I use ctrl+c to cancel the operation.

PS.: I remember that this problem begins when I installed ldconfig-2.2.3-18cl.i386.rpm, any problem?

Thanks.

Leandro.
Santosh Nair_1
Honored Contributor

Re: RPM error!

Leandro

I'm afraid I don't have easy acess to my linux box right now, but could you try copying over the library from another linux box and run ldconfig to see that will fix the problem?

I'll check up again once I get to my linux box.

-Santosh
Life is what's happening while you're busy making other plans
Santosh Nair_1
Honored Contributor

Re: RPM error!

Leandro,

Your syntax for the cpio command is incorrect, it should be:

cpio -ivd < db.cpio

Notice the redirect (<) character. This should extract the necessary file from the cpio archive. Just move libdb-3.1.so to /lib and make sure it has the following permissions:

-rwxr-xr-x 1 root root 1564413 Dec 12 2000 /lib/libdb-3.1.so

Then run ldconfig -v. Finally, just for good measures, I'd try to re-install db-3.1.17 rpm so that any other file that was not copied over originaly is now installed properly.

Hope this helps.

-Santosh
Life is what's happening while you're busy making other plans
Leandro Sales
Advisor

Re: RPM error!

:( Ok. But...

# cpio -ivd < db.cpio
all files was extract propertly.

# rpm -qa
/usr/lib/rpm/rpmq: error in loading shared libraries: libbz2.so.1: cannot open shared object file: No such file or directory

And now?!

Thanks for the help.

Leandro.
Santosh Nair_1
Honored Contributor

Re: RPM error!

Okay, that library should be in something like libbzip2_1. You should be able to extract the lib from this archive similar to above.

-Santosh
Life is what's happening while you're busy making other plans
Leandro Sales
Advisor

Re: RPM error!

Ok. Thanks. All check as soon as I can, because I'm not at work.

Leandro.