Instalación de PHP-GTK2 en Linux Ubuntu 8.04

Seguimos el tutorial oficial de instalación que se encuentra en esta página.

Aunque Ubuntu lleva el php5 instalado, vamos a hacer un update de versión para asegurar de que todo se hace bien:

cvs -d :pserver:cvsread@cvs.php.net:/repository login
cvs -d :pserver:cvsread@cvs.php.net:/repository co -r PHP_5_2 php-src

Si no teneis el CVS instalado: sudo apt-get install cvs

Ahora que ya esta actualizada/comprobada la version de php, procedemos a compilar su instalación, para ello es necesario seguir los siguientes pasos, (atención a posibles fallos, comento dos más abajo):

cd php-src
./buildconf
./configure --prefix=/opt/php5_2 --disable-cgi
make
su
make install
echo extension=php_gtk2.so >> /opt/php5_2/lib/php.ini
/opt/php5_2/bin/php-config --extension-dir | xargs echo 'extension_dir=' >> /opt/php5_2/lib/php.ini

A mi me ha dado dos errores el paso de ‘./configure…’, éstos han sido:

1. configure: error: Found invalid flex version: 2.5.34. Supported flex versions are: 2.5.4

En Ubuntu 8.04 viene instalada la versión de flex 2.5.34 y la soportada es la flex 2.5.4, que ubuntu la tiene en sus repositorios como flex-old. Si vuestro caso es el mismo teneis que ir al gestor de paquetes synaptic, buscar ‘flex’ y de la lista que sale buscar el paquete flex instalado, marcar para eliminar completamente y un poco más abajo marcar ‘flex-old’.

2. configure: error: xml2-config not found. Please check your libxml2 installation.

Si ocurre esto, hay que ir de nuevo al gestor de paquetes synaptic, buscar ‘libxml2′ y en la lista que nos mostrará, marcar para instalar la fila que pone ‘libxml2-dev’.

El tercer paso, make, es el que se encarga de compilar. Si en este paso os dice ‘failed to open stream’ es porque el paso anterior se ha hecho mal, vuelve a lanzarlo y comprueba que la ultima linea no ponga algo de error. Si este paso se ejecuta con todo correcto tarda un poco en completarse y saca mucho texto por pantalla ya que compila todas las librerias que no són pocas.

Según la guía oficial de php-gtk2 hay que hacer un su, y posteriormente un make install, así pues esto sirve para acabar de instalar los paquetes con derechos de root(su), por tanto:

sudo su (os pedira contraseña)

make install

Si hasta aquí todo ha ido bien, los dos últimos pasos no darán problemas, asi que soo hay que hacer copiar y pegar de esos pasos:

echo extension=php_gtk2.so >> /opt/php5_2/lib/php.ini
/opt/php5_2/bin/php-config --extension-dir | xargs echo 'extension_dir=' >> /opt/php5_2/lib/php.ini

Ahora toca compilar todo el tema del PHP-GTK2:

cd ..
cvs -d :pserver:cvsread@cvs.php.net:/repository co php-gtk
cd php-gtk
./buildconf --with-phpize=/opt/php5_2/bin/phpize
./configure --with-php-config=/opt/php5_2/bin/php-config --with-libglade
make
make install

Y aquí, en el paso del ‘./configure…’ he vuelto a tener problemas con las versiones de mis instalaciones:

1. configure: error: PHP-GTK 2.x requires GLib 2.6.0 or higher

Se queja de que no tiene la libreria Glib adecuada, es necesario instalar ‘libglib2.0-dev’ para solventar este problema, así que ya sabeis, a buscarlo en el gestor de paquetes synaptic.

2. configure: error: PHP-GTK 2.x requires GTK+ 2.6.0 or higher

Más o menos lo mismo que el anterior, error de versión, en esta ocasión toca buscar en el gestor de paquetes synaptic ‘libgtk2.0-dev’.

Una vez solventados estos dos problemas, que recuerdo, pueden ser distintos o no tener errores directamente en tu caso, ya que puede ser que tengas los modulos previamente instalados correctamente, sólo hay que hacer un par de instrucciones mas que no darán problemas:

make

sudo make install

El ultimo paso es hacer un enlace a la instalacion del nuevo PHP que hemos hecho:

ln -s /opt/php5_2/bin/php /usr/bin/php-gtk

Etiquetas: , , , ,

6 comentarios para “Instalación de PHP-GTK2 en Linux Ubuntu 8.04”

  1. Ezequiel dice:

    Hola, cuando intento hacer el make en el PHP-GTK 2 me arroja el siguiente error:

    ext/gtk+/gdk-2.8.overrides: In function ‘zim_GdkDrawable_cairo_create’:
    ext/gtk+/gdk-2.8.overrides:11: error: ‘context_object’ undeclared (first use in this function)
    ext/gtk+/gdk-2.8.overrides:11: error: ‘cont’ undeclared (first use in this function)
    ext/gtk+/gdk-2.8.overrides:11: error: invalid operands to binary *
    ext/gtk+/gdk-2.8.overrides:17: warning: assignment makes pointer from integer without a cast
    ext/gtk+/gdk-2.8.overrides:19: error: expected expression before ‘)’ token
    ext/gtk+/gdk-2.8.overrides:19: error: invalid operands to binary *
    ext/gtk+/gdk-2.8.overrides:21: error: ‘zend_function_entry’ has no member named ‘context’
    ext/gtk+/gdk-2.10.overrides: In function ‘zim_GdkScreen_set_font_options’:
    ext/gtk+/gdk-2.10.overrides:15: error: ‘fontoptions_object’ undeclared (first use in this function)
    ext/gtk+/gdk-2.10.overrides:15: error: ‘fobj’ undeclared (first use in this function)
    ext/gtk+/gdk-2.10.overrides:15: error: invalid operands to binary *
    ext/gtk+/gdk-2.10.overrides:20: error: expected expression before ‘)’ token
    ext/gtk+/gdk-2.10.overrides:20: error: invalid operands to binary *
    ext/gtk+/gdk-2.10.overrides:22: error: ‘zend_function_entry’ has no member named ‘fontoptions’
    ext/gtk+/gdk-2.10.overrides:22: warning: passing argument 2 of ‘gdk_screen_set_font_options’ from incompatible pointer type
    ext/gtk+/gdk-2.10.overrides: In function ‘zim_GdkScreen_get_font_options’:
    ext/gtk+/gdk-2.10.overrides:31: error: ‘fontoptions_object’ undeclared (first use in this function)
    ext/gtk+/gdk-2.10.overrides:31: error: ‘fobj’ undeclared (first use in this function)
    ext/gtk+/gdk-2.10.overrides:31: error: invalid operands to binary *
    ext/gtk+/gdk-2.10.overrides:36: warning: assignment makes pointer from integer without a cast
    ext/gtk+/gdk-2.10.overrides:39: error: expected expression before ‘)’ token
    ext/gtk+/gdk-2.10.overrides:39: error: invalid operands to binary *
    make: *** [ext/gtk+/gen_gdk.lo] Error 1

    Tendras alguna idea de por que puede ser? Segui todos los pasos tal cual los mencionas pero no me deja.

    Saludos
    Ezequiel

  2. edu dice:

    Hola Ezequiel,

    pues creo recordar que tuve un problema parecido al intentar compilar la versión del Servidor CVS. Si fuera el mismo caso, yo lo solucioné compilando los fuentes de ftp://ftp.gtk.org/pub/gtk/ que no me dieron ningún problema.

  3. cristian dice:

    me sale este error cuando ejecuto :

    root@commayo-desktop:/usr/local/src/php-src# ./configure –prefix=/opt/php5_2 –disable-cgi

    configure: error: C compiler cannot create executables
    See `config.log’ for more details.

    me podrias ayudar por favor

  4. edu dice:

    Hola Cristian,

    parece que tienes algún problema con el compilador de C. Revisa que lo tengas correctamente instalado. De paso, postea el config.log y le hechamos un vistazo.

  5. Linuts dice:

    ¡Muchas gracias! ¡funcionó! No al primer intento, pero estos pasos que diste son más claros que en la guía oficial, gracias…

  6. Juan Luis dice:

    Muchas gracias. Tu artículo me ha ahorrado varios quebraderos de cabeza.

    Saludos.

Deja un comentario

CAPTCHA Image Audio Version
Reload Image