Provided by:
dpkg-dev_1.15.8.4ubuntu3_all 
NOMBRE
dpkg-shlibdeps - Genera dependencias de bibliotecas compartidas de
sustitucin de variables
SINOPSIS
dpkg-shlibdeps [opciones] ejecutable|-eejecutable [opciones]
DESCRIPCIN
dpkg-shlibdeps calcula las dependencias de bibliotecas compartidas de
los ejecutables suministrados en sus argumentos. Las dependencias se
aaden al fichero de sustitucin de variables debian/substvars como
nombres de variable shlibs:campo-dependencia, donde campo-dependencia
es un nombre de campo de dependencia. Cualquier otra variable que
empiece con shlibs: se elimina del fichero.
dpkg-shlibdeps tiene dos posibles fuentes de informacin para generar la
informacin de dependencias. Estos son los ficheros symbols y shlibs.
Por cada binario que dpkg-shlibdeps analiza, busca la lista de
bibliotecas enlazadas con ste. Entonces, por cada biblioteca, busca el
fichero symbols o el fichero shlibs (en caso de que el primero no
exista, o si debian/shlibs.local contiene la dependencia relevante). Se
asume que el paquete de la biblioteca proporciona ambos ficheros, y por
ello debera estar disponible como /var/lib/dpkg/info/paquete.symbols o
/var/lib/dpkg/info/package.shlibs. El nombre del paquete se identifica
en dos pasos: bsqueda en el sistema del fichero de la biblioteca
(buscando en los mismos directorios que usara ld.so), y ejecucin de
dpkg -S library-file para conocer el paquete que proporciona la
biblioteca.
Ficheros de smbolos
Los ficheros de smbolos contienen una informacin ms precisa de las
dependencias, proporcionando la dependencia mnima de cada smbolo que la
biblioteca exporta. El script intenta encontrar un fichero de smbolos
asociado al paquete de la biblioteca en las siguientes ubicaciones (se
usa la primera coincidencia):
debian/*/DEBIAN/symbols
La informacin de biblioteca compartida generada por el proceso
de construccin actual, que tambin invoca dpkg-shlibdeps. Se
generan mediante dpkg-gensymbols(1). Slo se usan en caso de
encontrar la biblioteca en la rbol de construccin del paquete.
El fichero de smbolos de ese rbol de construccin tiene prioridad
sobre los ficheros de smbolos de otros paquetes binarios.
/etc/dpkg/symbols/paquete.symbols.arquitectura
/etc/dpkg/symbols/paquete.symbols
Informacin de redefinicin de bibliotecas compartidas por cada
sistema. arquitectura es la arquitectura del sistema actual
(obtenido mediante dpkg-architecture - qDEB_HOST_ARCH).
directorio-adminstracin/info/paquete.symbols
Informacin de dependencias de bibliotecas compartidas
proporcionadas por el paquete. A menos que se redefina,
directorio-administracin es /var/lib/dpkg.
dpkg-shlibdeps recuerda la versin mnima (ms grande) necesaria para cada
biblioteca al analizar los smbolos usados por todos los binarios. Al
finalizar el proceso, puede escribir la dependencia mnima para cada
biblioteca usada (siempre que la informacin de los ficheros symbols sea
precisa).
Como medida de precaucin, un fichero de smbolos puede proporcionar un
campo de meta informacin Build-Depends-Package para que dpkg-shlibdeps
extraiga la versin mnima requerida por el paquete correspondiente en el
campo Build-Depends, y usar tal versin si es mayor que la versin mnima
calculada en el anlisis de smbolos.
Ficheros shlibs
Los ficheros shlibs asocian de forma directa una librera con una
dependencia (sin analizar symbols). Por ello, es ms slido que
necesario, pero sencillo y seguro de manipular.
Las dependencias de una biblioteca se buscan en varias ubicaciones. Se
usar el primer fichero que proporcione informacin de la biblioteca
relevante.
debian/shlibs.local
Informacin acerca de redefinicin de dependencias de bibliotecas
compartidas especficas al paquete local.
/etc/dpkg/shlibs.override
Informacin acerca de redefinicin de dependencias de bibliotecas
compartidas para cada sistema.
debian/*/DEBIAN/shlibs
La informacin de bibliotecas compartidas generada por el proceso
de construccin actual, que dpkg-shlibdeps tambin invoca. Slo se
usa si la biblioteca se encuentra en el rbol de construccin del
paquete. El fichero shlibs en el rbol de construccin tiene
prioridad sobre otros ficheros shlibs de otros paquetes
binarios.
directorio-adminstracin/info/paquete.shlibs
Informacin de dependencias de bibliotecas compartidas
proporcionadas por el paquete. A menos que se redefina,
directorio-administracin es /var/lib/dpkg.
/etc/dpkg/shlibs.default
Informacin del sistema acerca de las dependencias predefinidas
de bibliotecas compartidas.
Tras ello, se usan las dependencias extradas directamente (a menos que
se hayan omitido debido que se les identifique como duplicados, o como
ms dbiles que otra dependencia).
OPCIONES
dpkg-shlibdeps interpreta cualquier argumento que no sea una opcin como
el nombre de un fichero ejecutable, igual que si se hubiesen
proporcionado con -eejecutable.
-eejecutable
Incluye dependencias apropiadas para las bibliotecas compartidas
requeridas por el ejecutable.
-dcampo-dependencias
Aade dependencias al campo campo-dependencias del fichero de
control. (Las dependencias para este campo se ubican en la
variable shlibs:campo-dependencias).
La opcin -dcampo-dependencias tiene efecto para todos los
ejecutables despus de dicha opcin, hasta el siguiente
-dcampo-dependencias. Por omisin el campo-dependencias es
Depends.
Si la misma dependencia (o un conjunto de alternativas) aparece
en ms de uno de los nombres de campo de dependencias
reconocidos: Pre-Depends, Depends, Recommends, Enhances o
Suggests, dpkg-shlibdeps eliminar automticamente la dependencia
de todos los campos, exceptuando aqul que contenga las
dependencias ms importantes.
-pprefijo-de-variable
Provoca que las variables de sustitucin empiecen por
prefijo-de-variable: en vez de shlibs:. Asimismo, cualquier
variable de sustitucin ya existente que empiece por
prefijo-de-variable: (en vez de shlibs:) se eliminar del fichero
de sustitucin de variables.
-O Muestra las propiedades de las variables de sustitucin por la
salida estndar, en lugar de aadirse al fichero de sustitucin de
variables (por omisin debian/substvars).
-ttipo Da prioridad a la informacin de dependencia de bibliotecas
compartidas etiquetada para el tipo de paquete dado. En caso de
no existir ninguna informacin etiquetada, usa informacin sin
etiquetar por omisin. El tipo de paquete predefinido es deb. La
informacin de dependencia de bibliotecas compartidas se etiqueta
para un tipo dado prefijando ste con el nombre del tipo, dos
puntos, y un espacio.
-Lfichero-shlibs-local
Provoca que dpkg-shlibs lea la informacin sobre dependencias con
bibliotecas compartidas desde fichero-shlibs-local en vez de
debian/shlibs.local.
-Tfichero-variables-sust
Escribe las variables de sustitucin en
fichero-sustitucin-variables; por omisin debian/substvars.
-v Activa el modo informativo. Se muestran numerosos mensajes que
explican las acciones de dpkg-shlindeps.
-xpaquete
Excluye el paquete de las dependencias generadas. Es til para
evitar auto-dependencias de paquetes que proporcionan binarios
ELF (ejecutables o extensiones de bibliotecas) y que usan una
biblioteca contenida en el mismo paquete. Esta opcin se puede
usar varias veces para excluir varios paquetes.
-Sdirectorio-compilacin-paquete
Analiza el directorio-compilacin-paquete primero al buscar una
biblioteca. Es til cuando el paquete fuente genera distintas
variantes de la misma biblioteca, y quiere asegurar que obtiene
la dependencia de un paquete binario dado. Puede usar esta opcin
varias veces: los directorios se analizan en el mismo orden
antes de analizar los directorios de otros paquetes binarios.
--ignore-missing-info
No devuelve un fallo en caso de no encontrar la informacin de
dependencia de una biblioteca compartida. No se recomienda usar
esta opcin ya que todas las bibliotecas deberan proporcionar
informacin de dependencia (mediante los ficheros shlibs, o
ficheros de smbolos), incluso cuando otros paquetes no los usan
actualmente.
--warnings=valor
valor es un campo de bit que define el conjunto de avisos que
dpkg-shlibdeps puede emitir. Bit 0 (valor=1) activa el aviso
symbol sym used by binary found in none of the libraries, el bit
1 (valor=2) activa el aviso dependency on library could be
avoided, y bit 2 (valor=4) activa el aviso binary shouldn't be
linked with library. El valor predefinido es 3: los dos primeros
avisos estn activados por omisin, no el ltimo. Defina el valor
con 7 si desea que todos los avisos estn activos.
--admindir=directorio
Cambia el directorio con la base de datos de dpkg. Por omisin es
/var/lib/dpkg.
-h, --help
Muestra el modo de uso y termina.
--version
Muestra la versin y termina.
ADVERTENCIAS
Debido a que dpkg-shlibdeps analiza el conjunto de smbolos usado por
cada binario del paquete generado, puede mostrar avisos en varias
situaciones. stos informan de aspectos mejorables del paquete. En la
mayora de los casos, conciernen directamente a las fuentes original. A
continuacin se muestran los varios mensajes de advertencia que pueden
aparecer, por orden de importancia decreciente.
symbol sym used by binary found in none of the libraries.
El smbolo indicado no se encontr en las bibliotecas enlazadas
con el binario. Posiblemente, binario es una biblioteca, y
necesita estar enlazado con una biblioteca adicional durante el
proceso de construccin (opcin -lbiblioteca del enlazador).
binary contains an unresolvable reference to symbol sym: it's probably
a plugin
El smbolo indicado no se ha encontrado en las bibliotecas
enlazadas con el binario. Probablemente, el binario es una
extensin, y cabe que el programa que carga tal extensin
proporciona el smbolo. Tericamente, una extensin no tiene ningn
SONAME, pero s este binario, y por ello no se le puede
identificar claramente como tal. An as, el hecho de que el
binario se guarda en un directorio no pblico es una indicacin de
que no es una biblioteca compartida normal. Si el binario es
realmente una extensin, no haga caso de este aviso. Siempre cabe
la posibilidad de que es una biblioteca real, y que los
programas que enlazan con el usan un RPATH para que el cargador
dinmico lo encuentre. En tal caso, la biblioteca est rota y
precisa un arreglo.
dependency on library could be avoided if binaries were not uselessly
linked against it (they use none of its symbols).
Ninguno de los binarios enlazados con la biblioteca usan smbolos
que proporciona la biblioteca. Al arreglar todos los binarios,
evitara la dependencia asociada a esta biblioteca (a menos que
la dependencia se genere tambin para otra biblioteca que s la
usa).
binary shouldn't be linked with library (it uses none of its symbols).
El binario est enlazado con una biblioteca que no necesita. No
es un problema, pero puede optimizar levemente el tiempo de
carga del binario si no enlaza tal binario a la biblioteca. Este
aviso revisa la misma informacin que el anterior, pero lo hace
para cada binario, en lugar de una revisin global de todos los
binarios.
FALLOS
dpkg-shlibdeps fallar si no puede encontrar ninguna biblioteca pblica
usada por un binario, o si no existe ninguna informacin de dependencia
asociada a esta biblioteca (el fichero shlibs, o el fichero symbols).
Una biblioteca pblica tiene un SONAME, el cual tiene informacin de
versin (biblioteca.so.x). Una biblioteca privada (como una extensin) no
debera tener un SONAME, y por ello no necesita informacin de versin.
couldn't find library library-soname needed by binary (its RPATH is
'rpath')
El binario usa una biblioteca llamada soname-biblioteca, pero
dpkg-shlibdeps ha sido incapaz de encontrar la biblioteca.
dpkg-shlibdeps crea una lista de directorios a revisar en el
siguiente orden: los directorios listados en el RPATH del
binario, los directorios listados en /etc/ld.so.conf, los
directorios listados en la variable de entorno LD_LIBRARY_PATH,
y los directorios pblicos estndar (/lib, /usr/lib, /lib32,
/usr/lib32, /lib64, /usr/lib64). Despus revisa esos directorios
en el rbol de construccin del paquete del binario analizado, en
los rboles de construccin del paquete indicados con la opcin de
lnea de rdenes -S, en otros rboles de construccin de paquete que
contienen el fichero DEBIAN/shlibs o DEBIAN/symbols, y por ltimo
en el directorio raz. Esto error aparece cuando la biblioteca no
se encuentra en ninguno de estos directorios.
Si la biblioteca que no se encontr est dentro de un directorio
privado del mismo paquete, querr aadir el directorio a
LD_LIBRARY_PATH. Si est en otro paquete binario en construccin,
querr asegurar que el fichero shlibs o symbols de este paquete
ya existe, y que LD_LIBRARY_PATH contiene el directorio
adecuado, en caso de ser un directorio privado.
no dependency information found for library-file (used by binary).
dpkg-shlibdeps encontr la biblioteca que binario necesita en
fichero-biblioteca, pero no ha sido capaz de encontrar ninguna
informacin de dependencia para esta biblioteca. Para encontrar
la dependencia, intent establecer una correlacin de la
biblioteca con el paquete Debian con la ayuda de dpkg -S
fichero-biblioteca. Despus revis los correspondientes ficheros
shlibs y symbols en /var/lib/dpkg/info/, y en los distintos
rboles de construccin del paquete (debian/*/DEBIAN/).
Este fallo puede estar causado por un fichero shlibs o symbols
incorrecto o ausente en el paquete de la biblioteca. Tambin cabe
que la biblioteca se construya dentro del mismo paquete fuente,
y que an no se haya creado el fichero shlibs (en cuyo caso
debera arreglar debian/rules para crear shlibs antes de invocar
dpkg-shlibdeps). Un incorrecto RPATH tambin puede llevar a
encontrar la biblioteca bajo un nombre no cannico (por ejemplo,
/usr/lib/openoffice.org/../lib/libssl.so.0.9.8 en lugar de
/usr/lib/libssl.so.0.9.8) que no est asociado a ningn paquete.
dpkg-shlibdeps intenta evitar esto usando un nombre cannico (con
realpath(3)), pero no siempre funciona. Siempre es mejor limpiar
el RPATH del binario para evitar problemas.
Invocar dpkg-shlibdeps en modo informativo (-v) ofrece mucha ms
informacin acerca de dnde busc la informacin de dependencia.
Puede ser til si no entiende porque muestra este fallo.
VASE TAMBIN
deb-shlibs(5), deb-symbols(5), dpkg-gensymbols(1).
AUTORES
Copyright (C) 1995-1996 Ian Jackson
Copyright (C) 2000 Wichert Akkerman
Copyright (C) 2006 Frank Lichtenheld
Copyright (C) 2007-2008 Raphael Hertzog
Esto es software libre; vea la versin 2 o posterior de la Licencia
Pblica General GNU para condiciones de copia. NO hay ninguna garanta.
TRADUCTOR
Rudy Godoy <rudy@kernel-panik.org>, Rubn Porras <nahoo@inicia.es>,
Bruno Barrera C. <bruno.barrera@igloo.cl>, Carlos Izquierdo
<gheesh@ertis.net>, Esteban Manchado y NOK. Debian L10n Spanish
<debian-l10n-spanish@lists.debian.org>.
Revisiones por Santiago Vila <sanvila@unex.es>, Javier
Fernndez-Sanguino, Rubn Porras, Luis Uribe y Omar Campagne.