.\" dpkg manual page - dpkg-deb(1) .\" .\" Copyright © 1995-1996 Ian Jackson .\" Copyright © 2000 Wichert Akkerman .\" Copyright © 2006 Frank Lichtenheld .\" Copyright © 2007-2011 Rapha\(:el Hertzog .\" Copyright © 2011-2013, 2015 Guillem Jover .\" .\" This is free software; you can redistribute it and/or modify .\" it under the terms of the GNU General Public License as published by .\" the Free Software Foundation; either version 2 of the License, or .\" (at your option) any later version. .\" .\" This is distributed in the hope that it will be useful, .\" but WITHOUT ANY WARRANTY; without even the implied warranty of .\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the .\" GNU General Public License for more details. .\" .\" You should have received a copy of the GNU General Public License .\" along with this program. If not, see . . .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH dpkg\-shlibdeps 1 2018-06-26 1.18.25 "suite dpkg" .nh .SH NOM dpkg\-shlibdeps \- g\('en\('erateur de variables de substitution de d\('ependances pour biblioth\(`eques partag\('ees . .SH SYNOPSIS \fBdpkg\-shlibdeps\fP [\fIoption\fP...] [\fB\-e\fP]\fIex\('ecutable\fP [\fIoption\fP...] . .SH DESCRIPTION \fBdpkg\-shlibdeps\fP calcule, pour les ex\('ecutables indiqu\('es dans ses param\(`etres, les d\('ependances envers les biblioth\(`eques partag\('ees. Ces d\('ependances sont ajout\('ees au fichier de variables de substitution \fBdebian/substvars\fP sous la forme \fBshlibs:\fP\fIdependencyfield\fP o\(`u \fIdependencyfield\fP est le nom du champ de d\('ependance. Toute autre variable apr\(`es \fIshlibs:\fP est supprim\('ee du fichier. .P \fBdpkg\-shlibdeps\fP a deux sources possibles pour cr\('eer les informations concernant les d\('ependances. Soit les fichiers \fIsymbols\fP, soit les fichiers \fIshlibs\fP. Pour chaque fichier binaire qu'il analyse, \fBdpkg\-shlibdeps\fP recherche la liste des biblioth\(`eques partag\('ees qui lui sont li\('ees. Puis, pour chacune d'elles il analyse soit le fichier \fIsymbols\fP, soit le fichier \fIshlibs\fP (si le premier n'existe pas ou si debian/shlibs.local contient les d\('ependances appropri\('ees). Ces deux fichiers sont sens\('es \(^etre fournis par le paquet de la biblioth\(`eque et disponibles dans /var/lib/dpkg/info/\fIpaquet\fP.\fIsymbols\fP ou /var/lib/dpkg/info/\fIpaquet\fP.\fIshlibs\fP. Le nom du paquet est trouv\('e en deux \('etapes\ : en cherchant les fichiers de la biblioth\(`eque sur le syst\(`eme, dans le r\('epertoire que \fBld.so\fP utiliserait, puis un utilisant \fBdpkg \-S \fP\fIfichier\-biblioth\(`eque\fP pour trouver le paquet qui fournit cette biblioth\(`eque. .SS "Fichiers symboles" Les fichiers symboles contiennent des informations de d\('ependances plus fines en fournissant les d\('ependances minimales pour chaque symbole de la biblioth\(`eque export\('ee. Le script essaie de trouver un fichier de symboles associ\('e \(`a un paquet de biblioth\(`eque dans les emplacements suivants (le premier trouv\('e est utilis\('e)\ : .IP debian/*/DEBIAN/symbols L'information des biblioth\(`eques partag\('ees g\('en\('er\('ee par l'actuel processus de construction qui invoque aussi \fBdpkg\-shlibdeps\fP. Elles sont g\('en\('er\('ees par \fBdpkg\-gensymbols\fP(1) et ne sont utilis\('ees que si la biblioth\(`eque 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. .IP /etc/dpkg/symbols/\fIpaquet\fP.symbols.\fIarchitecture\fP .IP /etc/dpkg/symbols/\fIpaquet\fP.symbols L'information de d\('ependance des biblioth\(`eques partag\('ees associ\('ee aux syst\(`emes. \fIarch\fP est l'architecture du syst\(`eme actuel (obtenu par \fBdpkg\-architecture \-qDEB_HOST_ARCH\fP). .IP "Affichage de \(lq\fBdpkg\-query \-\-control\-path\fP \fIpaquet\fP symbols\(rq" Paquet fournissant des informations concernant les d\('ependances envers des biblioth\(`eques partag\('ees. Sauf indication contraire par le biais de \fB\-\-admindir\fP, ces fichiers sont par d\('efaut dans /var/lib/dpkg. .P Lors de l'analyse des symboles utilis\('es par tous les binaires, \fBdpkg\-shlibdeps\fP retient la (plus grande) version minimale n\('ecessaire pour chaque biblioth\(`eque. \(`A la fin du processus, il est capable d'\('ecrire la d\('ependance minimale pour toutes les biblioth\(`eques utilis\('ees (\(`a condition que l'information des fichiers \fIsymbols\fP soit exacte). .P Comme garde\-fou, un fichier de symboles peut fournir un champ \fBBuild\-Depends\-Package\fP de m\('eta\-information et \fBdpkg\-shlibdeps\fP en extraira la version minimale requise par le paquet correspondant depuis ce champ \fBBuild\-Depends\fP et utilisera cette version si elle est sup\('erieure \(`a la version minimale calcul\('ee par l'examen des symboles. .SS "Fichiers Shlibs" Les fichiers Shlibs associent directement une biblioth\(`eque \(`a une d\('ependance (sans regarder les symboles). Il agit donc souvent plus fortement que ce dont on aurait besoin mais il reste tr\(`es s\(^ur et facile \(`a manipuler. .P Les d\('ependances d'une biblioth\(`eque sont recherch\('ees \(`a plusieurs endroits. Le premier fichier d'informations trouv\('e qui concerne la biblioth\(`eque est utilis\('e\ : .IP debian/shlibs.local Fichier particulier \(`a un paquet rempla\(,cant les informations qui concernent les d\('ependances envers des biblioth\(`eques partag\('ees. .IP /etc/dpkg/shlibs.override Fichier syst\(`eme rempla\(,cant les informations qui concernent les d\('ependances envers des biblioth\(`eques partag\('ees. .IP debian/*/DEBIAN/shlibs Information sur la biblioth\(`eque partag\('ee g\('en\('er\('ee par le processus actuel de construction qui invoque aussi \fBdpkg\-shlibdeps\fP. Il n'est utilis\('e que si la biblioth\(`eque se trouve dans l'arbre de construction du paquet. Le fichier shlibs qui construit l'arbre a priorit\('e sur les fichiers shlibs des autres paquets binaires. .IP "Affichage de \(lq\fBdpkg\-query \-\-control\-path\fP \fIpaquet\fP shlibs\(rq" Paquet fournissant des informations concernant les d\('ependances envers des biblioth\(`eques partag\('ees. Sauf indication contraire par le biais de \fB\-\-admindir\fP, ces fichiers sont par d\('efaut dans /var/lib/dpkg. .IP /etc/dpkg/shlibs.default Fichier syst\(`eme par d\('efaut concernant les informations de d\('ependance envers des biblioth\(`eques partag\('ees. .P Les d\('ependances trouv\('ees sont ensuite directement utilis\('ees (sauf si elles sont filtr\('ees parce qu'elles ont \('et\('e identifi\('ees comme \('etant en double, ou d'un niveau plus faible qu'une autre d\('ependance). .SH OPTIONS \fBdpkg\-shlibdeps\fP interpr\(`ete des arguments sans option comme des commandes ex\('ecutables, comme si on avait simplement donn\('e \fB\-e\fP\fIex\('ecutable\fP. .TP \fB\-e\fP\fIex\('ecutable\fP Cette option inclut les bonnes d\('ependances envers les biblioth\(`eques partag\('ees que demande \fIex\('ecutable\fP. Cette option peut \(^etre utilis\('ee plusieurs fois. .TP \fB\-l\fP\fIr\('epertoire\fP Prepend \fIdirectory\fP 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\(^ot que le r\('eglage de \fBLD_LIBRARY_PATH\fP, parce que cette variable d'environnement est utilis\('e pour contr\(^oler l'\('editeur de liens d'ex\('ecution et et servir d'elle pour d\('efinir les chemins des biblioth\(`eques partag\('ees au moment de la construction peut \(^etre probl\('ematique, par exemple, lors d'une compilation crois\('ee. .TP \fB\-d\fP\fIchamp\-d\('ependance\fP Cette option ajoute les d\('ependances destin\('ees au champ \(Fo\ d\('ependance\ \(Fc du fichier de contr\(^ole \fIchamp\-d\('ependance.\fP (Les d\('ependances pour ce champ sont dans la variable \fBshlibs:\fP\fIchamp\-d\('ependance\fP.) L'option \fB\-d\fP\fIchamp\-d\('ependance\fP concerne tous les ex\('ecutables qui suivent l'option, jusqu'\(`a la prochaine option \fB\-d\fP\fIchamp\-d\('ependance\fP. Par d\('efaut, \fIchamp\-d\('ependance\fP vaut \fBDepends\fP. Quand, dans plusieurs champs reconnus ayant trait aux d\('ependances comme les champs \fBPre\-Depends\fP, \fBDepends\fP, \fBRecommends\fP, \fBEnhances\fP ou \fBSuggests\fP appara\(^it la m\(^eme entr\('ee (ou bien un ensemble d'alternatives), \fBdpkg\-shlibdeps\fP supprime automatiquement les d\('ependances dans tous les champs sauf celui qui repr\('esente les d\('ependances les plus importantes. .TP \fB\-p\fP\fIpr\('efixe\-pour\-le\-nom\-des\-variables\fP Fait commencer les variables de substitution par \fIpr\('efixe\-pour\-le\-nom\-des\-variables\fP\fB:\fP au lieu de \fBshlibs:\fP. De m\(^eme, toute variable de substitution commen\(,cant par \fIpr\('efixe\-pour\-le\-nom\-des\-variables\fP\fB:\fP (au lieu de \fBshlibs:\fP) est enlev\('ee du fichier de substitution des variables. .TP \fB\-O\fP[\fInom\-de\-fichier\fP] Print substitution variable settings to standard output (or \fIfilename\fP if specified, since dpkg 1.17.2), rather than being added to the substitution variables file (\fBdebian/substvars\fP by default). .TP \fB\-t\fP\fItype\fP 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 \fBdeb\fP. Shared library dependency information is tagged for a given type by prefixing it with the name of the type, a colon, and whitespace. .TP \fB\-L\fP\fIfichier\-local\-shlibs\fP Lire les informations de remplacement concernant les d\('ependances envers les biblioth\(`eques partag\('ees dans \fIfichier\-local\-shlibs\fP au lieu de \fBdebian/shlibs.local\fP. .TP \fB\-T\fP\fIfichier/substvars\fP \('Ecrire les variables de substitution dans \fIfichier/substvars\fP\ ; le fichier par d\('efaut est \fBdebian/substvars\fP. .TP \fB\-v\fP Enable verbose mode (since dpkg 1.14.8). Numerous messages are displayed to explain what \fBdpkg\-shlibdeps\fP does. .TP \fB\-x\fP\fIpackage\fP 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. .TP \fB\-S\fP\fIr\('epertoire\-construction\-paquet\fP Look into \fIpackage\-build\-dir\fP 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. .TP \fB\-I\fP\fIpackage\-build\-dir\fP Ignore \fIpackage\-build\-dir\fP when looking for shlibs, symbols, and shared library files (since dpkg 1.18.5). You can use this option multiple times. .TP \fB\-\-ignore\-missing\-info\fP 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. .TP \fB\-\-warnings=\fP\fIvaleur\fP \fIvalue\fP is a bit field defining the set of warnings that can be emitted by \fBdpkg\-shlibdeps\fP (since dpkg 1.14.17). Bit 0 (value=1) enables the warning \(lqsymbol \fIsym\fP used by \fIbinary\fP found in none of the libraries\(rq, bit 1 (value=2) enables the warning \(lqpackage could avoid a useless dependency\(rq and bit 2 (value=4) enables the warning \(lq\fIbinary\fP should not be linked against \fIlibrary\fP\(rq. The default \fIvalue\fP is 3: the first two warnings are active by default, the last one is not. Set \fIvalue\fP to 7 if you want all warnings to be active. .TP \fB\-\-admindir\fP=\fIdir\fP Change the location of the \fBdpkg\fP database (since dpkg 1.14.0). The default location is \fI/var/lib/dpkg\fP. .TP \fB\-?\fP, \fB\-\-help\fP Affiche un message d'aide puis quitte. .TP \fB\-\-version\fP Affiche le num\('ero de version puis quitte. . .SH DIAGNOSTICS .SS Avertissements Depuis que \fBdpkg\-shlibdeps\fP analyse l'ensemble des symboles utilis\('es par chaque binaire g\('en\('er\('e par le paquet, il est en mesure d'\('emettre des avertissements dans plusieurs cas. Ils vous informent des choses qui peuvent \(^etre am\('elior\('ees dans le paquet. Dans la plupart des cas, ces am\('eliorations concernent directement les sources amont. Dans l'ordre d'importance d\('ecroissant, voici les diff\('erents avertissements que vous pouvez rencontrer\ : .TP \fBsymbole\fP\fI sym\fP\fB utilis\('e par \fP\fIbinaire\fP\fB trouv\('e dans aucune des biblioth\(`eques.\fP Le symbole indiqu\('e n'a pas \('et\('e trouv\('e dans les biblioth\(`eques li\('ees au binaire. Le \fIbinaire\fP est probablement plut\(^ot une biblioth\(`eque et elle doit \(^etre li\('ee avec une biblioth\(`eque suppl\('ementaire durant le processus de construction (l'option \fB\-l\fP\fIbiblioth\(`eque\fP de l'\('editeur de liens). .TP \fIbinary\fP\fB contient une r\('ef\('erence non r\('esolue au symbole \fP\fIsym\fP\fB: il s'agit probablement d'un greffon (plugin)\fP Le symbole indiqu\('e n'a pas \('et\('e trouv\('e dans les bilbioth\(`eques li\('ees avec le fichier binaire. Le \fIbinaire\fP est tr\(`es probablement un greffon (plugin) et le symbole est probablement fourni par le programme qui charge ce greffon. En th\('eorie, un greffon n'a pas de \(Fo\ SONAME\ \(Fc mais ce binaire en poss\(`ede un et n'a pas pu \(^etre identifi\('e en tant que tel. Cependant, le fait que le binaire soit stock\('e dans un r\('epertoire non public est une indication forte qu'il ne s'agit pas d'une biblioth\(`eque partag\('ee normale. Si le binaire est vraiment un greffon, vous pouvez ignorer cet avertissement. Il existe cependant une possibilit\('e qu'il s'agisse d'un vrai binaire et que les programmes avec lequel il est li\('e utilisent un RPATH afin que le chargeur dynamique le trouve. Dans ce cas, la biblioth\(`eque est incorrecte et doit \(^etre corrig\('ee. .TP \fBpaquet pourrait \('eviter une d\('ependance inutile si \fP\fIle binaire\fP\fB n'\('etait pas li\('e avec \fP\fIbiblioth\(`eque\fP\fB (il ne fait usage d'aucun de ses symboles)\fP Aucun des \fIbinaires\fP li\('es \(`a la \fIbiblioth\(`eque\fP utilise les symboles qu'elle fournit. En corrigeant tous les binaires, vous \('eviteriez la d\('ependance associ\('ee \(`a cette biblioth\(`eque (\(`a moins que la m\(^eme d\('ependance soit \('egalement li\('ee \(`a une autre biblioth\(`eque qui est elle r\('eellement utilis\('ee). .TP \fBpackage could avoid a useless dependency if \fP\fIbinaries\fP\fB were not linked against \fP\fIlibrary\fP\fB (they use none of the library's symbols)\fP Identique \(`a l'avertissement pr\('ec\('edent, pour des binaires multiples. .TP \fIle binaire\fP\fB ne devrait pas \(^etre li\('e avec la \fP\fIbiblioth\(`eque\fP\fB (il ne fait usage d'aucun de ses symboles)\fP The \fIbinary\fP 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. .SS Erreurs \fBdpkg\-shlibdeps\fP \('echouera s'il ne peut pas trouver de biblioth\(`eque publique utilis\('ee par un binaire ou si cette biblioth\(`eque n'a pas d'informations sur les d\('ependances associ\('ees (soit les fichier shlibs, soit le fichier des symboles). Une biblioth\(`eque publique a un SONAME et un num\('ero de version (libsomething.so.\fIX\fP). Une biblioth\(`eque priv\('ee (comme un module additionnel) ne devrait pas avoir de SONAME et n'a pas besoin d'avoir de version. .TP \fBimpossible de trouver la biblioth\(`eque \fP\fIlibrary\-soname\fP \fBdemand\('ee par le\fP \fIbinaire\fP \fB(son RPATH est '\fP\fIrpath\fP\fB')\fP The \fIbinary\fP uses a library called \fIlibrary\-soname\fP but \fBdpkg\-shlibdeps\fP has been unable to find the library. \fBdpkg\-shlibdeps\fP creates a list of directories to check as following: directories listed in the RPATH of the binary, directories added by the \fB\-l\fP option, directories listed in the \fBLD_LIBRARY_PATH\fP 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 \fB\-S\fP 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\(`eque non trouv\('ee est cependant disponible dans le r\('epertoire priv\('e de ce m\(^eme paquet, alors il vous faut ajouter ce r\('epertoire avec \fB\-l\fP. 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\('ej\(`a cr\('e\('es et que \fB\-l\fP contient le r\('epertoire appropri\('e si c'est aussi un r\('epertoire priv\('e. .TP \fBaucune information de d\('ependance trouv\('ee pour\fP \fIla biblioth\(`eque\fP \fB(utilis\('ee par le\fP \fIbinaire\fP\fB).\fP The library needed by \fIbinary\fP has been found by \fBdpkg\-shlibdeps\fP in \fIlibrary\-file\fP but \fBdpkg\-shlibdeps\fP 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 \fBdpkg \-S \fP\fIlibrary\-file\fP. 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 \('echec peut \(^etre caus\('e par un shlibs ou un fichier de symboles qui serait mauvais ou manquant dans le paquet. Une autre cause serait que la biblioth\(`eque soit construite au sein du m\(^eme paquet source et que les fichiers shlibs n'aient pas encore \('et\('e cr\('e\('es (dans ce cas debian/rules doit \(^etre modifi\('e pour cr\('eer le shlibs avant l'appel de \fBdpkg\-shlibdeps\fP). Un mauvais RPATH peut aussi conduire \(`a ce que la biblioth\(`eque soit trouv\('ee 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\('e \(`a aucun paquet, \fBdpkg\-shlibdeps\fP essaie de travailler sur ce nom non\-canonique (en utilisant \fBrealpath\fP(3)), mais cela ne fonctionne pas toujours. Il est toujours pr\('ef\('erable de bien nettoyer le RPATH du binaire afin d'\('eviter ces probl\(`emes. L'appel de \fBdpkg\-shlibdeps\fP en mode bavard (\fB\-v\fP) fournira beaucoup plus d'informations sur l'endroit o\(`u il a essay\('e de trouver l'information sur les d\('ependances. Ceci peut \(^etre utile si vous ne comprenez pas pourquoi vous obtenez cette erreur. .SH "VOIR AUSSI" \fBdeb\-shlibs\fP(5), \fBdeb\-symbols\fP(5), \fBdpkg\-gensymbols\fP(1). .SH TRADUCTION Ariel VARDI , 2002. Philippe Batailler, 2006. Nicolas Fran\(,cois, 2006. Veuillez signaler toute erreur \(`a .