크로스 컴파일러에 사용할 수 있는 zlib를 생성하는 방법을 정리하겠습니다.

생성된 라이브러리를 toolchain 디텍토리에 직접 생성하지 않고 release 폴더를 생성해서

그 안에 만들겠습니다. 이유는 다른 시스템에 복사하기 편하게 하기 위함입니다.


z lib

  1. z libe 소스 압축 파일을 /tmp 에 다운로드
  2. /tmp에서 압축 파일을 zlib 디렉토리에 풀기
  3. /tmp/zlib 로 이동
  4. release 디렉토리를 생성
  5. ./configure 실행
  6. make
  7. make install
  8. /tmp/zlib/release에 있는 라이브러리를 toolchain 디렉토리에 복사
상세 설치 과정은 아래와 같습니다. 사용할 크로스 컴파일러는 arm-generic-linux-gnueabi-gcc 이며
toolchain 위치는 /usr/arm-generic-linux-gnueabi 에 있는 것으로 설명하겠습니다.
  1. http://www.zlib.net/ 방문하여 소스 파일을 /tmp에 다운로드
    ]$ wget http://prdownloads.sourceforge.net/libpng/zlib-1.2.8.tar.gz
    --- 주의 1: 글 작성하는 시간에는 zlib 버전이 1.2.8
    --- 주의 2: 꼭 
    prdownloads.sourceforge.net 에서 제공하는 파일을 내려 받으세요. US(zlib.net) 에서 받으면 에러 나네요.
  2. /tmp/zlib에 압축 파일 풀기
    ]$ 
    tar zxvf zlib-1.2.8.tar.gz 
    ]$  mv zlib-1.2.8     zlib
  3. /tmp/zlib로 이동
    ]$ cd zlib
  4. release 디렉토리 생성
    ]$ mkdir release
  5. 환경 생성
    ]$ CC=arm-generic-linux-gnueabi-gcc ./configure --prefix=./release
  6. 컴파일 및 생성
    ]$ make && make install
  7. 라이브러리를 압축으로 묶음
    ]$ cd release
    ]$ tar zcvf zlib.tar.gz include/ lib/ share/
  8. toolchain 디렉토리에 라이브러리 파일 풀기
    ]$ cd /usr/arm-generic-linux-gnueabi/
    ]$ sudo tar zxvf /tmp/zlib/release zlib.tar.gz
이제 크로스 컴파일에서 zlib를 사용할 수 있습니다.
zlib.tar.gz를 잘 갈무리해 두었다가 다른 시스템의 toolchain에 설치하면 편하겠죠? ^^