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: INSTALACION, Linux, PHP, PHP-GTK, UBUNTU 8.04
19 de Septiembre de 2008 a las 8:50 am
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
26 de Septiembre de 2008 a las 12:44 pm
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.
22 de Noviembre de 2008 a las 2:07 am
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
22 de Noviembre de 2008 a las 3:08 pm
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.
11 de Septiembre de 2009 a las 11:24 pm
¡Muchas gracias! ¡funcionó! No al primer intento, pero estos pasos que diste son más claros que en la guía oficial, gracias…
26 de Abril de 2010 a las 10:50 am
Muchas gracias. Tu artículo me ha ahorrado varios quebraderos de cabeza.
Saludos.