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

조회수 2046회

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

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 로 컴파일된것이 필요합니다.

    위와 같이 해보세요.

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)