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.