dpkgは、最新バージョンの依存関係を含むパッケージをインストールしません。

dpkgは、最新バージョンの依存関係を含むパッケージをインストールしません。

これは言わないから誰か私に説明してもらえますか?

$ dpkg -i freeling-3.1-quantal-x86_64.deb
Selecting previously unselected package freeling.
(Reading database ... 283003 files and directories currently installed.)
Preparing to unpack freeling-3.1-quantal-x86_64.deb ...
Unpacking freeling (3.1) ...
dpkg: dependency problems prevent configuration of freeling:
 freeling depends on libboost-program-options1.49.0 (>= 1.49); however:
  Package libboost-program-options1.49.0 is not installed.
 freeling depends on libboost-regex1.49.0 (>= 1.49); however:
  Package libboost-regex1.49.0 is not installed.
 freeling depends on libboost-system1.49.0 (>= 1.49); however:
  Package libboost-system1.49.0 is not installed.
 freeling depends on libicu48 (>= 4.8.1); however:
  Package libicu48:amd64 is not installed.

しかし、liboost 1.54があります! (すべてのパッケージ)

$ apt-cache policy libboost-program-options1.54.0
libboost-program-options1.54.0:
  Installed: 1.54.0-5
  Candidate: 1.54.0-5

$ apt-cache policy libboost-program-options-dev
libboost-program-options-dev:
  Installed: 1.54.0.1
  Candidate: 1.54.0.1

すべての依存関係についても同様です。このパッケージが破損していますか?それとも設定に問題があることを発見しましたか?私が理解している制限では、

(>= 1.49)

1.49以上であることを意味しますか?

ベストアンサー1

というパッケージが必要ですlibboost-program-options1.49.0。 1.49以降のすべてのバージョンが可能ですが、パッケージ名でなければなりません。libboost-program-options1.54.0パッケージ名が異なります。

ABIは互換性がないため、パッケージ名が異なるため、1.49.0用にコンパイルされた実行可能ファイルは1.54.0では使用できず、その逆も同様です。パッケージ名が異なるため、両方のバージョンを同時にインストールできるため、1.49.0用にコンパイルされたプログラムと1.54.0用にコンパイルされたプログラムを同じシステムで使用できます。

パッケージ名は…-quantal-…Ubuntu 10.10 Quantal用のパッケージであることを示します。最新のUbuntuバージョン(saucyやtrustyなど)では、ソースパッケージを入手して再コンパイルするか、使用しているUbuntuのバージョンに合ったバイナリを見つける必要があります。あるいは、Raringで利用可能な古い1.49.0ライブラリを入手することもできます(以前のUbuntuバージョンは次の場所に保存されています)。oldversion.ubuntu.com)が、これは依存関係の地獄に陥る可能性があるため、Freelingを再コンパイルすることをお勧めします。

おすすめ記事