2009-04-22 3 views
0

Mac OS X 10.5.6에서 PHP5.2.9를 컴파일 중입니다. 이것을 이해하려면 도움이 필요합니다.Mac Leopard 10.5.6에서 GD2 및 Freetype을 사용하여 PHP를 컴파일하는 중 오류가 발생했습니다.

PHP를 컴파일하고 기본 설정으로 작업했는데 이제 GD2로 컴파일하려고합니다. 내가 겪고있는 문제는 Freetype을 사용하여 빌드 할 인수를 추가하면 빌드 오류가 발생한다는 것입니다. 문제를 데모하기위한 최소한의 구성입니다. 또한, libjpeg/libpng에 대한 다른 요구 사항이 있다는 것을 알고 있습니다. 지금은 이것을 간단하게 만드는 것을 포함하지 않습니다.

sudo ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/conf/php \ 
--enable-fastcgi \ 
--with-freetype-dir=/usr/local \ 
--with-gd 

오류 :

checking for FT_New_Face in -lfreetype... no 
configure: error: Problem with freetype.(a|so). Please check config.log for more information. 

이 오류 로그에서입니다 :

configure:36779: gcc -o conftest -gstabs -no-cpp-precomp -Wl,-rpath,/usr/loca$ 
Undefined symbols: 
    "_FT_New_Face", referenced from: 
     _main in ccgzHTP6.o 
ld: symbol(s) not found 
collect2: ld returned 1 exit status 
configure: failed program was: 
#line 36768 "configure" 
#include "confdefs.h" 
/*  Override any gcc2 internal prototype to avoid an error. */ 
/* We use char because int might match the return type of a gcc2 
    builtin and then its argument prototype would still apply. */ 

내가 freelib-2.1.3이/usr/지방 /,로에서 소스에서 내장 설치 --with-freetype-dir 인수에 정의했습니다. 그 글꼴 파일을 찾으려고 노력하고 있다고 말하는 것 같지만 그런 글꼴이 설치되는시기는 언제인지 모르겠습니다.

Freetype없이 빌드하면 GD2가 빌드되고 설치되지만 내 시스템에 Freetype 기능을 사용하고자합니다. 다음은 Freetype 옵션 (실패한 것)이있는 전체 구성 설정입니다.

sudo ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/conf/php --enable-fastcgi \ 
--with-jpeg-dir=/usr/local \ 
--with-png-dir=/usr/local \ 
--with-zlib-dir=/usr/local \ 
--enable-gd-native-ttf \ 
--with-tlib=/usr/local \ 
--with-freetype-dir=/usr/local \ 
--with-xpm-dir=/usr/X11R6 \ 
--with-gd 

답변

1

좋아, 정말 바보 같은 짓을 한거야. Freetype2를 어디에서 다운로드했는지 정확히 잊어 버렸지 만 2.1.3 버전은 구식입니다. 방금 2.3.9로 업데이트되었고 완벽하게 컴파일되었습니다. 블레.

동료 Google 검색 사용자에게 경고합니다. 문제 해결 단계 중 하나는 요구 사항의 최신 릴리스 버전을 사용하고 있는지 확인하는 것입니다.

0

원하는 확장명을 포함한 PHP의 사용자 지정 버전 설치는 어려울 수 있습니다. 처음부터 모든 것을 컴파일하는 대신 MacPorts을 사용하면 올바른 소스 파일과 종속성을 제공하고 configure, make 및 make install 프로세스를 완전히 자동화 할 수 있습니다.

MacPorts 포트 콜렉션에서 PHP의 최신 버전과 거의 모든 확장 기능과 도구가 제공됩니다. 새로운 버전의 PHP가 출시되면 보통 MacPorts에 곧바로 들어서면서 설치된 버전을 쉽게 업그레이드 할 수 있습니다.

LAMP/MAMP 개발을 수행하는 경우 MacPorts는 최신 Apache 및 MySQL 서버 버전도 제공합니다.