Jaka jest różnica między libcurl3 a libcurl4

11

Tworzyłem środowisko programistyczne Ubuntu 14.04 i poszedłem zainstalować libcurl, ale zauważyłem, że w mojej pamięci podręcznej aptitude są dwie różne wersje. Jakie są główne różnice między wersjami i które ludzie polecają do projektów Django?

Zakładam, że libcurl4 jest nowszy i być może lepszy, ale martwię się, że może on złamać kompatybilność z innymi produktami, działać dziwnie z certyfikatami olejków węża lub powodować bóle głowy w przyszłości.

Czy są jakieś duże problemy, o których powinienem wiedzieć w libcurl4? Dzięki.

macguru2000
źródło

Odpowiedzi:

9

Jeśli przyjrzeć się bliżej widać, że faktycznie tylko -dbg, -deva -docpakiety zawierają w wersji 4 w ich nazwy pakietu, natomiast pakiety statek rzeczywistą skompilowaną bibliotekę libcurl są nadal w wersji 3.

Dyskusję na ten temat w Debianie można znaleźć pod tym linkiem: https://lists.debian.org/debian-release/2007/04/msg00257.html

Jeśli dobrze to rozumiem, nastąpiła zmiana w interfejsie API, ale nie w ABI, więc pakiety binarne pozostały w wersji 3, podczas gdy pliki programistyczne wymagały aktualizacji wersji.

Oznacza to również, że na przykład libcurl4-openssl-devjest odpowiednim pakietem programistycznym libcurl3pomimo innej wersji w nazwie pakietu. Możesz to zobaczyć, jeśli spojrzysz na libcurl3-dev(który jest pakietem wirtualnym i wskazuje na 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)

Powyższy fragment został pobrany na Ubuntu 16.04, ale prawdopodobnie będzie wyglądał podobnie 14.04.

lanoxx
źródło
4

Możesz przeczytać dziennik zmian powiązanych pakietów samodzielnie:

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

Następnie przeczytaj *.changelogpliki.

waltinator
źródło