저는 Debian 7.9(wheezy) x64를 사용하고 있으며 build-essential:i386
.
성공적으로 추가 i386
, dpkg --architecture
업데이트 aptitude
및 설치 했습니다 java-jdk-1.6:i386
.
그런데, build-essential
내가 무엇을 시도하든 종속성 오류가 체계적으로 생성됩니다.
apt-get install build-essential:i386
Depend : dpkg-dev:i386 (>= 1.13.5)
E: Unable to correct problems, you have held broken packages...
누구든지 아이디어가 있다면... 감사합니다.
또한 나는데비안 메일링 리스트 - 답장: cross-build-essential
amd64에 i386 빌드 필수를 설치한다고 가정해 보겠습니다. gcc/g++:amd64를 gcc/g++:i386으로 대체하여 build-essential:i386을 설치할 수 있습니다. 이것이 i386용 크로스 컴파일에 필요한 모든 것을 제공하지 않습니까?
이 경우에는 그렇습니다. AMD64 또는 Intel 64 CPU에서 x86 코드를 실행할 수 있기 때문입니다. 패키지 자체를 함께 설치할 수 없으므로 gcc-4.7:amd64 등을 gcc-4.7:i386 등으로 교체합니다.
이거 진짜야?
답변1
문제는 amd64 시스템에서는 실제로 build-essential:i386이 필요하지 않다는 것입니다. 컴파일하려는 항목에 따라 libpam-dev:i386 또는 기타 32비트-dev 라이브러리가 필요할 수 있지만 64를 사용해야 합니다. 비트 도구는 32비트 코드도 생성할 수 있습니다. 이론적으로 더 빠르게 실행되어야 하고 더 많은 메모리에 액세스할 수 있기 때문입니다.
답변2
build-essential:i386
네, 동시에 보유하고 설치할 수 없다는 것은 사실입니다 . 이를 위해서는 다음의 영향을 받지 않는 build-essential:amd64
일부 실행 파일(예: )의 두 인스턴스가 필요합니다.gcc
다중 아키텍처 사양:
해결되지 않은 문제
실행 파일용 공동 설치 패키지
실행 파일을 함께 설치하면 수정 없이 여러 아키텍처의 시스템에서 단일 디스크 이미지를 재사용할 수 있습니다. 이는 실행 파일에 대한 아키텍처 인증 경로를 사용하여 여러 아키텍처에서 달성할 수 있지만 PATH 처리를 위해서는 추가 메커니즘(예: 커널 지원 또는 부팅 시 심볼릭 링크)이 필요합니다.