Provided by: dpkg-dev_1.15.5.6ubuntu4_all bug

NOM

       dpkg-shlibdeps - générateur de variables de substitution de dépendances
       pour bibliothèques partagées

SYNOPSIS

       dpkg-shlibdeps [options] excutable|-eexcutable [options]

DESCRIPTION

       dpkg-shlibdeps calcule, pour les exécutables nommés dans ses arguments,
       les  dépendances  envers  les  bibliothèques partagées. Ces dépendances
       sont   ajoutées   au   fichier   debian/substvars   sous    la    forme
       shlibs:dependencyfielddependencyfield  est  le  nom  du  champ de
       «dépendance\ ». Toute autre variable après  shlibs:  est  supprimée  du
       fichier.

       dpkg-shlibdeps  a  deux  sources possibles pour crééer les informations
       concernant  les  dépendances.  Soit  les  fichiers  symbols,  soit  les
       fichiers   shlibs.   Pour   chaque   fichier   binaire  qu’il  analyse,
       dpkg-shlibdeps recherche la liste des bibliothèques partagées  qui  lui
       sont  liées.  Puis,  pour  chacune  d’elles  il analyse soit le fichier
       symbols, soit le fichier shlibs (si  le  premier  n’existe  pas  ou  si
       debian/shlibs.local  contient  les  dépendances  appropriées). Ces deux
       fichiers sont sensés être fournis par le paquet de la  bibliothèque  et
       disponibles       dans       /var/lib/dpkg/info/paquet.symbols       ou
       /var/lib/dpkg/info/paquet.shlibs. Le nom du paquet est trouvé  en  deux
       étapes\  : en cherchant les fichiers de la bibliothèque sur le système,
       dans le répertoire que ld.so utiliserait, puis  un  utilisant  dpkg  -S
       fichier-bibliothque   pour   trouver   le  paquet  qui  fournit  cette
       bibliothèque.

   Fichiers symboles
       Les fichiers symboles contiennent des informations de dépendances  plus
       fines  en  fournissant les dépendances minimales pour chaque symbole de
       la bibliothèque exportée. Le script essaie de  trouver  un  fichier  de
       symboles  associé  à  un  paquet  de bibliothèque dans les emplacements
       suivants (le premier trouvé est utilisé)\ :

       debian/*/DEBIAN/symbols
              L’information des bibliothèques partagées générée  par  l’actuel
              processus  de  construction  qui  invoque  aussi dpkg-shlibdeps.
              Elles sont générées par dpkg-gensymbols(1) et ne sont  utilisées
              que  si  la  bibliothèque se trouve dans l’arbre de construction
              d’un paquet. Le  fichier  des  symboles  qui  construit  l’arbre
              s’appuie sur les fichiers de symboles d’autres paquets binaires.

       /etc/dpkg/symbols/paquet.symbols.architecture

       /etc/dpkg/symbols/paquet.symbols
              L’information de dépendance des bibliothèques partagées associée
              aux  systèmes. arch est l’architecture du système actuel (obtenu
              par dpkg-architecture -qDEB_HOST_ARCH).

       admindir/info/paquet.symbols
              Paquet fournissant des informations concernant  les  dépendances
              envers  des  bibliothèques partagées. Sauf indication contraire,
              admindir est par défaut « /var/lib/dpkg\ ».

       Lors  de  l’analyse  des  symboles  utilisés  par  tous  les  binaires,
       dpkg-shlibdeps  retient  la  (plus  grande) version minimale nécessaire
       pour chaque bibliothèque.  À  la  fin  du  processus,  il  est  capable
       d’écrire la dépendance minimale pour toutes les bibliothèques utilisées
       (à condition que l’information des fichiers symbols soit exacte).

       Comme  garde-fou,  un  fichier  de  symboles  peut  fournir  un   champ
       Build-Depends-Package de méta-information et dpkg-shlibdeps en extraira
       la version minimale requise par le paquet correspondant depuis ce champ
       Build-Depends  et  utiliser  cette  version si elle est supérieure à la
       version minimale calculée par l’examen des symboles.

   Fichiers Shlibs
       Les fichiers  Shlibs  associent  directement  une  bibliothèque  à  une
       dépendance  (sans  regarder  les  symboles).  Il agit donc souvent plus
       fortement que ce dont on aurait besoin mais il reste très sûr et facile
       à manipuler.

       Les   dépendances  d’une  bibliothèque  sont  recherchées  à  plusieurs
       endroits. Le premier fichier  d’informations  trouvé  qui  concerne  la
       bibliothèque est utilisé\ :

       debian/shlibs.local
              Fichier  particulier à un paquet remplaçant les informations qui
              concernent les dépendances envers des bibliothèques partagées.

       /etc/dpkg/shlibs.override
              Fichier système remplaçant les informations qui  concernent  les
              dépendances envers des bibliothèques partagées.

       debian/*/DEBIAN/shlibs
              Information sur la bibliothèque partagée généré par le processus
              actuel de construction  qui  invoque  aussi  dpkg-shlibdeps.  Il
              n’est  utilisé  que si la bibliothèque se trouve dans l’arbre de
              construction du paquet. Le fichier shlibs qui construit  l’arbre
              a  priorité sur les fichiers shlibs des autres paquets binaires.

       admindir/info/paquet.shlibs
              Paquet fournissant des informations concernant  les  dépendances
              envers  des  bibliothèques partagées. Sauf indication contraire,
              admindir est par défaut « /var/lib/dpkg\ ».

       /etc/dpkg/shlibs.default
              Fichier  système  par  défaut  concernant  les  informations  de
              dépendance envers des bibliothèques partagées.

       Les  dépendances  trouvées  sont ensuite directement utilisées (sauf si
       elles sont filtrées parce qu’elles ont été identifiées comme  étant  en
       double, ou d’un niveau plus faible qu’une autre dépendance).

OPTIONS

       dpkg-shlibdeps interprète des arguments sans option comme des commandes
       exécutables, comme si on avait simplement donné -eexcutable.

       -eexcutable
              Cette  option  inclut  les   bonnes   dépendances   envers   les
              bibliothèques partagées que demande excutable.

       -dchamp-dpendance
              Cette  option  ajoute  les  dépendances  destinées  au  champ «\
              dépendance\ » du  fichier  de  contrôle  champ-dpendance.  (Les
              dépendances    pour    ce    champ   sont   dans   la   variable
              shlibs:champ-dpendance.)

              L’option -dchamp-dpendance concerne tous  les  exécutables  qui
              suivent     l’option,     jusqu’à     la     prochaine    option
              -dchamp-dpendance. Par défaut, champ-dpendance vaut Depends.

              Quand,  dans  plusieurs  champs   reconnus   ayant   trait   aux
              dépendances  comme  les champs Pre-Depends, Depends, Recommends,
              Enhances ou  Suggests  apparaît  la  même  entrée  (ou  bien  un
              ensemble      d’alternatives),      dpkg-shlibdeps      supprime
              automatiquement les dépendances dans tous les champs sauf  celui
              qui représente les dépendances les plus importantes.

       -pprfixe-pour-le-nom-des-variables
              Fait    commencer    les    variables    de   substitution   par
              prfixe-pour-le-nom-des-variables: au lieu de shlibs:. De  même,
              toute     variable     de     substitution     commençant    par
              prfixe-pour-le-nom-des-variables:  (au  lieu  de  shlibs:)  est
              enlevée du fichier de substitution des variables.

       -O     Affiche  les  définitions  des  variables de substitution sur la
              sortie standard, plutôt que de les ajouter dans  le  fichier  de
              substitution  des variables qui est par défaut debian/substvars.

       -ttype Préférer les informations sur les dépendances des  bibliothèques
              partagées  qui  sont étiquetées pour un type de paquet donné. Si
              aucune information de type  n’est  donnée,  il  n’utilisera  pas
              d’information.  Par  défaut, le type de paquet est «\ deb\ ». On
              peut créer une étiquette pour ces informations en les  préfixant
              par le nom du type, un deux-points et une espace.

       -Lfichier-local-shlibs
              Lire les informations de remplacement concernant les dépendances
              envers les bibliothèques partagées dans fichier-local-shlibs  au
              lieu de debian/shlibs.local.

       -Tfichier/substvars
              Écrire  les  variables de substitution dans fichier/substvars\ ;
              le fichier par défaut est debian/substvars.

       -v     Active le mode verbeux. De nombreux messages sont affichés  pour
              expliquer ce que dpkg-shlibdeps fait.

       -xpackage
              Exclut  le  paquet  des  dépendances  générées.  Cela  évite les
              auto-dépendances pour les paquets  fournissant  des  exécutables
              ELF (exécutables ou modules complémentaires de bibliothèque) qui
              utilisent une bibliothèque incluse dans ce  même  paquet.  Cette
              option  peut être utilisée plusieurs fois pour exclure plusieurs
              paquets.

       -Spkgbuilddir
              Recherche dans pkgbuilddir en premier et essaie de  trouver  une
              bibliothèque.  C’est  utile  lorsque  le paquet source construit
              plusieurs saveurs de la même bibliothèque  et  que  vous  voulez
              vous  assurer  que  vous  obtiendrez  la  dépendance d’un paquet
              binaire donné. Cette option peut être utilisée plusieurs fois\ :
              les  répertoires  seront  examinés  dans le même ordre avant les
              répertoires d’autres paquets binaires.

       --ignore-missing-info
              Pas d’échec si l’information de  dépendance  ne  peut  pas  être
              trouvée  pour  une bibliothèque partagée. L’utilisation de cette
              option est  déconseillée,  toutes  les  bibliothèques  devraient
              fournir  leurs  informations de dépendance (que ce soit avec les
              fichiers shlibs, ou avec les fichiers symboles), même  si  elles
              ne sont pas encore utilisées par d’autres paquets.

       --warnings=valeur
              valeur  est  un  champ  de  « bit\  » définissant l’ensemble des
              avertissements qui peuvent être émis par dpkg-shlibdeps. Le  bit
              0  (valeur = 1) active l’avertissement « symbole sym utilisé par
              le binaire trouvé dans aucune des bibliothèques\  ».  Le  bit  1
              (valeur  =  2)  active  l’avertissement  « la  dépendance  à  la
              bibliothque pourrait être évitée\ ». Le  bit  2  (valeur  =  4)
              active l’avertissement « Le binaire ne devrait pas être lié à la
              bibliothque\ ».  La  valeur  par  défaut  est  3\  :  les  deux
              premières mises en garde sont actives par défaut, la dernière ne
              l’est pas. Positionnez la valeur à 7 si vous souhaitez que  tous
              les avertissements soient actifs.

       --admindir=dir
              Change  l’endroit  où  se trouve la base de données de dpkg. Par
              défaut, c’est /var/lib/dpkg.

       -h, --help
              Affiche un message d’aide puis quitte.

       --version
              Affiche le numéro de version puis quitte.

AVERTISSEMENTS

       Depuis que dpkg-shlibdeps analyse l’ensemble des symboles utilisés  par
       chaque  binaire  généré  par  le paquet, il est en mesure d’émettre des
       avertissements dans plusieurs cas. Ils vous informent  des  choses  qui
       peuvent  être  améliorées  dans le paquet. Dans la plupart des cas, ces
       améliorations concernent directement les sources  amont.  Dans  l’ordre
       d’importance  décroissant, voici les différents avertissements que vous
       pouvez rencontrer\ :

       symbole sym utilisé par binaire trouvé dans aucune des bibliothèques.
              Le symbole indiqué n’a pas été  trouvé  dans  les  bibliothèques
              liées  au  binaire.  Le  binaire  est  probablement  plutôt  une
              bibliothèque et  elle  doit  être  liée  avec  une  bibliothèque
              supplémentaire  durant  le  processus  de construction (l’option
              -lbibliothque de l’éditeur de liens).

       binary contient une référence non résolue au  symbole  sym:  il  sagit
       probablement dun greffon (plugin)
              Le symbole indiqué n’a pas été  trouvé  dans  les  bilbiohtèques
              liées  avec  le fichier binaire. Le binaire es très probablement
              un greffon (plugin) et le symbole est probablement fourni par le
              programme  qui  charge ce greffon. En théori, un greffon n’a pas
              de «\ SONAME\ » mais ce binaire en possède un et n’a pas pu être
              identifié  en  tant  que  tel. Cependant, le fait que le binaire
              soit stocké dans un répertoire non  public  est  une  indication
              forte  qu’il  ne s’agit pas d’une bibliothèque partagée normale.
              Si le binaire est vraiment un greffon, vous pouvez  ignorer  cet
              avertissement.   Il   existe  cependant  une  possibilité  qu’il
              s’agisse d’un vrai binaire et que les programmes avec lequel  il
              est  lié  utilisent  un  RPATH afin que le chargeur dynamique le
              trouve. Dans ce cas, la bibliothèque est incorrecte et doit être
              corrigée.

       la  dépendance sur la bibliothque pourrait être évitée si les binaires
       inutiles nétaient pas liés à celle-ci (ils nutilisent  aucun  de  ses
       symboles).
              Aucun  des  binaires liés à la bibliothque utilise les symboles
              qu’elle fournit. En corrigeant tous les binaires, vous éviteriez
              la dépendance associée à cette bibliothèque (à moins que la même
              dépendance soit également liée à une autre bibliothèque qui  est
              elle réellement utilisée).

       le  binaire  ne  devrait  pas être lié avec la bibliothque (il ne fait
       usage daucun de ses symboles).
              Le binaire est lié à une bibliothèque dont il n’a pas besoin. Ce
              n’est  pas  un  problème  mais  de  petites   améliorations   de
              performance dans le temps de chargement de celui-ci peuvent être
              obtenues  en  ne  le  liant  pas  à  cette   bibliothèque.   Cet
              avertissement vérifie la même information que la précédente mais
              elle le fait pour tous les binaires  au  lieu  de  ne  faire  le
              contrôle qu’au niveau global sur tous les binaires analysés.

ERREURS

       dpkg-shlibdeps  échouera  s’il  ne  peut  pas  trouver  de bibliothèque
       publique utilisée par un binaire  ou  si  cette  bibliothèque  n’a  pas
       d’informations  sur les dépendances associées (soit les fichier shlibs,
       soit le fichier des symboles). Une bibliothèque publique a un SONAME et
       un  numéro  de  version  (libsomething.so.X).  Une  bibliothèque privée
       (comme un module additionnel) ne devrait pas avoir de SONAME et n’a pas
       besoin d’avoir de version.

       impossible  de  trouver  la bibliothèque library-soname demandée par le
       binaire (son RPATH estrpath)
              Le  binaire utilise une bibliothèque appelée library-soname mais
              dpkg-shlibdeps  n’a  pas  été  en  mesure   de   trouver   cette
              bibliothèque.  dpkg-shlibdeps  crée  une  liste de répertoires à
              vérifier de la manière suivante\ : les répertoires énumérés dans
              le    RPATH    du   binaire,   les   répertoires   listés   dans
              /etc/ld.so.conf,  les  répertoires  listés  dans   la   variable
              d’environnement  LD_LIBRARY_PATH,  et  les  répertoires  publics
              standard   (/lib,   /usr/lib,   /lib32,   /usr/lib32,    /lib64,
              /usr/lib64).  Ensuite,  il vérifie les répertoires qui sont dans
              l’arbre de construction du paquet binaire  en  cours  d’analyse,
              dans l’arbre de construction du paquets indiqué avec l’option de
              ligne de commande -S, dans les  autres  arbres  de  paquets  qui
              contiennent  des  fichiers DEBIAN/shlibs ou un DEBIAN/symbols et
              enfin dans le répertoire racine. Si la  bibliothèque  n’est  pas
              trouvée  dans l’un de ces répertoires, alors ce message d’erreur
              est obtenu.

              Si la bibliothèque non trouvée est cependant disponible dans  le
              répertoire  privé  de ce même paquet, alors il vous faut ajouter
              ce répertoire dans  LD_LIBRARY_PATH.  S’il  est  dans  un  autre
              paquet  binaire en cours de construction, alors assurez-vous que
              le fichier shlibs/symbols de ce paquet  est  déjà  créé  et  que
              LD_LIBRARY_PATH  contient le répertoire approprié si c’est aussi
              un répertoire privé.

       aucune information de dépendance trouvé pour la bibliothque  (utilisée
       par le binaire).
              La  bibliothèque  nécessaire  au  binaire  a  été  trouvée   par
              dpkg-shlibdeps dans fichier-bibliothque mais dpkg-shlibdeps n’a
              pas été en mesure de trouver d’informations de  dépendance  pour
              cette  bibliothèque.  Pour trouver la dépendance, il a essayé de
              lier la bibliothèque à un paquet Debian avec l’aide de  dpkg  -S
              fichier-bibliothque.    Puis,   il   a   vérifié   les   shlibs
              correspondants et les fichiers symboles  de  /var/lib/dpkg/info/
              et   enfin   les   différents   arbres  des  paquets  construits
              (debian/*/DEBIAN/).

              Cet échec peut être  causé  par  un  shlibs  ou  un  fichier  de
              symboles  qui  serait  mauvais  ou  manquant dans le paquet. Une
              autre cause serait que la bibliothèque soit construite  au  sein
              du  même  paquet  source  et que les fichiers shlibs n’aient pas
              encore été créés (dans ce cas  debian/rules  doit  être  modifié
              pour  créer  le  shlibs  avant  l’appel  de  dpkg-shlibdeps). Un
              mauvais RPATH peut aussi conduire à ce que la bibliothèque  soit
              trouvée      sous      un      nom     non-canonique     (comme:
              /usr/lib/gcc/i486-linux-gnu/4.2.3/../../../../lib/libssl.so.9.8
              au  lieu  de /usr/lib/libssl.so.0.9.8) qui n’est associé à aucun
              paquet,  dpkg-shlibdeps  essaie  de  travailler   sur   ce   nom
              non-canonique   (en   utilisant   realpath(3)),   mais  cela  ne
              fonctionne pas toujours. Il  est  toujours  préférable  de  bien
              nettoyer le RPATH du binaire afin d’éviter ces problèmes.

              L’appel de dpkg-shlibdeps en mode verbeux (-v) fournira beaucoup
              plus informations sur  l’endroit  où  il  a  essayé  de  trouver
              l’information  sur les dépendances. Ceci peut être utile si vous
              ne comprenez pas pourquoi vous obtenez cette erreur.

VOIR AUSSI

       deb-shlibs(5), deb-symbols(5), dpkg-gensymbols(1).

AUTEURS

       Copyright © 1995-1996 Ian Jackson
       Copyright © 2000 Wichert Akkerman
       Copyright © 2006 Frank Lichtenheld
       Copyright © 2007-2008 Raphaël Hertzog

       Ce programme est un logiciel libre\ ; voyez  la  « GNU  General  Public
       Licence\  »  version 2 ou supérieure pour le copyright. Il n’y a PAS de
       garantie.

TRADUCTION

       Ariel VARDI <ariel.vardi@freesbee.fr>, 2002.  Philippe Batailler, 2006.
       Nicolas   François,   2006.    Veuillez   signaler   toute   erreur   à
       <debian-l10n-french@lists.debian.org>.