В чем разница между libcurl3 и libcurl4

11

Я настраивал среду разработки Ubuntu 14.04 и пошел устанавливать libcurl, но заметил, что в моем кэше aptitude есть две разные версии. Каковы основные различия между версиями и которые люди рекомендуют для проектов Django?

Я предполагаю, что libcurl4 новее и, возможно, лучше, но я боюсь, что это может нарушить совместимость с другими продуктами, вести себя странно с сертификатами змеиного масла или вызвать у меня головную боль в будущем.

Есть ли какие-то большие ошибки, о которых мне следует знать в libcurl4? Благодарю.

macguru2000
источник

Ответы:

9

Если вы посмотрите внимательно, то увидите, что на самом деле только пакеты -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.

lanoxx
источник
4

Вы можете прочитать список изменений связанных пакетов самостоятельно:

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

Затем прочитайте *.changelogфайлы.

waltinator
источник