我正在设置 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
文件。