关于找不到libcrypto.so.7、libssl.so.7问题的解决方法
2009-02-17 10:34
387 查看
刚使用Linux不久,使用F9系统在安装程序时出现问题:
错误 rpm_check_debug 和 depsolve:
perl(GBF::Make) is needed by anjuta-2.25.901-2.fc11.i386
libcrypto.so.7 is needed by libflashsupport-000-0.5.svn20070904.i386
libssl.so.7 is needed by libflashsupport-000-0.5.svn20070904.i386
请报告这个错误给 Bugzilla
网上搜索后看到有人说是
Because there may be dependencies on specific library SONAME versions,
such as libcrypto.so.6 and not libcrypto.so.7
首先尝试一下清除缓存、升级系统
#yum -y update
有文件未能完全下载 重试了几次
不过结束后还是提示同样的问题
使用rpm -q openssl检查发现存在openssl-0.9.8g-fc9.i686
试图删除它,发现受依赖的文件太多,于是作罢。
检查发现usr/lib/libssl.so.0.9.8g libcrypto.so.1
使用rpm -ql openssl检查发现/lib/libssl.so.7和/lib/libcrypto.so.7
也就是文件都存在,只是版本错误。
这时候觉得问题原因:应该是安装openssl版本错误,应该安装.i386而不是.i686
在网上有人分析
Kevin Kofler:
The postuninstall scriptlet from the old package is run during upgrades.
(It's run AFTER the postinstall scriptlet of the new one. RPM installs the
new package, then removes the old one. Of course only the files which are
not in the new package are removed. But the postun scriptlet is run.)
Tomas Mraz:
That could make sense. In case the old package uninstalled is the 0.9.8g
version it will probably cause the %postun ldconfig to remove the
symlink. I've added a triggerpostun scriptlet to reinstate the symlinks
if they are missing to openssl-0.9.8j-5.fc11.旧包的版本是0.9.8g,它可能引起了%postun ldconfig to
remove thesymlink.
实在无奈 考虑卸载重装openssl
卸载步骤:
1.1 停止服务sshd
1.2 卸载Openssh
#rpm -e openssh-* --nodeps(*代表版本)
#rpm -e openssh-server-* --nodeps
#rpm -e openssh-clients-* --nodeps
#rpm -e openssh-askpass-*
1.3 卸载Openssl
#rpm -e openssl-devel-*
#rpm -e openssl-*
之后发现大部分应用程序不能用了
重新安装
#rpm -ivh openssl-0.9.8j-7.fc11.i386.rpm
#rpm -ivh openssl-devel-0.9.8j-7.fc11.i386.rpm
发现其中的文件为libcrypto.so.8,不符合。
于是改为安装openssl-0.9.8g-9.12.fc9.i386、openssh-5.1p1-3.fc9.i386
之前的应用程序能用了。不过
#yum update 还是出现问题
于是继续网络搜索
发现 原因居然是 libflashsupport、anjuta与文件系统冲突
删除后一切ok。
总结:看来还有很多东西要学习呀,这么简单的问题这么久才搞定。
错误 rpm_check_debug 和 depsolve:
perl(GBF::Make) is needed by anjuta-2.25.901-2.fc11.i386
libcrypto.so.7 is needed by libflashsupport-000-0.5.svn20070904.i386
libssl.so.7 is needed by libflashsupport-000-0.5.svn20070904.i386
请报告这个错误给 Bugzilla
网上搜索后看到有人说是
Because there may be dependencies on specific library SONAME versions,
such as libcrypto.so.6 and not libcrypto.so.7
首先尝试一下清除缓存、升级系统
#yum -y update
有文件未能完全下载 重试了几次
不过结束后还是提示同样的问题
使用rpm -q openssl检查发现存在openssl-0.9.8g-fc9.i686
试图删除它,发现受依赖的文件太多,于是作罢。
检查发现usr/lib/libssl.so.0.9.8g libcrypto.so.1
使用rpm -ql openssl检查发现/lib/libssl.so.7和/lib/libcrypto.so.7
也就是文件都存在,只是版本错误。
这时候觉得问题原因:应该是安装openssl版本错误,应该安装.i386而不是.i686
在网上有人分析
Kevin Kofler:
The postuninstall scriptlet from the old package is run during upgrades.
(It's run AFTER the postinstall scriptlet of the new one. RPM installs the
new package, then removes the old one. Of course only the files which are
not in the new package are removed. But the postun scriptlet is run.)
Tomas Mraz:
That could make sense. In case the old package uninstalled is the 0.9.8g
version it will probably cause the %postun ldconfig to remove the
symlink. I've added a triggerpostun scriptlet to reinstate the symlinks
if they are missing to openssl-0.9.8j-5.fc11.旧包的版本是0.9.8g,它可能引起了%postun ldconfig to
remove thesymlink.
实在无奈 考虑卸载重装openssl
卸载步骤:
1.1 停止服务sshd
1.2 卸载Openssh
#rpm -e openssh-* --nodeps(*代表版本)
#rpm -e openssh-server-* --nodeps
#rpm -e openssh-clients-* --nodeps
#rpm -e openssh-askpass-*
1.3 卸载Openssl
#rpm -e openssl-devel-*
#rpm -e openssl-*
之后发现大部分应用程序不能用了
重新安装
#rpm -ivh openssl-0.9.8j-7.fc11.i386.rpm
#rpm -ivh openssl-devel-0.9.8j-7.fc11.i386.rpm
发现其中的文件为libcrypto.so.8,不符合。
于是改为安装openssl-0.9.8g-9.12.fc9.i386、openssh-5.1p1-3.fc9.i386
之前的应用程序能用了。不过
#yum update 还是出现问题
于是继续网络搜索
发现 原因居然是 libflashsupport、anjuta与文件系统冲突
删除后一切ok。
总结:看来还有很多东西要学习呀,这么简单的问题这么久才搞定。
相关文章推荐
- 关于MOSS创建SSP时出现找不到 Windows NT 用戶或組 "'域\administrator"问题的解决方法
- 关于eclipse+struts action找不到问题解决方法 There is no Action mapped for namespace
- 关于二级域名Cookie的问题及解决方法
- flex关于跨域访问会引起安全沙箱问题,下面是在网上找到的解决安全沙箱问题的方法
- 关于TM4C123LaunchPad锁死问题的解决方法
- 升级Cocoapods引起的Mantle库找不到的问题及解决方法
- 关于Autowiring Class Issue (argument type mismatch)的问题的解决方法
- 关于Meteor的microscope教程中《用户系统》遇到问题解决方法
- 关于C#连接FTP时路径问题的解决方法
- 关于流和缓冲区的理解以及一般标准输入问题的解决方法小结.
- 关于ISA2004内网卡网线拔插造成ISA代理失效问题的一种解决方法(下列错误而失败:0x80072
- 关于CSS中内层使用float导致外层的背景无法显示的问题的解决方法
- 关于iOS 11下app图标变空白问题的解决方法
- 数据存储中找不到关于指定平台的信息的解决方法
- Ubuntu系统下运行Eclipse出现找不到jre的问题的解决方法
- android配置第三方jar包过程中关于找不到类 java.lang.noclassdeffounderror的问题解决办法
- 关于C#中”扩展方法必须在非泛型静态类中定义“问题的解决
- 关于android:onClick 去找不到方法的问题
- 关于"错误: 找不到 'Msgbus.api.MsgBusAPI.java' 的类文件。"错误解决方法
- WIN10环境下安装ubuntu关于GPT+legacy+无法启动ubuntu+无法启动WIN10的问题解决方法