libcurl3 和 libcurl4 有什么区别

libcurl3 和 libcurl4 有什么区别

我正在设置 Ubuntu 14.04 开发环境并安装 libcurl,但注意到我的 aptitude 缓存中有两个不同的版本。这两个版本之间的主要区别是什么?人们推荐哪个版本用于 Django 项目?

我假设 libcurl4 较新,也可能更好,但我担心它可能会破坏与其他产品的兼容性,与蛇油证书出现异常,或者在将来给我带来麻烦。

使用 libcurl4 时我应该注意哪些大问题?谢谢。

答案1

如果仔细观察,您会发现,实际上只有-dbg-dev-doc软件包在其软件包名称中包含版本 4,而附带实际编译的 libcurl 库的软件包仍为版本 3。

有关 Debian 的讨论,请参阅以下链接:https://lists.debian.org/debian-release/2007/04/msg00257.html

如果我理解正确的话,API 发生了变化,但 ABI 没有变化,因此二进制包保留在版本 3,而开发文件需要版本升级。

这也意味着,例如,尽管包名称中的版本不同,但libcurl4-openssl-dev是 的对应开发包libcurl3。您可以看到,如果您查看libcurl3-dev(这是一个虚拟包,指向libcurl4-openssl-dev

No current or candidate version found for libcurl3-dev
Package: libcurl3-dev
State: not a real package
Provided by: libcurl4-openssl-dev (7.47.0-1ubuntu2), 
    libcurl4-openssl-dev (7.47.0-1ubuntu2.2)

上面的代码片段是在 Ubuntu 16.04 上截取的,但在 14.04 上可能看起来类似。

答案2

您可以通过以下方式自行阅读相关软件包的更新日志:

for i in $(dpkg -l libcurl\* | grep libcurl  | awk '{print $2}'); do
  apt-get changelog $i >$i.changelog
done

然后读取*.changelog文件。

相关内容