linux運行程式缺少庫的解決方案
最近準備用linux玩blender, 從graphicall.org上下載SVN上較新的版本下來,運行提示error while loading shared libraries: libxxx: cannot open shared object file: No such file or directory.
換了好幾個發行版,都有問題。最後還是得自己找庫:
首先來到blender的程式目錄,命令列: ldd ./blender
出現blender這個程式依賴的庫。
記下not found的庫名。
有些庫其實系統裡已有只不過名字有些差異。
先找到庫的完整名字:
比如: 來到/usr/lib目錄下: ls libpulse*
通過添加link來解決:
例如: ln -s /usr/lib/libpulse.so.0 /usr/lib/libpulse.so.0.12.2
有些庫系統裡確實沒有, 就得上網找:
搜尋技巧: 庫名+deb
或者去debian或ubuntu網站, 那裡有大量已經做好的deb包
所有庫檔案到位後,/usr/lib下運行命令(需要root許可權,命令多的話最好用python什麼自動產生比較方便,下面是lubuntu10.04裡所需的命令)
ln -s -f libgettextlib-0.17.so libgettextlib-0.14.6.so
ln -s -f libgomp.so.1.0.0 libgomp.so.1
ln -s -f libHalf.so.6.0.0 libHalf.so.4
ln -s -f libIex.so.6.0.0 libIex.so.4
ln -s -f libIlmImf.so.6.0.0 libIlmImf.so.4
ln -s -f libImath.so.6.0.0 libImath.so.4
ln -s -f libtiff.so.4 libtiff.so.3
ps: linux用起來真麻煩。兩個禮拜一共下載試用了好幾種發行版,puppy,slax,slitaz,cdlinux,lubuntu,u-lite,ubuntu都不同程度的缺庫,比較下來puppy不僅體積小,各種軟體功能整合的也較全,但運行blender缺少很多庫,有幾個實在找不到。 後來就先選擇lubuntu, 缺了幾個比較容易找到的庫,系統運行起來比完整版的ubuntu快點(我用的是迷你筆記型電腦,所以對軟體效率要求較高),但整合的軟體我不太喜歡,比如wifi管理軟體不方便,沒有預裝gcc等編譯工具等。最後打算下載ylmf和deepin的linux試試,實在不行還是用回windows, 並期待好用的reactos早點發布。