enero 05, 2007

PHP 5.2 + GD + JPEG compila maldito!

Un tiempo llevaba ya rondándome el mosqueo por culpa del php, resulta que por algún extraño motivo se compilaba el soporte GD pero me evitaba parte de las librerías gráficas, la del JPEG en concreto... Como se suele decir, lo mejor en estos casos es ir a darse una vuelta para que se vean las cosas más claras, y en efecto:

$ ./configure --help
...
--with-gd[=DIR] Include GD support where DIR is GD install prefix.
If DIR is not set, the bundled GD library will be used
...

Vamos que si tu no dices donde andan tus librerías pues te mete las que el mismo lleva de "relleno"... que magnifica idea la de esta gente :p

Las que si que llevan soporte jpeg son las que vienen con el sistema, una debian en este caso:
# ldd /usr/lib/libgd.so
libpthread.so.0 => /lib/tls/libpthread.so.0 (0x40054000)
libjpeg.so.62 => /usr/lib/libjpeg.so.62 (0x40063000)
libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0x40082000)
libpng12.so.0 => /usr/lib/libpng12.so.0 (0x400ef000)
libz.so.1 => /usr/lib/libz.so.1 (0x40114000)
libm.so.6 => /lib/tls/libm.so.6 (0x40126000)
libc.so.6 => /lib/tls/libc.so.6 (0x40148000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x80000000)

Así que bueno, cuestión de decirle al configure donde encontrarlas:
$ ./configure --with-gd=/usr --with-zlib --with-jpeg


Para comprobar que tenemos soporte jpeg dentro de las gd's de php:
<?php
var_dump(gd_info());
?>

Que en mi caso da un resultado tal que:
array(11) {
["GD Version"]=> string(13) "2.0 or higher"
["FreeType Support"]=> bool(false)
["T1Lib Support"]=> bool(false)
["GIF Read Support"]=> bool(true)
["GIF Create Support"]=> bool(true)
["JPG Support"]=> bool(true)
["PNG Support"]=> bool(true)
["WBMP Support"]=> bool(true)
["XPM Support"]=> bool(false)
["XBM Support"]=> bool(false)
["JIS-mapped Japanese Font Support"]=> bool(false)
}

comentarios:

Unknown dijo...

Compañero he leido tus notas, pues padezco el mismo problema y dejame decirte que he intentado de mil y una forma y no jala esta libreria. uso php 5.2.4. tendras otra sugerencia