求助:已经安装了共享库,还是提示“Unable to load library”

cangtian001 2012-09-10 03:30:03
我下载的国外的一个开源软件(64bit),软件运行的时候提示

Unable to load library icui18n "Cannot load library icui18n: (libicui18n.so.42: cannot open shared object file: No such file or directory)"

于是,运行
[ly@ly-PC ASPtemp]$ whereis libicui18n.so.42
libicui18n.so: /usr/lib64/libicui18n.so.46

就是说我有比所需版本更新的库,但是软件需要的是旧版本的,于是--nodeps卸载libicui18n.so.46,安装libicui18n.so.42,但是运行的时候还是出现相同问题。
我的系统是 Fedora16(64bit),请问这是为什么呀,如何管理新旧版本的共享库呀,我是新手,谢谢大家了!
...全文
3237 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
歪嘴鱼 2012-09-11
  • 打赏
  • 举报
回复
ldd /usr/lib/libicui18n.so.42 查一下,也可能是进一步的依赖关系没解决,报错只到这里
cangtian001 2012-09-11
  • 打赏
  • 举报
回复
非常感谢zhblue,问题已经解决了。
原因是这样的:
我的系统和软件都是64bit的,软件只搜索/lib64、/usr/lib64,而libicui18n.so.42安装在/lib下,因此即使装上了也还是找不到。

解决方法是这样的:
1、将rpm文件提取出来,不安装
rpm2cpio xxx.rpm | cpio -vi
2、将需要的libicui18n.so和libicui18n.so.42复制到软件自己的lib文件夹
3、搞定收工!
注意:过程中我下载的libicui18n.so.42是32位的,提示Wrong ELF CLASS : ELF CLASS 32,这个错误是因为下载的库是32位的。后来google后,找了很多rpm,最终找到了64位的,于是乎软件可以运行!
cangtian001 2012-09-10
  • 打赏
  • 举报
回复
现在是这样的,应该可以使用的,但是还是提示相同的错误
[ly@ly-PC ASPtemp]$ whereis libicui18n.so.42
libicui18n.so: /usr/lib/libicui18n.so.42
cangtian001 2012-09-10
  • 打赏
  • 举报
回复
运行过了,还是提示这个错误!
歪嘴鱼 2012-09-10
  • 打赏
  • 举报
回复
sudo ldconfig跑过么

4,438

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 内核源代码研究区
社区管理员
  • 内核源代码研究区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧