64 位 Linux 安装上缺少 32 位库

64 位 Linux 安装上缺少 32 位库

我试图弄清楚为什么 Eclipse 抱怨无法找到库。我已经成功地将 java 问题重现/减少为:

$ 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)

事实上,java 正在抱怨无法找到libgtk-x11-2.0.so.0.但当我检查时ldconfig,图书馆就在那里:

$ 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

我怀疑它与运行 64 位系统、运行 32 位定制 Eclipse 构建(Texas Instruments Code Composer 5)有关:

$ locate libgtk-x11-2.0.so.0 libXtst.so.6
/usr/lib/x86_64-linux-gnu/libXtst.so.6
/usr/lib/x86_64-linux-gnu/libXtst.so.6.1.0
/usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
/usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0.2400.13

我认为问题是:如何在 64 位 Ubuntu 12.10 上安装该库的 32 位版本?其次:这有可能解决问题吗?

答案1

现代版本的 64 位 Ubuntu 默认启用 dpkg 多架构。您可以通过:i386在软件包名称末尾添加来安装 32 位软件包。您可以在 Ubuntu 中找到有关多架构的更多信息这里

相关内容