在 SLES11SP3 上将 openssl 从 0.9.8j-0.50.1 升级到 1.0.2a

在 SLES11SP3 上将 openssl 从 0.9.8j-0.50.1 升级到 1.0.2a

我需要在运行 sles11 sp3 的服务器上将 OPENSSL 从 0.9.8j-0.50.1 -> 1.0.2a 升级,以便动态链接到我的程序。

升级我的构建环境(sles11sp3)的步骤如下:

1.从官网下载安装包https://www.openssl.org/source/并如下所示,

a)wgethttps://www.openssl.org/source/openssl-1.0.2a.tar.gz b)./config -fPIC共享 --prefix=/usr --openssldir=/etc/ssl c)make d)make install INSTALL_PREFIX=/home/Release/openssl/ e)cd /home/Release/openssl/ d) ls -l f)cp -rf */

2.现在如果执行openssl版本,则显示如下(预期),

   OpenSSL> version
   OpenSSL 1.0.2a 19 Mar 2015
   OpenSSL> 

3.之后,编译我的程序(有SNMP、CURL),我看到下面有两个编译警告,

/usr/lib64/gcc/x86_64-suse-linux/4.3/../../../../x86_64-suse-linux/bin/ld:警告:libcrypto.so.0.9.8,需要/ usr/lib64/libnetsnmpagent.so,可能与 libcrypto.so.1.0.0 冲突

  /usr/lib64/gcc/x86_64-suse-linux/4.3/../../../../x86_64-suse-linux/bin/ld: warning: libssl.so.0.9.8, needed by /usr/lib64/libcurl.so, may conflict with libssl.so.1.0.0

4.因此修复此警告,在 /usr/lib64 目录中创建以下符号链接,如下所示,

cd /usr/lib64 ln -sf libssl.so.1.0.0 libssl.so.0.9.8 ln -sf libcrypto.so.1.0.0 libcrypto.so.0.9.8

5.现在我没有看到任何编译警告,并且我的构建rpm也已生成(myprogram.rpm)。

6.在我的企业服务器(这里只需要运行我的程序)中遵循相同的步骤(除了3),该服务器在相同的sles11 sp3上运行。

rpm -ivh myprogram.rpm
   error:Failed dependencies:
   libcrypto.so.1.0.0()(64bit) is needed by myprogram
   libssl.so.1.0.0()(64bit) is needed by myprogram

请建议我哪里做错或遗漏了什么。

相关内容