編集された出力:
# apt-get install librados2:amd64 librados2:i386
The following packages have unmet dependencies:
librados2:amd64 : Conflicts: librados2 but 0.80.7-2+deb8u1 is to be installed
librados2 : Conflicts: librados2:amd64 but 0.80.7-2+deb8u1 is to be installed
E: Unable to correct problems, you have held broken packages.
# apt-cache show librados2:amd64=0.80.7-2+deb8u1 librados2:i386=0.80.7-2+deb8u1
Package: librados2
Version: 0.80.7-2+deb8u1
Architecture: amd64
Replaces: libcrush, libcrush1, librados, librados1
Depends: libboost-system1.55.0, libboost-thread1.55.0, libc6 (>= 2.14), libgcc1 (>= 1:4.1.1), libnspr4 (>= 2:4.9-2~) | libnspr4-0d (>= 1.8.0.10), libnss3 (>= 2:3.13.4-2~) | libnss3-1d (>= 3.12.0~1.9b1), libstdc++6 (>= 4.9), libuuid1 (>= 2.16)
Pre-Depends: multiarch-support
Conflicts: libcrush, libcrush1, librados, librados1
Tag: role::shared-lib
Section: libs
Package: librados2
Version: 0.80.7-2+deb8u1
Architecture: i386
Replaces: libcrush, libcrush1, librados, librados1
Depends: libboost-system1.55.0, libboost-thread1.55.0, libc6 (>= 2.9), libgcc1 (>= 1:4.1.1), libnspr4 (>= 2:4.9-2~) | libnspr4-0d (>= 1.8.0.10), libnss3 (>= 2:3.13.4-2~) | libnss3-1d (>= 3.12.0~1.9b1), libstdc++6 (>= 4.9), libuuid1 (>= 2.16)
Pre-Depends: multiarch-support
Conflicts: libcrush, libcrush1, librados, librados1
Tag: role::shared-lib
Section: libs
なぜConflicts:
?表示された競合リストにこのライブラリは表示されませんapt-cache info
(libradosがあります)。1、天秤座ではない2)...
とlibrados2:i386
で何が止まりますか?/usr/lib/i386-linux-gnu/librados.so.2.0.0
librados2:amd64
/usr/lib/x86_64-linux-gnu/librados.so.2.0.0
ベストアンサー1
Multi-Arch: same
同じパッケージは、制御情報で宣言されている場合にのみ、複数の異なるアーキテクチャに対して一緒にインストールできます。 (このための前提条件は、関連パッケージのファイルが問題になるような方法で重複しないようにすることです。)このパッケージではこれが行われていないため、複数のアーキテクチャに共同インストールすることはできません。あなたが見ているのは、宣言されていない複数のConflicts
アーキテクチャで同じ名前のパッケージのパッケージングシステムによって内部的に生成されたものですMulti-Arch: same
。
この問題が解決された後でもすべてが正常に機能するためには、共同インストールするパッケージのすべての依存関係が独自に共同インストール可能である必要があるか、他の種類のラベル(Multi-Arch: foreign
またはMulti-Arch: allowed
、場合によっては)、これにより、アーキテクチャ間の依存関係を満たすために使用できます。
一つある公開エラーこのパッケージは、複数のアーキテクチャをサポートするために必要です。
Pre-Depends: multiarch-support
コントロールフィールドについて疑問に思うかもしれません。これは、共有ライブラリをアーキテクチャ依存パスに移動するタスクの一部であり、これはライブラリパッケージを作成するための前提条件ですが、タスクの一部にすぎませんMulti-Arch: same
。