Provided by: dpkg-dev_1.17.5ubuntu5.8_all bug

NOM

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

SYNOPSIS

       dpkg-shlibdeps [option...] [-e]exécutable [option...]

DESCRIPTION

       dpkg-shlibdeps calcule, pour les exécutables indiqués dans ses paramètres, les dépendances
       envers  les bibliothèques partagées. Ces dépendances sont ajoutées au fichier de variables
       de substitution 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-bibliothèque 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).

       Affichage de “dpkg-query --control-path paquet symbols”
              Package-provided  shared  library  dependency  information.  Unless  overridden  by
              --admindir, those files are located in /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).

       As   a   safe-guard   measure,   a   symbols  file  can  provide  a  Build-Depends-Package
       meta-information field and dpkg-shlibdeps will extract the minimal version required by the
       corresponding  package in the Build-Depends field and use this version if it's higher than
       the minimal version computed by scanning symbols.

   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ée  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.

       Affichage de “dpkg-query --control-path paquet shlibs”
              Package-provided  shared  library  dependency  information.  Unless  overridden  by
              --admindir, those files are located in /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é -eexécutable.

       -eexécutable
              Include dependencies appropriate for the shared libraries required  by  executable.
              This option can be used multiple times.

       -ldirectory
              Add  directory  to  the  list of directories to search for private shared libraries
              (since dpkg 1.17.0). This option can be used multiple times.

              Note: Use this option instead  of  setting  LD_LIBRARY_PATH,  as  that  environment
              variable  is  used  to control the run-time linker and abusing it to set the shared
              library paths at build-time can be problematic when cross-compiling for example.

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

              L'option -dchamp-dépendance concerne tous les  exécutables  qui  suivent  l'option,
              jusqu'à  la  prochaine option -dchamp-dépendance. Par défaut, champ-dépendance 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.

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

       -O[filename]
              Print substitution variable settings to standard output (or filename if specified),
              rather than being added to the substitution  variables  file  (debian/substvars  by
              default).

       -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.

       -Srépertoire-construction-paquet
              Recherche  dans  répertoire-construction-paquet 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 « le paquet pourrait éviter une dépendance
              inutile ». Le bit 2 (valeur = 4) active l'avertissement « Le binaire ne devrait pas
              être lié à bibliothèque ». 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.

       -?, --help
              Affiche un message d'aide puis quitte.

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

DIAGNOSTICS

   Warnings
       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
              -lbibliothèque de l'éditeur de liens).

       binary  contient  une  référence  non  résolue au symbole sym: il s'agit probablement d'un
       greffon (plugin)
              Le symbole indiqué n'a pas été trouvé dans les bilbiohtèques liées avec le  fichier
              binaire.  Le  binaire  est  très probablement un greffon (plugin) et le symbole est
              probablement fourni par le programme qui charge ce greffon. En théorie, 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.

       paquet pourrait éviter  une  dépendance  inutile  si  le  binaire  n'était  pas  lié  avec
       bibliothèque (il ne fait usage d'aucun de ses symboles)
              Aucun  des binaires liés à la bibliothèque 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).

       paquet pourrait éviter une dépendance inutile si les  binaires  n'étaient  pas  liés  avec
       bibliothèque (ils ne font usage d'aucun de ses symboles)
              Identique à l'avertissement précédent, pour des binaires multiples.

       le  binaire  ne devrait pas être lié avec la bibliothèque (il ne fait usage d'aucun 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.

   Errors
       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
       est 'rpath')
              The binary uses a library called library-soname but dpkg-shlibdeps has been  unable
              to  find  the  library.  dpkg-shlibdeps  creates  a list of directories to check as
              following: directories listed in the RPATH of the  binary,  directories  listed  in
              /etc/ld.so.conf,  directories  added  by  the  -l option, directories listed in the
              LD_LIBRARY_PATH  environment  variable,  and  standard  public  directories  (/lib,
              /usr/lib, /lib32, /usr/lib32, /lib64, /usr/lib64). Then it checks those directories
              in the package's build tree of the binary being analyzed, in  the  packages'  build
              trees  indicated  with  the  -S command-line option, in other packages' build trees
              that contains a DEBIAN/shlibs or  DEBIAN/symbols  file  and  finally  in  the  root
              directory.  If  the  library is not found in any of those directories, then you get
              this error.

              If the library not found is in a private directory of the same  package,  then  you
              want  to  add the directory with -l. If it's in another binary package being built,
              you want to make sure that the shlibs/symbols  file  of  this  package  is  already
              created  and  that -l contains the appropriate directory if it also is in a private
              directory.

       aucune information de dépendance trouvée pour la bibliothèque (utilisée par le binaire).
              La bibliothèque nécessaire  au  binaire  a  été  trouvée  par  dpkg-shlibdeps  dans
              fichier-bibliothèque   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-bibliothèque. 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/openoffice.org/../lib/libssl.so.0.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.

              Calling dpkg-shlibdeps in verbose mode (-v)  will  provide  much  more  information
              about  where  it  tried to find the dependency information. This might be useful if
              you don't understand why it's giving you this error.

VOIR AUSSI

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

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>.