64비트 시스템에서 32비트 빌드

64비트 시스템에서 32비트 빌드

x86_64 Ubuntu 11.04에서 i386(32비트)용 PHP Memcache 확장(v2.2.6)을 빌드하려고 합니다.

./configure기본적으로 config.guess가 사용되지만(내 시스템에 출력 x86_64-unknown-linux-gnu) 이를 재정의하고 싶습니다.

어떻게 진행하나요?

답변1

크로스 컴파일에는 두 가지가 필요합니다. 대상 아키텍처에 대한 코드를 생성할 수 있는 컴파일러와 *.a대상 아키텍처에 대한 정적 라이브러리( )입니다. 최소한 설치하세요libc6-dev-i386 libc6-dev-i386 설치패키지 및 기타 가능lib32.*-dev가방. 또한 libc6-dev-i386크로스 컴파일에 필요한 gcc 구성 요소도 소개합니다.gcc-multilib gcc-multilib 설치. 그런 다음 -m32변수를 통해 플래그를 전달하여 gcc에 i386용으로 컴파일하도록 지시합니다 CFLAGS.

sudo apt-get install libc6-dev-i386 lib32ncurses5-dev … # whatever 32-bit libraries you need
export CFLAGS='-m32'
./configure …

필요한 라이브러리를 모두 찾지 못한 경우 Linux에 32비트 Ubuntu를 설치하는 것이 더 쉬울 수 있습니다.chroot. 우분투 선박루트 디렉토리 dchroot 설치~에서데비안 빌드 프로젝트, 루트가 지정된 시스템을 쉽게 실행할 수 있습니다. 사용부팅 방지 프로그램 debootstrap 설치설치를 수행합니다. 합리적인Ubuntu 포럼의 dchroot 튜토리얼.

관련 정보