
我剛剛購買了 Humble Double Fine Bundle 並下載了 .bin 文件,它說它使用 mojo 安裝程式。
當我嘗試開啟安裝程式時,出現以下錯誤:
jeggy@jeggy-XPS:~/Niðurtøkur$ sudo ./CostumeQuest-Linux-2013-05-07-setup.bin
./CostumeQuest-Linux-2013-05-07-setup.bin: error while loading shared libraries: libbz2.so.1: cannot open shared object file: No such file or directory
我用谷歌搜索,發現了這個:
這看起來就像我的問題,但鏈接現在已經死了:/
我運行的是 Ubuntu 13.04 64 位
編輯:
它說我已經安裝了 libbz2-1.0
jeggy@jeggy-XPS:~/Niðurtøkur$ sudo apt-get install libbz2-1.0
Reading package lists... Done
Building dependency tree
Reading state information... Done
libbz2-1.0 is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
LD:
jeggy@jeggy-XPS:~/Niðurtøkur$ ldd ./CostumeQuest-Linux-2013-05-07-setup.bin
linux-gate.so.1 => (0xf77a9000)
libpthread.so.0 => /lib/i386-linux-gnu/libpthread.so.0 (0xf7769000)
libbz2.so.1 => not found
libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xf7763000)
libm.so.6 => /lib/i386-linux-gnu/libm.so.6 (0xf7720000)
libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xf756d000)
/lib/ld-linux.so.2 (0xf77aa000)
jeggy@jeggy-XPS:~$ sudo find / -name libbz2.so.1
[sudo] password for jeggy:
/home/jeggy/.local/share/Steam/ubuntu12_32/steam-runtime/i386/lib/i386-linux-gnu/libbz2.so.1
/lib/x86_64-linux-gnu/libbz2.so.1
我花了很長時間才收到該命令的回應。
答案1
修復錯誤的簡單方法
sudo find / -name libbz2.so.1
輸出是
/var/cache/lxc/centos/x86_64/6/rootfs/lib64/libbz2.so.1
/var/cache/lxc/raring/rootfs-amd64/lib/x86_64-linux-gnu/libbz2.so.1
/var/lib/lxc/centos/rootfs/lib64/libbz2.so.1
/var/lib/lxc/container/rootfs/lib/x86_64-linux-gnu/libbz2.so.1
/var/lib/lxc/juju/rootfs/lib/x86_64-linux-gnu/libbz2.so.1
/var/lib/lxc/client/rootfs/lib/x86_64-linux-gnu/libbz2.so.1
/lib/x86_64-linux-gnu/libbz2.so.1
/lib/i386-linux-gnu/libbz2.so.1
那麼只需在執行之前載入該函式庫 libbz2.so.1
對於 32 位元應用程式
LD_PRELOAD=/lib/i386-linux-gnu/libbz2.so.1 ./CostumeQuest-Linux-2013-05-07-setup.bin
如果那行得通那麼簡單檢查這個答案Skype 因分段錯誤而崩潰
或者
sudo ln -s /lib/i386-linux-gnu/libbz2.so.1 /usr/lib32/
sudo ldconfig -v
然後運行安裝程序
更新
製作一個文件
sudo gedit /etc/ld.so.conf.d/hib.conf
將以下行複製並貼上其中
/home/jeggy/.local/share/Steam/ubuntu12_32/steam-runtime/i386/lib/i386-linux-gnu/
/lib/x86_64-linux-gnu/
/lib/i386-linux-gnu/
儲存並退出然後執行以下命令
sudo ldconfig -v
最後運行設定
sudo ./CostumeQuest-Linux-2013-05-07-setup.bin
透過 Google + 螢幕分享解決
sudo cp /home/jeggy/.local/share/Steam/ubuntu12_32/steam-runtime/i386/lib/i386-linux-gnu/libbz2.so.1.0.4 /usr/lib/libbz2.so.1
sudo ldconfig -v
最後運行設定
sudo ./CostumeQuest-Linux-2013-05-07-setup.bin
答案2
確保查看 /usr/lib*32* 資料夾來建立符號連結(以及該資料夾中的庫,而不是來自 lib 資料夾,因為它是 64 位元)。
安裝程式似乎是 32 位元的(當您查看 ldd 的輸出時很明顯)。在 lib32 資料夾中建立指向 libbz2.so.1 的額外符號連結後,它安裝得很好。 (儘管它確實發送了更多異常訊息)
答案3
你可以像這樣安裝libbz2
sudo apt-get install libbz2-1.0
答案4
開啟終端,使用cd
導航至下載目錄。類型:
chmod u+x *filename*
按 Enter 鍵然後輸入:
./*filename*
其他詳細資訊:這適用於 Ubuntu 13.04 x64,我只需輸入不含副檔名的檔案名稱(即沒有 .bin 等)
這應該會在終端機中打開安裝提示。