64비트 powerpc redhat에서 32비트 powerpc redhat으로 빌드 하는 방법 문의


64비트 odbc 바이너리를 가지고 32비트 odbc를 설치하고자 32비트로 빌드를 하는데 자꾸 64비트로 빌드가 되네요..

./configure --prefix=$HOME/unixODBC --sysconfdir=$HOME/unixODBC/etc --build=ppc32-pc-linux-gnu --host=ppc64-pc-linux-gnu

다음과 같이 하면checking build system type... Invalid configuration ppc32-pc-linux-gnu': machineppc32-pc' not recognized 다음과 같이 ppc32를 인지하지 못한다고 나오고 ppc만 넣자니 64비트로 빌드가 됩니다.

혹시 configure파일을 가지고 64비트 powerpc redhat에서 32비트로 빌드 하는 방법 아시는분 답변 부탁드립니다.

참고. http://stackoverflow.com/questions/1272357/how-to-compile-a-32-bit-binary-on-a-64-bit-linux-machine-with-gcc-cmake

http://stackoverflow.com/questions/13756674/how-to-build-static-32bit-binary-on-64bit-machine-os-with-configure-script

  • 2016년 03월 22일에 작성됨

조회수 316


1 답변


gcc의 경우 -mXX ( -m32, -m64, ... ) 옵션이 조절하는 옵션입니다.

configure를 할 때, CFLAGS나 CXXFLAGS옵션에 -m32 가 포함되도록 해보세요.

C소스의 경우

CFLAGS="-m32 <기타 C컴파일옵션>" ./configure ....

C++소스의 경우

CXXLAGS="-m32 <기타 C++컴파일옵션>" ./configure ....

C와C++이 혼재되어 있는 경우

CFLAGS="-m32 <기타 C컴파일옵션>" CXXLAGS="-m32 <기타 C++ 컴파일옵션>" ./configure ....

그리고 컴파일 결과를 해당 머신에서 실행까지 하는 것이 목적이라면, static으로 빌드하는 것이 확실할 것 같습니다. 대개의 configure의 경우 --enable-static, --disable-static, --enable-shared, --disable-shared 와 같은 빌드 옵션을 제공합니다.

CFLAGS="-m32 <기타옵션>" ./configure --enable-static ...

혹은

CFLAGS="-m32 <기타옵션>" ./configure --enable-static --disable-static ...

그리고 컴파일을 위해 필요한 라이브러리들도 32bit 로 컴파일된것이 필요합니다.

위와 같이 해보세요.

  • 2016년 03월 23일에 작성됨
    리눅스(유닉스) 기반의 시스템에서 웹 서비스를 개발하고 있습니다.

로그인이 필요한 기능입니다.

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 작성한 답변에 다른 개발자들이 댓글을 작성하거나 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.
► 로그인
► 계정만들기
Close