web-dev-qa-db-ja.com

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

質問は、このライブラリの32ビットバージョンを64ビットUbuntu 12.10にインストールするにはどうすればよいですか?そして二次的:これは問題を解決する可能性がありますか?

2
jippie

64ビットUbuntuの最新バージョンでは、デフォルトでdpkgmulti-Archが有効になっています。パッケージ名の末尾に:i386を追加すると、32ビットパッケージをインストールできます。 Ubuntuのマルチアーチの詳細については ここ をご覧ください。

6
jordanm