Pregunta

Estoy compilando PHP5.2.9 en Mac OS X 10.5.6. Necesitar algo de ayuda para resolver esto.

Tengo PHP compilar y trabajar con una configuración básica, y ahora estoy tratando de compilar con GD2. El problema que estoy corriendo en es que si añado el argumento de construir con Freetype, consigo errores de compilación. Esta es mi configuración mínima para una demostración del problema. Además, sé que hay otros requisitos para libjpeg / libpng, etc. No estoy incluyendo aquellos en este momento para hacerlo mas simple.

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

Error:

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

Este es desde el registro de error:

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.  */

He freelib-2.1.3 construido a partir de la fuente y se instala en / usr / local /, como se define en el argumento --with-freetype-dir. Creo que me dice su tratando de encontrar un archivo de fuentes, pero no estoy seguro de cuándo o si se va a instalar una fuente de este tipo.

Si construyo sin Freetype, GD2 va a construir e instalar, pero yo quiero tener la capacidad Freetype en mi sistema. La siguiente es mi configuración de configuración completa con la opción Freetype (el que está fallando!)

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 
¿Fue útil?

Solución

Ok, hizo algo realmente estúpido. Me he olvidado exactamente donde he descargado desde Freetype2, pero la versión 2.1.3 está a años fuera de fecha. Acabo de actualizar a 2.3.9 y maldita compila perfectamente. Bleh.

Se advirtió, compañeros de los usuarios de Google. El primer paso para la solución de problemas es asegurarse de que está utilizando las versiones más recientes de liberación de sus necesidades.

Otros consejos

La instalación de una versión personalizada de PHP incluyendo las extensiones deseadas puede ser un desafío. Una alternativa a compilar todo desde cero está utilizando DarwinPorts que proporciona los archivos de origen correctas, dependencias y totalmente automatiza la configuración, y hacer que el proceso de instalación.

En la colección puerto MacPorts, la última versión de PHP y casi todas las extensiones y herramientas están presentes. Cuando se lanza una nueva versión de PHP, por lo general encuentra su camino en MacPorts muy pronto, lo que permite actualizar la versión instalada con mucha facilidad.

Si lo hace LAMPARA desarrollo / MAMP, DarwinPorts también proporciona las últimas versiones del servidor Apache y MySQL.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top