linux - unsupported - ¿Cómo averiguas qué versión de GTK+está instalada en Ubuntu?
unsupported gtk+ version (10)
Necesito determinar qué versión de GTK + está instalada en Ubuntu
El hombre no parece ayudar
Creo que una forma de distribución independiente es:
gtk-config --version
Esto obtendrá la versión de las bibliotecas GTK + para GTK + 2 y GTK + 3.
dpkg -l | egrep "libgtk(2.0-0|-3-0)"
Como las versiones principales son instalable en paralelo, puede tener ambas en su sistema, que es mi caso, por lo que el comando anterior lo devuelve en mi sistema Ubuntu Trusty:
ii libgtk-3-0:amd64 3.10.8-0ubuntu1.6 amd64 GTK+ graphical user interface library
ii libgtk2.0-0:amd64 2.24.23-0ubuntu1.4 amd64 GTK+ graphical user interface library
Esto significa que tengo GTK + 2.24.23 y 3.10.8 instalados.
Si lo que quieres es la versión de los archivos de desarrollo, utiliza pkg-config --modversion gtk+-3.0
por ejemplo para GTK + 3. Para extender eso a las diferentes versiones principales de GTK +, con algo de magia sed, esto te da:
pkg-config --list-all | sed -ne ''s//(gtk+-[0-9]*.0/).*//1/p'' | xargs pkg-config --modversion
Para hacer la respuesta más general que Ubuntu (tengo Redhat):
gtk generalmente se instala bajo / usr, pero posiblemente en otras ubicaciones. Esto debería ser visible en las variables de entorno. Comprobar con
env | grep gtk
Luego intente encontrar dónde están almacenados sus archivos gtk. Por ejemplo, use locate
y grep.
locate gtk | grep /usr/lib
De esta manera, encontré /usr/lib64/gtk-2.0
, que contiene el subdirectorio 2.10.0
, que contiene muchos archivos de biblioteca .so. Mi conclusión es que tengo gtk + versión 2.10. Esto es bastante consistente con el comando rpm en Redhat: rpm -qa | grep gtk2
rpm -qa | grep gtk2
, entonces creo que mi conclusión es correcta.
También puede compilar el siguiente programa y ejecutarlo en su máquina.
#include <gtk/gtk.h>
#include <glib/gprintf.h>
int main(int argc, char *argv[])
{
/* Initialize GTK */
gtk_init (&argc, &argv);
g_printf("%d.%d.%d/n", gtk_major_version, gtk_minor_version, gtk_micro_version);
return(0);
}
compilar con (suponiendo que el archivo fuente anterior se llame version.c):
gcc version.c -o version `pkg-config --cflags --libs gtk+-2.0`
Cuando ejecutas esto obtendrás algunos resultados. En mi viejo dispositivo integrado recibo lo siguiente:
[root@n00E04B3730DF n2]# ./version
2.10.4
[root@n00E04B3730DF n2]#
También puede simplemente abrir synaptic y buscar libgtk, le mostrará exactamente qué lib está instalada.
Tratar,
apt-cache policy libgtk2.0-0 libgtk-3-0
o,
dpkg -l libgtk2.0-0 libgtk-3-0
Tratar:
dpkg-query -W libgtk-3-bin
obtener la versión GTK3:
dpkg -s libgtk-3-0|grep ''^Version''
o solo el número de versión
dpkg -s libgtk-3-0|grep ''^Version'' | cut -d'' '' -f2-
Esta sugerencia te dirá qué versión menor de 2.0 está instalada. Las diferentes versiones principales tendrán diferentes nombres de paquete porque pueden coexistir en el sistema (para admitir aplicaciones creadas con versiones anteriores).
Incluso para los archivos de desarrollo, que normalmente solo le permiten tener una versión en el sistema, puede tener una versión de gtk 1.x y una versión de gtk 2.0 en el mismo sistema (los archivos de inclusión se encuentran en los directorios llamados gtk-1.2 o gtk-2.0).
En resumen, no hay una respuesta simple para "qué versión de GTK está en el sistema". Pero...
Pruebe algo como:
dpkg -l libgtk* | grep -e ''^i'' | grep -e ''libgtk-*[0-9]''
para enumerar todos los paquetes libgtk, incluidos los de -dev, que están en su sistema. dpkg -l
enumerará todos los paquetes que dpkg conoce, incluso aquellos que no están instalados actualmente, así que he usado grep para enumerar solo los que están instalados (la línea comienza con i).
Alternativamente, y probablemente sea mejor si es la versión de los encabezados, etc. lo que le interesa, use pkg-config:
pkg-config --modversion gtk+
le dirá qué versión de los archivos de desarrollo de GTK 1.x están instalados, y
pkg-config --modversion gtk+-2.0
le dirá qué versión de GTK 2.0. La antigua versión 1.x también tiene su propio programa gtk-config que hace lo mismo. Del mismo modo, para GTK + 3:
pkg-config --modversion gtk+-3.0
$ dpkg -s libgtk2.0-0|grep ''^Version''