我在Fedora8上安装Chmsee
命令为:yum -y install chmsee
安装结束后,启动chmsee,结果系统就出现了一个错误:
/usr/libexec/chmsee/chmsee: error while loading shared libraries: libgtkembedmoz.so: cannot open shared object file: No such file or directory
从网上朋友的解决方案,大概有以下两种
可以参考http://www.linuxdiyf.com/bbs/thread-70016-1-1.html
第一种:
查阅资料发现这个 libgtkembedmoz.so 属于 Firefox ,出现这个原因是更新 Firefox ,我把 Firefox 还原,正常了。
第二种:
#
运行
chmsee
加载库文件失败
[marco.chan@fedora8 ~]# chmsee
/usr/libexec/chmsee/chmsee: error while loading shared libraries: libgtkembedmoz.so: cannot open shared object file: No such file or directory # 错误提示
# 如果少了某个库文件,我一般会尝试搜索电脑里是否已经有存在
(
个人习惯
)
[root@fedora8 share]# find / -name libgtkembedmoz.so
/usr/lib/firefox-2.0.0.10/libgtkembedmoz.so # 在
firefox
中找到这个库文件。
[root@fedora8 ~]# vi /etc/ld.so.conf # 编辑库文件配置文件,添加一行:
/usr/lib/firefox-2.0.0.10
[root@fedora8 ~]# /sbin/ldconfig # 使得对刚才的配置生效
[marco.chan@fedora8 ~]# chmsee # 运行正常
...
作者对此方法也作了以下解释
这样的修改方式有一个缺点:当 firefox-2.0.0.10 目录名称发生变化的时候 ( 比如升级、或者删除了 firefox) ,那么 ld.so.conf 配置文件中的“ /usr/lib/firefox- 2.0.0.10” 路径就失效了,也就意味着又无法找到 libgtkembedmoz.so 这个库了!所以我复制 libgtkembedmoz.so 到一个比较固定的 lib 库文件中,比如 qt 的 lib 库文件里 ( 因为 ld.so.conf 配置文件里有指明 qt 库文件位置 ) ,这样就比较稳妥了很多 ...
由第二种方案我想到了第三种方案
第三种:
# vi /etc/ld.so.conf.d/firefox.conf
内容为:
/usr/lib/firefox-2.0.0.10/
然后载入配置
# /sbin/ldconfig
# chmsee
Ok 了。
这种方法出现的问题和第二种的问题是一样的。
那么该如何解决上面的问题呢?
第四种方案:
# mkdir /opt/lib
# cp /usr/lib/firefox-2.0.0.10/ libgtkembedmoz.so /opt/lib
# vi /etc/ld.so.conf.d/firefox.conf
内容为:
/opt/lib
然后载入配置
# /sbin/ldconfig
就可以了。即使你的 firefox 以后升级,也没有问题了。
所以,以后如果遇到了找不到.so库的问题,都可以通过此种方法来解决,前提是,在你的机器上已经存在了这样的库,如果不存在的话,那么你就要先安装这样的库。如过还不行的话再做上面的配置。
|----------------------------------------------------------------------------------------|
版权声明 版权所有 @zhyiwww
引用请注明来源 http://www.blogjava.net/zhyiwww
|----------------------------------------------------------------------------------------|