我有一个旧的服务器应用程序,它需要libssl.so.0.9.6和libcryp.so.0.9.6。
我的问题是,目前我的系统上有libssl.so.1.0.0a和libcryp.so.1.0.0a。我尝试了与新库的符号链接,它让我在启动服务器应用程序时克服了错误,但是,一旦应用程序接收到新的连接,它就会立即崩溃。然而,它并没有给出任何错误的原因。我还尝试从一个旧的RPM中提取这些库,并将它们放置在linux服务器上的正确位置,我也会遇到同样的问题。
我已经禁用了SELinux和禁用了iptable。我正确地转发了端口,但是这个问题一直持续存在。在另一台linux服务器上,我正在运行一个带有openssl版本所需的旧版本的CentOS,并且运行时没有问题。
我想我已经把它缩小到openssl版本的问题上了。有没有人知道为什么会发生这种情况,或者openssl是否向后兼容这样一个旧版本。
发布于 2011-08-23 05:35:14
不,libssl版本是严格指定的;版本之间的ABI兼容性没有多少保证(因此子名如此具体)。
您应该能够同时安装两个版本(我已经在我的Debian工作站上同时安装了libssl0.9.8和libssl1.0.0 ),如果您做得正确,它应该可以工作。我不知道您是否正确地完成了该操作,但我首先删除不可靠的符号链接并恢复您所做的其他操作,然后在二进制文件上运行ldd以确定它需要什么,解压缩/安装它所需的库,然后从那里开始。
发布于 2012-01-06 14:20:37
https://serverfault.com/questions/303991
复制相似问题