Provided by: dpkg-dev_1.19.0.5ubuntu2.4_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”
              Paquet   fournissant   des  informations  concernant  les  dépendances  envers  des
              bibliothèques partagées. Sauf indication contraire par le biais de --admindir,  ces
              fichiers sont par défaut dans /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  utilisera  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é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”
              Paquet  fournissant  des  informations  concernant  les  dépendances   envers   des
              bibliothèques  partagées. Sauf indication contraire par le biais de --admindir, ces
              fichiers sont par défaut dans /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
              Cette option inclut les bonnes dépendances envers les bibliothèques  partagées  que
              demande exécutable. Cette option peut être utilisée plusieurs fois.

       -lrépertoire
              Prepend 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 : Utilisez cette option plutôt que le réglage de  LD_LIBRARY_PATH,  parce  que
              cette  variable  d'environnement  est  utilisé  pour  contrôler  l'éditeur de liens
              d'exécution et  et  servir  d'elle  pour  définir  les  chemins  des  bibliothèques
              partagées  au  moment de la construction peut être problématique, par exemple, lors
              d'une compilation croisée.

       -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[nom-de-fichier]
              Print  substitution variable settings to standard output (or filename if specified,
              since dpkg 1.17.2), rather than being added  to  the  substitution  variables  file
              (debian/substvars by default).

       -ttype Prefer  shared library dependency information tagged for the given package type. If
              no tagged information is available, falls back to untagged information. The default
              package  type  is  deb. Shared library dependency information is tagged for a given
              type by prefixing it with the name of the type, a colon, and whitespace.

       -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     Enable verbose mode (since dpkg 1.14.8). Numerous messages are displayed to explain
              what dpkg-shlibdeps does.

       -xpackage
              Exclude  the  package  from the generated dependencies (since dpkg 1.14.8). This is
              useful  to  avoid  self-dependencies  for  packages  which  provide  ELF   binaries
              (executables  or  library  plugins)  using a library contained in the same package.
              This option can be used multiple times to exclude several packages.

       -Srépertoire-construction-paquet
              Look into package-build-dir first  when  trying  to  find  a  library  (since  dpkg
              1.14.15).  This  is  useful  when the source package builds multiple flavors of the
              same library and you want to ensure that you get the dependency from a given binary
              package.  You  can use this option multiple times: directories will be tried in the
              same order before directories of other binary packages.

       -Ipackage-build-dir
              Ignore package-build-dir when looking for shlibs, symbols, and shared library files
              (since dpkg 1.18.5). You can use this option multiple times.

       --ignore-missing-info
              Do  not  fail  if dependency information can't be found for a shared library (since
              dpkg 1.14.8). Usage of this option is discouraged,  all  libraries  should  provide
              dependency  information  (either with shlibs files, or with symbols files)  even if
              they are not yet used by other packages.

       --warnings=valeur
              value is a bit  field  defining  the  set  of  warnings  that  can  be  emitted  by
              dpkg-shlibdeps  (since  dpkg  1.14.17). Bit 0 (value=1) enables the warning “symbol
              sym used by binary found in none of the libraries”, bit  1  (value=2)  enables  the
              warning  “package could avoid a useless dependency” and bit 2 (value=4) enables the
              warning “binary should not be linked against library”. The default value is 3:  the
              first  two  warnings  are active by default, the last one is not. Set value to 7 if
              you want all warnings to be active.

       --admindir=dir
              Change the location of the dpkg database (since dpkg 1.14.0). The default  location
              is /var/lib/dpkg.

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

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

DIAGNOSTICS

   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
              -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 bilbiothè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).

       package could avoid a useless dependency if binaries were not linked against library (they
       use none of the library's symbols)
              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)
              The binary is linked to a library that it doesn't need. It's not a problem but some
              small performance improvements in binary load time can be obtained by  not  linking
              this  library  to  this  binary.  This  warning  checks the same information as the
              previous one but does it for each binary instead of doing the check globally on all
              binaries analyzed.

   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
       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 added by  the
              -l  option,  directories  listed in the LD_LIBRARY_PATH environment variable, cross
              multiarch   directories   (ex.   /lib/arm64-linux-gnu,   /usr/lib/arm64-linux-gnu),
              standard    public    directories   (/lib,   /usr/lib),   directories   listed   in
              /etc/ld.so.conf, and obsolete multilib  directories  (/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.

              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 avec -l. S'il est dans  un
              autre  paquet binaire en cours de construction, alors assurez-vous que les fichiers
              shlibs/symbols de ce paquet sont déjà  créés  et  que  -l  contient  le  répertoire
              approprié si c'est aussi un répertoire privé.

       aucune information de dépendance trouvée pour la bibliothèque (utilisée par le binaire).
              The  library  needed by binary has been found by dpkg-shlibdeps in library-file but
              dpkg-shlibdeps has been unable to find any dependency information for that library.
              To  find  out  the  dependency, it has tried to map the library to a Debian package
              with the help of dpkg -S library-file. Then it checked the corresponding shlibs and
              symbols  files  in  /var/lib/dpkg/info/,  and  in the various package's build trees
              (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.

              L'appel de dpkg-shlibdeps en mode bavard (-v) fournira beaucoup plus d'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).

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