web-dev-qa-db-ja.com

libcurl3とlibcurl4の違いは何ですか

Ubuntu 14.04開発環境をセットアップしてlibcurlをインストールしましたが、aptitudeキャッシュに2つの異なるバージョンがあることに気付きました。バージョン間の主な違いは何ですか?また、Djangoプロジェクトに推奨されるものはどれですか?

私はlibcurl4がより新しく、おそらくもっと良いと仮定していますが、他の製品との互換性を壊し、ヘビ油証明書で奇妙な行動を起こし、将来頭痛の種になるかもしれないと心配しています。

Libcurl4で注意すべき大きな落とし穴はありますか?ありがとう。

11
macguru2000

よく見ると、実際には-dbg-dev、および-docパッケージのみがパッケージ名にバージョン4を含んでいますが、実際のコンパイル済みlibcurlライブラリを出荷するパッケージはまだバージョン3です。

これに関するDebianの議論については、このリンクを参照してください: https://lists.debian.org/debian-release/2007/04/msg00257.html

正しく理解すれば、APIに変更があり、ABIには変更がなかったため、バイナリパッケージはバージョン3のままでしたが、開発ファイルにはバージョンバンプが必要でした。

また、たとえば、パッケージ名のバージョンが異なっていても、libcurl4-openssl-devlibcurl3に対応する開発パッケージであることを意味します。 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でおそらく同様に表示されます。

8
lanoxx

関連パッケージの変更ログを自分で読むことができます:

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

次に、*.changelogファイルを読み取ります。

4
waltinator