64 비트 컴퓨터에서 32 비트 바이너리를 컴파일하는 데 문제가 있음


13

ac 프로그램을 64 비트 대신 32 비트 바이너리로 컴파일하려고합니다. 나는 단지 추가로 시작하고 -m32약간의 오류가 발생했습니다. 약간의 인터넷 검색으로 ia32-libs를 설치하라는 메모가 나왔습니다. 실행 apt-get install ia32-libs하면 이미 설치되어 최신 버전이라는 알림이 표시됩니다.

실패 할 때까지 다음을 포함하여 각각의 라이브러리 체인이 있습니다.

/usr/include/features.h:323:26: fatal error: bits/predefs.h: No such file or directory

다른 32 비트 버전을 포함하는 것으로 보입니다. /usr/include/c++/4.6/x86_64-linux-gnu/32/bits/ ...

내가 무엇을 놓치고 있습니까?

답변:


40

Lekensteyn의 답변은 기존의 많은 패키지 (64 비트 oneiric)와 충돌했습니다.

대신 libc6-dev-i386패키지 를 가져 오는이 작업을 수행했습니다 .

apt-get install gcc-multilib

7

ia32-libs단지가 들어 일부 호환성 라이브러리는 멀티 아치에 아직 마이그레이션되지 않았습니다. 32 비트 라이브러리를 컴파일하려면 C 용 32 비트 라이브러리 및 개발 파일을 설치해야합니다.

sudo apt-get install libc6-dev:i386

참조 : 11.10에서 multiarch 기능은 힘의 죽음을 의미 하는가 - 아키텍처 설치 수를?


설치 libc6-dev:i386는 전체 gnu 컴파일러 제품군을 제거해야한다고 주장했지만 (심장 마비가 생겼습니다) sudo apt-get install build-essential모든 것을 사용한 후에 는 완벽하게 작동했습니다.
Matt

나에게도 nvidia-current를 제거했지만 문제없이 다시 설치되었습니다.
Jeff

1
alberge가 제공하는 옵션은 32 비트 라이브러리 설치를 위해 다른 많은 것들을 제거하지 않는다는 점에서 더 좋습니다.
Fabio Zadrozny
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.