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
패키지 및 기타 가능lib32.*-dev
가방. 또한 libc6-dev-i386
크로스 컴파일에 필요한 gcc 구성 요소도 소개합니다.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. 우분투 선박루트 디렉토리 ~에서데비안 빌드 프로젝트, 루트가 지정된 시스템을 쉽게 실행할 수 있습니다. 사용부팅 방지 프로그램 설치를 수행합니다. 합리적인Ubuntu 포럼의 dchroot 튜토리얼.