Para compilar GTK+, todo lo que necesita es un compilador de C (gcc) y el Sistema X Windows y librerías asociadas en su sistema.
El sitio canónico es:
ftp://ftp.gtk.org/pub/gtkPor supuesto, cualquier espejo de ftp.gtk.org debe tener las últimas versiones también.
Por lo general, todo lo que necesita es emititir los comandos:
./configure makeen el directorio gtk+-version/.
make: file `Makefile' line 456: Syntax error
Asegúrese de que utiliza GNU make (verifique con make -v
). Hay
varias versiones extrañas y maravillosas de make por ahí, y no todas
manejan los Makefiles generados automáticamente.
Este problema se encuentra comúnmente cuando las librerías GTK+ no pueden ser localizadas o tienen la versión incorrecta. Generalmente, el compilador se quejará de un 'unresolved symbol' (símbolo no resuelto). Hay dos cosas que necesita verificar:
/usr/X11R6/lib /usr/local/libLuego necesita correr /sbin/ldconfig como root. Puede encontrar que directorio utiliza GTK al ejecutar
gtk-config --libsSi su sitema no utiliza ld.so para encontrar librerías (como Solaris), entonces tendrá que utilizar la variable de ambiente LD_LIBRARY_PATH (o compilar el camino en su programa, lo cual no voy a cubrir aquí). Así que, con un shell tipo Bourne usted puede hacer (si sus librerías GTK están en /usr/local/lib):
export LD_LIBRARY_PATH=/usr/local/liby en un csh, usted puede hacer:
setenv LD_LIBRARY_PATH /usr/local/lib
rpm -e gtk gtk-develTambién puede querer remover los paquetes que dependen de gtk (rpm le dirá cuáles son). Si no tiene un sistema Linux RedHat, verifique para estar seguro que ni
/usr/libni
/usr/local/libcontengan alguna de las librerías libgtk, libgdk, libglib, or libgck. Si existen, elimínelas (y cualquier archivo include, como /usr/include/gtk y /usr/include/gdk) y reinstale gtk+.
"glibconfig.h"
.
El archivo de encabezado "glibconfig.h" se movió al directorio $exec_prefix/lib/glib/include/. $exec_prefix es el directorio que fue especificado al dar la bandera --exec-prefix a ./configure cuando se compiló GTK+. Va por omisión a $prefix, (especificado con --prefix), que en su lugar va por omisión a /usr/local/.
Ésto se hizo asi porque "glibconfig.h" incluye información dependiente de la arquitectura, y el resto de los archivos include se colocan en $prefix/include, el cual puede ser compartido entre distintas arquitecturas.
GTK+ incluye un guión para el intérprete de comandos,
gtk-config
, el cual hace fácil
encontrar los caminos correctos de inclusión. El tutor de GTK+ incluye
un ejemplo de como utilizar gtk-config
para una compilación simple
desde la línea de comandos. Para información sobre configuraciones más
complicadas, vea el archivo docs/gtk-config.txt en la distribución de GTK+.
Si está intentando compilar un programa viejo, puede bordear el problema al configurarlo con una línea de comando como:
CPPFLAGS="-I/usr/local/include/glib/include" ./configure
para intérpretes de comandos compatibles con Bourne como bash, o para variantes csh:
setenv CPPFLAGS "-I/usr/local/include/glib/include"
./configure
(Sustituya el valor apropiado de $exec_prefix para /usr/local.)
Hay varias razones comúnes para esto:
control-panel
.
gtk-config
(u otro componente de GTK) no se encuentra en el camino
(path),
o hay una versión vieja en su sistema. Teclee:
gtk-config --versionpara verificar ambos casos. Ésto debe devolver un valor de por lo menos 0.99.8 para que las cosas funcionen correctamente con GIMP 0.99.23. Si devuelve un valor distinto a lo que usted espera, entonces tiene una versión vieja de GTK en su sistema.
Si nada de lo anterior ayuda, entonces revise config.log, el cual es generado por ./configure cuando corre. Al final estará la última acción tomada antes de fallar. Si es una sección de código fuente, copie el código fuente a un archivo y compilelo con la línea jústamente arriba de él en config.log. Si la compilación tiene éxito, intente ejecutarlo.