Quelle est la différence entre libcurl3 et libcurl4

11

Je mettais en place un environnement de développement Ubuntu 14.04 et suis allé installer libcurl mais j'ai remarqué qu'il y a deux versions différentes dans mes caches d'aptitude. Quelles sont les principales différences entre les versions et lesquelles recommandent les gens pour les projets Django?

Je suppose que libcurl4 est plus récent et peut-être meilleur, mais je crains qu'il puisse briser la compatibilité avec d'autres produits, agir bizarrement avec les certificats d'huile de serpent ou me causer des maux de tête à l'avenir.

Y a-t-il de gros problèmes que je devrais connaître avec libcurl4? Merci.

macguru2000
la source

Réponses:

9

Si vous regardez attentivement , vous verrez, qu'en réalité seuls les -dbg, -devet les -docpaquets contiennent une version 4 dans leur nom de paquet, alors que les paquets qui expédient la bibliothèque libcurl réelle compilé sont toujours à la version 3.

Pour une discussion sur Debian à ce sujet, consultez ce lien: https://lists.debian.org/debian-release/2007/04/msg00257.html

Si je comprends bien, il y a eu un changement dans l'API mais pas dans l'ABI, donc les packages binaires ont été laissés à la version 3, tandis que les fichiers de développement avaient besoin d'un bump de version.

Cela signifie également que, par exemple, libcurl4-openssl-devest le package de développement correspondant pour libcurl3malgré la version différente dans le nom du package. Vous pouvez voir que si vous jetez un œil à libcurl3-dev(qui est un package virtuel et pointe vers 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)

L'extrait ci-dessus a été pris sur Ubuntu 16.04 mais cela se ressemblera probablement le 14.04.

lanoxx
la source
4

Vous pouvez lire vous-même le changelog des packages associés via:

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

Lisez ensuite les *.changelogfichiers.

waltinator
la source