여러 x86 및 x86_64 버전의 라이브러리를 나란히 설치할 수 없는 이유는 무엇입니까?

여러 x86 및 x86_64 버전의 라이브러리를 나란히 설치할 수 없는 이유는 무엇입니까?

편집된 출력:

# 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.0librados2: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작업의 일부일 뿐입니다.

관련 정보