首页 > 解决方案 > 链接时ssl版本冲突

问题描述

我有一个需要 boost 和 mysqlconnector 的二进制文件,所以在链接时。

但是 boost 依赖于libssl.so.1.0.1,而 mysqlconnector 依赖于libssl.so.1.1

链接时,我收到以下警告。

/usr/bin/ld: warning: libssl.so.1.1, needed by //usr/lib/x86_64-linux-gnu/libmysqlcppconn.so.7, may conflict with libssl.so.1.0.0

我想告诉 mysqlconnector 链接到 libssl.so.1.1,同时提升链接到 libssl.so.1.0.1。

有什么办法吗?

标签: linuxsslshared-librariesversionld

解决方案


我想告诉 mysqlconnector 链接到 libssl.so.1.1,同时提升链接到 libssl.so.1.0.1。

有什么办法吗?

已经发生了(这是链接器警告您的内容)。

最终结果是一个程序可能看起来可以工作,或者可能会崩溃。如果它今天似乎可以工作,明天它可能会开始崩溃,因为对系统的看似无关的更改。换句话说,这条路会导致精神错乱。

您应该做的是获得一致的构建环境。也就是说,决定您将使用哪个libssl.so.1.1或哪个libssl.so.1.0.1,然后构建或以其他方式获取libmysqlconnector.solibbost.so哪个使用相同版本的libssl.


推荐阅读