Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I recently upgraded to an amd64 version of Wheezy, and I have a couple of compiled proprietary programs that need to keep running 32-bit.

No problem, I installed the i386 compatibility libraries

dpkg --add-architecture i386
apt-get update
apt-get install ia32-libs

Unfortunately, the version of one of the libraries installed is wrong, generating an error:

error while loading shared libraries: cannot open shared object file: No such file or directory

It looks like I've got:

-rw-r--r-- 1 root 1641048 Jun 28  2012 i386-linux-gnu/

Where my program expects:

-rw-r--r-- 1 root 1638052 Sep 13  2008 libdb-4.6.a
-rw-r--r-- 1 root     800 Sep 13  2008
-rw-r--r-- 1 root 1256548 Sep 13  2008

What's the best way to backtrack the libraries to resolve this error?

share|improve this question
Have you tried just symlinking a 4.6 to the 5.1 libs? – jscott Apr 24 '14 at 1:07
Interesting thought, but no go. After that link: /usr/lib/i386-linux-gnu/ version `DB4_6' not found – Shannon A. Apr 24 '14 at 4:34
up vote 1 down vote accepted

I just copied my file off of my old i386 machine into /usr/lib/i386-linux-gnu and it seems to work fine.

Anyone want to tell me why this is a horrible idea? If not, this may be the answer ...

share|improve this answer
Considering the scope of use this library will have, I believe this is the correct answer. – jscott Apr 26 '14 at 2:07

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.