Linux Mint 11 x64에서 32 비트 이진 호환성을 활성화하는 방법


8

최근에 x64 Linux Mint 11, 기본적으로 Ubuntu Natty를 설치했습니다. 설치 후 내 우분투 시스템에서 실행되는 32 비트 응용 프로그램이 Mint 11 시스템에 의해 거부되는 것을 알았습니다. 'file'유틸리티를 사용하여 바이너리를 확인하면 32 비트 엘프로 올바르게 식별되지만 응용 프로그램을 호출 할 수 없습니다.

나는 bash와 os.system에서 파이썬을 시도했지만 아무 소용이 없으므로 32 비트 바이너리 호환성 모드와 관련이 있어야하지만 그 하위 시스템에 대한 지식과 그것을 활성화하는 방법이 의심됩니다. 제한적입니다, 누구든지 도와 줄 수 있습니까?

감사


묻기 위해 +1 thx. 나는 단지 natty에서 Mint로 바꿨다!
— Alain Pannetier

답변:


5

ia32-libs를 설치하고 응용 프로그램 파일이 실행 가능한 것으로 표시되어 있는지 확인하십시오. :)

늦은 편집 :

lib는 ia32-libs 대신 ia32-libs-multiarch라고 할 수 있습니다.
apt-get install ia32-libs-multiarch


훌륭합니다. 고마워요!. 왜 그것이 왜 효과가 있었는지는 조금 확실하지 않습니까? 전에 libs가 누락되었지만 ldd는 최소한 필요한 공유 객체 파일을 나열했을 것입니다. ia32-lib를 설치하기 전에 ldd는 바이너리가 동적으로 링크 된 실행 파일이 아니라고 말합니다. ia32-libs가 32 비트 앱을 실행하는 데 사용하는 다른 비밀 소스가 있습니까?
— Gearoid Murphy

나는 정직하지는 않지만 그것이 나를 위해 일한 것입니다! :) (ps 원한다면 답변을 표시하십시오!). :)
— Ruairi Fullam

흥미롭게도 ia32-libs를 제거하고 실행 파일이 여전히 작동했습니다 (정적으로 링크되어 있음). 'lsmod'의 출력을 자세히 조사한 후 "binfmt_misc"라는 모듈이 있음을 알 수 있습니다. Windows의 32 비트 또는 COFF exe와 같은 대체 이진 형식을 지원하기위한 기본 요구 사항입니다.
— Gearoid Murphy

2

MINT에 대해서는 아무것도 모르지만 데비안에 대한 경험이 있습니다. 32 비트 바이너리를 실행하려면 거의 모든 경우에 64 비트 환경에서 32 비트 바이너리를 지원하는 라이브러리가 필요합니다. 시험

apt-get install ia32-libs

당신의 시스템에 apt-get이 있다면 ...

ldd를 사용하여 필요한 라이브러리를 확인할 수 있습니다 .

lofi:~# ldd /bin/ping
linux-vdso.so.1 =>  (0x00007ffff7dff000)
libc.so.6 => /lib/libc.so.6 (0x00007fd872ed1000)
/lib64/ld-linux-x86-64.so.2 (0x00007fd87323c000)

누락 된 라이브러리가 있으면 ldd가 알려줍니다.


ia32-libs를 설치하기 전에 32 비트 바이너리에서 ldd를 사용할 때 바이너리가 동적으로 연결된 실행 파일이 아니라는 오류를 반환했습니다. 다른 실행 파일 형식을 처리하기 위해 빌드 된 커널 모듈이 있으며 이는 32 비트 이진 호환성을 활성화하기 위해 구성해야하는 것입니다.
— 기어 로이드 머피
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.