Libcurl 有多个版本吗?

Libcurl 有多个版本吗?

Ubuntu 中可以安装多个版本的 libcurl 吗?

例如,假设我安装了版本 1.0,然后下载并安装了版本 1.1。有什么办法可以保留版本 1,并让多个应用程序使用版本 1?

答案1

这取决于上游的工作方式、您如何安装新版本以及您尝试用它做什么,但看看 libcurl 如何安装某些文件,基本答案是否定的。

答案2

如果 ABI 变化足够大,则可能会有多个版本。即,如果 so 版本足够高。

一个很好的例子是 libjpeg8 与 libjpeg62

libjpeg8 实际上是由 libjpeg-turbo8 提供的。

dpkg --listfiles libjpeg-turbo8 | grep so
/usr/lib/x86_64-linux-gnu/libjpeg.so.8.0.2
/usr/lib/x86_64-linux-gnu/libjpeg.so.8

libjpeg62 由 libjpeg62 提供

dpkg --listfiles libjpeg62 | grep so
/usr/lib/x86_64-linux-gnu/libjpeg.so.62.0.0
/usr/lib/x86_64-linux-gnu/libjpeg.so.62

这不是最好的例子,因为这是我当时唯一能想到的例子。由于 8 使用了涡轮增压,所以现在试着忽略这一点。

无论如何,62 与 8 不兼容,因此名称有所不同。

因此可能会有不同的版本,但通常只有在发生重大 ABI 变化时才需要。

在您的示例中,1.1 与 1 的差异并不大,而且很可能是二进制兼容的。不过,这有一个固定的规则,也许其他人可以添加更多细节来更好地理解它。

相关内容