Problemas instalando la biblioteca GD para PHP en Mac OS X
Estaba siguiendo esta guía para instalar la biblioteca GD en el PHP de Mac OS X cuando me he chocado con un par de problemas.
Lo primero es que no he reinstalado “libjpeg” como recomienda la guía, sino que he utilizado el de MacPorts, pero no creo que esto sea ningún problema.
Lo segundo es que la guía enlaza al paquete PHP 5.2.4 que Apple utilizaba en Mac OS X 10.5, pero estamos ya en Mac OS X 10.5.4 y ahora Apple utiliza PHP 5.2.5. Lo más recomendable es ir a sitio web de código abierto de Apple y buscar en nuestra versión el paquete “apache_mod_php-?” donde la interrogación es un número (en el caso de Mac OS X 10.5.4 el número es 44). Hay que tener cuidado porque existe un paquete “apache_mod_php4-?” que no es el que queremos. En el directorio del paquete bajaremos el archivo que tenga un nombre como “php-5.?.?.tar.bz2″, que es el que utilizaremos como paquete de código fuente.
Finalmente, al hacer “make” me ha aparecido un error indicando que “libpng12.0.6.0.dylib” no se encuentraba. Al hacer un “locate” el archivo en cuestión está en “/Developer/SDKs/MacOSX10.5.sdk/usr/X11/lib/”, mientras que es buscado en “/usr/X11/lib”. Parece ser que las betas del iPhone SDK sobreescriben el archivo que la herramienta “libtool” utiliza para encontrar las bibliotecas con la nueva versión, pero no sustituye la versión antigua.
Según esta solución podemos editar el archivo “libpng12.la” (que es el que utiliza “libtool” para encontrar las bibliotecas) y corregirlo para que apunte a la versión correcta.
Personalmente no se si esa modificación es correcta o no, o si influirá para los demás usos del SDK, y de cualquier forma, a mí parece que no me ha arreglado el problema. Mi solución ha sido realizar el “make” hasta que se producía el error, copiar la línea que invoca a “libtool” (la última línea antes de los mensajes de error invoca a “gcc”, la anterior invoca a “libtool”), modificar donde ponía “-lpng12″ por “-lpng12.0.24.0″ y ejecutarla. Después he vuelto a ejecutar “make” y ha terminado sin problemas (de hecho es el último paso). Luego se puede continuar con la guía normalmente.
Por ahora todo parece funcionar.

