Comprobar dependencias

Herramientas y librerías de desarrollo
2 mensajes Página 1 de 1
viracocha
Miembro
Mensajes: 8
Registrado: Mar May 22, 2007 00:29
por viracocha » Vie Jun 08, 2007 13:26
Hola, aqui estoy de nuevo con un tema que parecerá tonto pero con el que no acabo de sentirme cómodo.

Todos los paquetes tienen sus dependencias, las cuales muy bien detallas en tus manuales, pero como hago para comprobar si las cumple mi sistema?. Con los ejecutables hago ejecutable --version y si me devuelve error se que no cumple esa dependencia. Pero con las librerias no acabo de tenerlo claro, debo mirar manualmente en todos los directorion lib, mirar a traves del sistema de paquetes de mi distribucion?. Hay algun sistema mas comodo?

Estoy intentando seguir el manual de qingy ya me ha llamado la atención lo de sustituir getty por algo mas visual.
Gracias y saludos. Blue_Light_PDT_01_19

 

manualinux
Administrador
Mensajes: 613
Registrado: Sab Mar 03, 2007 00:43
por manualinux » Vie Jun 08, 2007 18:54
Lo mejor es que mires el sistema de paquetes de tu distribución y busques todos los denominados devel, porque sino te vas a volver loco, por la sencilla razón de que, no existe un estandar de configuración para todas las librerías. Una gran mayoría usa el sistema del programa pkg-config que coloca unos archivos de configuración en /usr/lib/pkgconfig o en /usr/local/lib/pkgconfig o en la ruta que hayas elegido previamente. Estos archivos tienen una extensión .pc, un ejemplo con la librería pango:
pango.pc
Código: Seleccionar todo
prefix=/usr
exec_prefix=${prefix}
libdir=${exec_prefix}/lib
includedir=${prefix}/include

pango_module_version=1.6.0

Name: Pango
Description: Internationalized text handling
Version: 1.16.4
Requires: glib-2.0,gobject-2.0,gmodule-no-export-2.0
Libs: -L${libdir} -lpango-1.0
Cflags: -I${includedir}/pango-1.0


Bien si ejecutas el siguiente comando,
Código: Seleccionar todo
pkg-config --modversion pango

El programa pkg-config lee el archivo y te saca la información de la versión de la librería o programa,
Código: Seleccionar todo
[jose@localhost pkgconfig]$ pkg-config --modversion pango
1.16.4
[jose@localhost pkgconfig]$

Y esto te indica que tienes las devel de pango instaladas. Pero claro, tienes que saber antes el nombre del archivo, la ejecución del comando se hace siempre sin la extensión del archivo, .pc

Los programas o librerías que no usan pkg-config para la configuración de sus archivos devel, suelen llevar un script de configuración que siempre termina en -config, ejemplo con la librería libwmf,
Código: Seleccionar todo
[jose@localhost ~]$ libwmf-config --version
0.2.8
[jose@localhost ~]$

Otros llevan las dos opciones para aquellos programas que no usan pkg-config a la hora de configurar las dependencias del paquete a compilar, pero la norma general es que se use pkg-config.

Y otros no llevan ninguna de las dos y tienes que buscar en el directorio /usr/include (por ejemplo) los archivos de código fuente relacionados con el programa o librería concreto. El propio script de configuración te dirá lo que tienes y lo que no tienes así que conviene fijarse en su mensaje de salida o en su falta de finalización por carencia de una dependencia concreta, aunque muchos programas son traicioneros y el fallo se produce cuando lo estás compilando. Pero como te he dicho al principio, y teniendo en cuenta, que en estos momentos lo que tienes compilado es muy poco, el sistema de paquetes es la mejor solución, pero conviene saber cómo funciona la compilación y el de las dependencias es uno de los apartados fundamentales. Un buen conocimiento de la ubicación de los archivos es fundamental para un usuario que pretenda compilarse la mayoría de programas que vaya a usar.

Saludos
2 mensajes Página 1 de 1

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado