Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems. 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 am trying to figure out why Eclipse is complaining about being unable to find a library. I've managed to reproduce/reduce the java problem to:

$ ldd /home/jhendrix/.swt/lib/linux/x86/libswt-pi-gtk-3833.so
        linux-gate.so.1 =>  (0xf76fa000)
        libgtk-x11-2.0.so.0 => not found
        libgthread-2.0.so.0 => /usr/lib/i386-linux-gnu/libgthread-2.0.so.0 (0xf7674000)
        libXtst.so.6 => not found
        libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xf74c9000)
        libglib-2.0.so.0 => /lib/i386-linux-gnu/libglib-2.0.so.0 (0xf73cd000)
        /lib/ld-linux.so.2 (0xf76fb000)
        libpcre.so.3 => /lib/i386-linux-gnu/libpcre.so.3 (0xf738d000)
        libpthread.so.0 => /lib/i386-linux-gnu/libpthread.so.0 (0xf7372000)
        librt.so.1 => /lib/i386-linux-gnu/librt.so.1 (0xf7368000)

And indeed java is complaining about being unable to locate libgtk-x11-2.0.so.0. But when I check ldconfig, the library is right there:

$ sudo ldconfig -v 2>&1 | grep -E '(libgtk-x11-2.0.so.0|libXtst.so.6)'
        libXtst.so.6 -> libXtst.so.6.1.0
        libgtk-x11-2.0.so.0 -> libgtk-x11-2.0.so.0.2400.13

I suspect it has something to do with running a 64 bit system, running a 32-bit customized Eclipse build (Texas Instruments Code Composer 5):

$ locate libgtk-x11-2.0.so.0 libXtst.so.6

I think the question is: How can I install the 32 bit version for this library on a 64 bit Ubuntu 12.10? And secondary: Is it likely this will solve the problem?

share|improve this question
See: help.ubuntu.com/community/MultiArch – jordanm Jan 18 '13 at 22:24
@jordanm your hint put me on the right track, thnx! I executed $ sudo apt-get install libgtk2.0-0:i386 libxtst6:i386 and Eclipse now successfully runs. You should consider writing an answer. – jippie Jan 18 '13 at 22:34
Added as an answer. – jordanm Jan 18 '13 at 22:38
up vote 5 down vote accepted

Modern versions of 64bit Ubuntu have dpkg multi-arch enabled by default. You can install 32bit packages by adding :i386 to the end of the package name. You can find more information on multi-arch in Ubuntu here.

share|improve this answer

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.