Java
在 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 位版本?次要的:這可能會解決問題嗎?
現代 64 位 Ubuntu 版本預設啟用 dpkg 多架構。
:i386
您可以通過添加到包名稱的末尾來安裝 32 位包。您可以在此處找到有關 Ubuntu 中的多架構的更多資訊。