歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Ubuntu 12.04 iNode Client找不到庫libjpeg和libtiff的解決方法

Ubuntu 12.04 iNode Client找不到庫libjpeg和libtiff的解決方法

日期:2017/2/28 15:42:56   编辑:Linux教程

iNodeClient在Ubuntu 10.04時,直接運行install.sh後便安裝成功。在Ubuntu 12.04的版本,安裝後雙擊iNodeClient後卻無法運行。重裝後問題依舊。於是使用命令行來運行。提示說libjpeg.so.62 not found。

於是上網找資料,找到這篇文章,發現文中的方法有點復雜。他的方法除了常規的查找依賴性、定位庫文件,還需要把庫文件復制到當前目錄,再建立軟鏈接,略顯繁瑣。其實只要直接建立軟鏈接即可,不需要做復制的動作。另外,作者過度使用sudo,這是不太好的習慣哦。

總結一下我的做法先。

1. 發現不滿足的依賴性。假設iNode安裝的目錄是<inode>:

www.linuxidc.com @linuxidc~ ldd <inode>/iNodeClient | grep 'not found'

這行代碼的作用有二。一是尋找運行iNodeClient時不滿足的依賴關系;二是看iNodeClient依賴的庫所在的位置(因為可能會在多個地方存在不同的庫)。在我的機器上,發現有兩個庫是找不到的,一個是libjpeg.so.62,另一個是libtiff.so.3。鏈接是這兩個庫wikipedia的介紹。

另外,發現iNodeClient庫依賴都存在於/usr/lib/i386-linux-gnu/這個目錄(我安裝的是普通的32位版本,其他版本可能不同)。

2. 看本地是否有這些庫。因為操作系統版本的更新,附帶的庫也有可能更新。這會帶來庫版本名字的改變,而這有可能是依賴性“不滿足”的一個原因。這種“不滿足”是名字不同帶來的,其實較新版本的庫是存在的。下面的命令就是查找本機同名庫的位置。

www.linuxidc.com @linuxidc~ locate libjpeg

發現本地真的有這些庫。並且在/usr/lib/i386-linux-gnu/這個目錄下存在。

3. 建立軟鏈接。在/usr/lib/i386-linux-gnu/目錄下有兩個libjpeg文件,一個是libjpeg.so.8,另一個是libjpeg.so.8.0.2。之前玩過一下LFS,經驗告訴我libjpeg.so.8是到libjpeg.so.8.0.2的軟鏈接。建立它可能是為了版本的小更新不會影響程序對庫的使用。所以我選擇鏈接到libjpeg.so.8,獲取這種小小的便利啦。而這句也是唯一需要用到sudo獲取權限的地方。

www.linuxidc.com @linuxidc~ sudo ln -s /usr/lib/i386-linux-gnu/libjpeg.so.8 /usr/lib/i386-linux-gnu/libjpeg.so.62

通過這三步,就可以解決第一個庫的問題了。

第二個庫的解決方法也是一樣的。下面是代碼。

www.linuxidc.com @linuxidc~ sudo ln -s /usr/lib/i386-linux-gnu/libtiff.so.4 /usr/lib/i386-linux-gnu/libtiff.so.3

把依賴性問題解決完以後,iNodeClient就可以使用了。

Copyright © Linux教程網 All Rights Reserved