【Linux】 ubuntu 12.04 iNode Client找不到库libjpeg和libtiff的解决方法

转自:http://blog.csdn.net/dduhmy/article/details/7580457

iNodeClient在ubuntu 10.04时,直接运行install.sh后便安装成功。在12.04的版本,安装后双击iNodeClient后却无法运行。重装后问题依旧。于是使用命令行来运行。提示说libjpeg.so.62 not found。

于是上网找资料,找到这篇文章,发现文中的方法有点复杂。他的方法除了常规的查找依赖性、定位库文件,还需要把库文件复制到当前目录,再建立软链接,略显繁琐。其实只要直接建立软链接即可,不需要做复制的动作。另外,作者过度使用sudo,这是不太好的习惯哦。

总结一下我的做法先。

1. 发现不满足的依赖性。假设iNode安装的目录是<inode>:

[plain] view plain copy
  1. $: ldd <inode>/iNodeClient | grep 'not found'  

这行代码的作用有二。一是寻找运行iNodeClient时不满足的依赖关系;二是看iNodeClient依赖的库所在的位置(因为可能会在多个地方存在不同的库)。在我的机器上,发现有两个库是找不到的,一个是libjpeg.so.62,另一个是libtiff.so.3。链接是这两个库wikipedia的介绍。

另外,发现iNodeClient库依赖都存在于/usr/lib/i386-linux-gnu/这个目录(我安装的是普通的32位版本,其他版本可能不同)。


2. 看本地是否有这些库。因为操作系统版本的更新,附带的库也有可能更新。这会带来库版本名字的改变,而这有可能是依赖性“不满足”的一个原因。这种“不满足”是名字不同带来的,其实较新版本的库是存在的。下面的命令就是查找本机同名库的位置。

[plain] view plain copy
  1. $: 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获取权限的地方。

[plain] view plain copy
  1. $: sudo ln -s /usr/lib/i386-linux-gnu/libjpeg.so.8 /usr/lib/i386-linux-gnu/libjpeg.so.62  
通过这三步,就可以解决第一个库的问题了。



第二个库的解决方法也是一样的。下面是代码。

[plain] view plain copy
  1. $: sudo ln -s /usr/lib/i386-linux-gnu/libtiff.so.4 /usr/lib/i386-linux-gnu/libtiff.so.3  

把依赖性问题解决完以后,iNodeClient就可以使用了。 微笑

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值