编译时出现warning
/usr/bin/ld: warning: libssl.so.10, needed by /opt/cmms/3thrdparty/libcurl/lib//libcurl.so, may conflict with libssl.so.1.0.0
/usr/bin/ld: warning: libcrypto.so.10, needed by /opt/cmms/3thrdparty/libcurl/lib//libcurl.so, may conflict with libcrypto.so.1.0.0
[root@localhost haikang_linux_centos_7.6]# locate libcrypto
/opt/cmms/3thrdparty/haikang/lib/libcrypto.so
/opt/cmms/3thrdparty/haikang/lib/libcrypto.so.1.0.0
/usr/lib64/.libcrypto.so.1.0.2k.hmac
/usr/lib64/.libcrypto.so.10.hmac
/usr/lib64/libcrypto.so.1.0.2k
/usr/lib64/libcrypto.so.10
服务器安装了1.1.1版本的OpenSSL
已有的编译环境依赖的版本是1.0.0,版本太低
解决方案
拷贝编译环境中的/usr/lib64/libcrypto.so.1.0.2k libssl.so.1.0.2k到程序路径,然后修改名称即可
libssl.so.1.0.2k修改为libssl.so
libcrypto.so.1.0.2k修改为libcrypto.so.
原理是在编译程序的时候,添加Wl,rpath=./优先在当前程序目录加载动态库