Mac OS X Server 10.5 에 GD library 설치
최근에 나오는 많은 수의 웹 어플리케이션들이 GD 라이브러리를 설치해야 하는 경우가 있습니다.
Mac OS X Server에는 기본으로 GD 라이브러리가 설치되어 있지 않으므로 컴파일해서 설치해야 하는 어려움이 있습니다.
가장 최근판 제로보드 조차도 GD 라이브러리 설치가 필요하더군요.
암튼
이전 버전에 비해서 레오파드 서버에 GD 라이브러리 설치는 매우 간편해졌습니다.
libjpeg 을 제외한 다른 필요한 라이브러리 들이 이미 설치되어 있기 때문입니다.
다만 이미 설치된 php가 gd 라이브러리와 호환되지 않기 때문에 php를 재컴파일 해야 합니다.
그래서 순서는 다음과 같습니다.
libjpeg 설치
gd 라이브러리 설치
php 재 컴파일.
일단.
자신의 서버의 CPU 타입을 알고 계셔야 합니다.
32 비트 인지 64 비트인지에 따라서 설정법이 좀 다릅니다.
시스템 요구사항.
이 설명에는 오로지 레오파드 서버의 경우만 설명합니다.
서버 디비디에 들어있는 Developer Tools 가 설치되어 있어야 합니다.
X11 이 설치되어 있어야 합니다. 만일 서버 설치시 아무런 옵션을 건드리지 않았다면 이미 설치되어 있어야 정상입니다.
X11 SDK 가 설치되어 있어야 합니다. 마찬가지로 서버 설치시 옵션을 건드리지 않았다면 이미 설치되어 있습니다.
GD 라이브러리에 관련된 다른 라이브러리 들에 대해 건드리지 않았다는 가정하에 설명합니다.
- 터미널을 열고 root 로 로그인 합니다.
- 일단 임시용 폴더를 하나 만듭니다.
mkdir -p ./source
cd ./source
- libjpeg과 gd 라이브러리의 소스를 다운로드 합니다.
curl -O http://www.ijg.org/files/jpegsrc.v6b.tar.gz
curl -O http://www.libgd.org/releases/gd-2.0.35.tar.gz
tar xzpf jpegsrc.v6b.tar.gz
tar xzpf gd-2.0.35.tar.gz
- 이제 libjpeg을 설치 합니다.
cd /source/jpeg-6b
cp /usr/share/libtool/config.sub .
cp /usr/share/libtool/config.guess . 컨피겨를 돌려야 하는데 시스템 마다 설정이 다릅니다.
32 비트 시스템이면 ./configure –enable-shared 64비트 시스템이면 MACOSX_DEPLOYMENT_TARGET=10.5 CFLAGS=”-arch ppc -arch ppc64 -arch i386 -arch x86_64 -g -Os -pipe -no-cppprecomp” CCFLAGS=”-arch ppc -arch ppc64 -arch i386 -arch x86_64 -g -Os -pipe” CXXFLAGS=”-arch ppc -arch ppc64 -arch i386 -arch x86_64 -g -Os -pipe” LDFLAGS=”-arch ppc -arch ppc64 -arch i386 -arch x86_64 -bind_at_load” ./ ./configure –enable-shared 이제 컴파일 합니다. make
mkdir -p /usr/local/include
mkdir -p /usr/local/bin
mkdir -p /usr/local/lib
mkdir -p /usr/local/man/man1
make install
- 이제 GD 라이브러리를 설치합니다.
cd ../gd-2.0.35
역시 32비트면 다음과 같이 컨피겨 합니다.
./configure
64 비트면 다음과 같이 합니다.
MACOSX_DEPLOYMENT_TARGET=10.5 CFLAGS=”-arch ppc -arch ppc64 -arch i386 -arch x86_64 -g -Os -pipe -no-cppprecomp” CCFLAGS=”-arch ppc -arch ppc64 -arch i386 -arch x86_64 -g -Os -pipe” CXXFLAGS=”-arch ppc -arch ppc64 -arch i386 -arch x86_64 -g -Os -pipe” LDFLAGS=”-arch ppc -arch ppc64 -arch i386 -arch x86_64 -bind_at_load”
./configure –disable-dependency-tracking 이제 컴파일 하고 설치 합니다. make
make install
- 이제는 애플사에서 php소스를 다운 받아서 재컴파일 합니다.
cd ../
curl -O http://www.opensource.apple.com/darwinsource/10.5.2/apache_mod_php-44/php-5.2.5.tar.bz2
tar xjf php-5.2.5.tar.bz2
cd ./php-5.2.5/ext/gd
phpize
32 비트 시스템이면 다음과 같이 합니다. ./configure –with-zlib-dir=/usr –with-jpeg-dir=/usr/local/lib –with-png-dir=/usr/X11R6 –with-freetypedir=/usr/X11R6 –with-xpm-dir=/usr/X11R6 64 비트 시스템이면 다음과 같이 합니다. MACOSX_DEPLOYMENT_TARGET=10.5 CFLAGS=”-arch ppc -arch ppc64 -arch i386 -arch x86_64 -g -Os -pipe -no-cppprecomp” CCFLAGS=”-arch ppc -arch ppc64 -arch i386 -arch x86_64 -g -Os -pipe” CXXFLAGS=”-arch ppc -arch ppc64 -arch i386 -arch x86_64 -g -Os -pipe” LDFLAGS=”-arch ppc -arch ppc64 -arch i386 -arch x86_64 -bind_at_load”
./configure –with-zlib-dir=/usr –with-jpeg-dir=/usr/local/lib –with-png-dir=/usr/X11R6 –with-freetypedir=/usr/X11R6 –with-xpm-dir=/usr/X11R6 이제 컴파일 합니다. make
make install
- php.ini 파일을 수정합니다.
애플의 기본 시스템에는 php.ini 파일이 설치되지 않습니다. 하지만 /etc 디렉토리에 php.ini.default 라는 기본파일은 잊지 않고 설치됩니다. 이 파일을 수정하여 이름을 php.ini 라고 고치셔야 합니다.
기본적인 vi 에디터를 사용하여도 좋고 다른 에디터를 사용하여도 좋습니다.
다만 다음과 같은 행을 추가하셔야 합니다. extension=gd.so 또한 extension_dir= 이라는 설정을 찾아서 다음과 같이 수정해 줍니다. extension_dir=/usr/lib/php/extensions/no-debug-non-zts-20060613)
- 이제 아파치를 재시동 합니다.
apachectl graceful
- 이것으로 gd 라이브러리가 아마 설치되었을 겁니다. 제 시스템에서는 아무 문제가 없었습니다. 다만 최신의 Developer Tools를 사용할 경우 php 컴파일시에 문제가 있는 경우도 있다고 합니다. 이 경우 /usr/X11/lib/libpng.la 파일을 찾아서 다음 처럼 수정합니다.
library_names=’libpng12.0.dylib libpng12.dylib
libpng12.0.26.0.dylib’
current=26
age=26 라는 행들을 아래처럼 수정 합니다.
library_names=’libpng12.0.dylib libpng12.dylib
libpng12.0.24.0.dylib’
current=24
age=24
- 이것으로 설치가 완료되었을 겁니다.
모든 설명은 http://osx.topicdesk.com/ 의 데이터와 다른 홈페이지들의 내용들을 부분적으로 참고했습니다.
감사합니다. 지금 설치중인데 좀 막히는 군요.
몇가지 오류 알려드립니다.
cd /source/jpeg-6b -> cd ~/source/jpeg-6b
./configure –with-zlib-dir=/usr –with-jpeg-dir=/usr/local/lib –with-png-dir=/usr/X11R6 –with-freetypedir=/usr/X11R6 –with-xpm-dir=/usr/X11R6 ->
./configure –with-zlib-dir=/usr –with-jpeg-dir=/usr/local/lib –with-png-dir=/usr/X11R6 –with-freetypedir=/usr/X11R6 –with-xpm-dir=/usr/X11R6
지금은 php configure하는데 configure: error: libjpeg.(a|so) not found. 오류가 나타나 해결중입니다.
libjpeg를 말씀하신대로 설치했는데도 못찾고 있네요.
- – with-zlib-dir 를 올리면 –with-zlib-dir= 로 바뀌는 군요.
- -with-jpeg-dir=/usr/local/lib 를 – -with-jpeg-dir=/usr/local/bin 으로 하니 에러가 나질 않네요.
extension_dir=/usr/lib/php/extensions/no-debug-non-zts-20060613)
이 부분은 어떻게 고쳐야 할지 몰라서 주석처리 했습니다.
http://www.kenior.com/macintosh/adding-gd-library-for-mac-os-x-leopard
이곳에서는 주석처리를 했더군요.
감사합니다. 설치가 완료되었습니다.
설치하시느라 고생하셨군요.
아무도 이 글을 읽는 사람이 없다고 생각되서 꽤 오랜시간동안 방치해 두었었는데
읽으시는 분이 계시니 무척 반갑습니다.
그럼 오류 지적 감사드리며.
영송