dpkg (1.18.25) stretch; urgency=medium
[dpkg] / man / fr / dpkg-shlibdeps.man
CommitLineData
1479465f
GJ
1.\" dpkg manual page - dpkg-deb(1)
2.\"
3.\" Copyright © 1995-1996 Ian Jackson <ijackson@chiark.greenend.org.uk>
4.\" Copyright © 2000 Wichert Akkerman <wakkerma@debian.org>
5.\" Copyright © 2006 Frank Lichtenheld <djpig@debian.org>
6.\" Copyright © 2007-2011 Raphaël Hertzog <hertzog@debian.org>
7.\" Copyright © 2011-2013, 2015 Guillem Jover <guillem@debian.org>
8.\"
9.\" This is free software; you can redistribute it and/or modify
10.\" it under the terms of the GNU General Public License as published by
11.\" the Free Software Foundation; either version 2 of the License, or
12.\" (at your option) any later version.
13.\"
14.\" This is distributed in the hope that it will be useful,
15.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
16.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17.\" GNU General Public License for more details.
18.\"
19.\" You should have received a copy of the GNU General Public License
20.\" along with this program. If not, see <https://www.gnu.org/licenses/>.
21.
22.\"*******************************************************************
23.\"
24.\" This file was generated with po4a. Translate the source file.
25.\"
26.\"*******************************************************************
27.TH dpkg\-shlibdeps 1 %RELEASE_DATE% %VERSION% "suite dpkg"
28.nh
29.SH NOM
30dpkg\-shlibdeps \- générateur de variables de substitution de dépendances pour
31bibliothèques partagées
32.
33.SH SYNOPSIS
34\fBdpkg\-shlibdeps\fP [\fIoption\fP...] [\fB\-e\fP]\fIexécutable\fP [\fIoption\fP...]
35.
36.SH DESCRIPTION
37\fBdpkg\-shlibdeps\fP calcule, pour les exécutables indiqués dans ses
38paramètres, les dépendances envers les bibliothèques partagées. Ces
39dépendances sont ajoutées au fichier de variables de substitution
40\fBdebian/substvars\fP sous la forme \fBshlibs:\fP\fIdependencyfield\fP où
41\fIdependencyfield\fP est le nom du champ de dépendance. Toute autre variable
42après \fIshlibs:\fP est supprimée du fichier.
43.P
44\fBdpkg\-shlibdeps\fP a deux sources possibles pour créer les informations
45concernant les dépendances. Soit les fichiers \fIsymbols\fP, soit les fichiers
46\fIshlibs\fP. Pour chaque fichier binaire qu'il analyse, \fBdpkg\-shlibdeps\fP
47recherche la liste des bibliothèques partagées qui lui sont liées. Puis,
48pour chacune d'elles il analyse soit le fichier \fIsymbols\fP, soit le fichier
49\fIshlibs\fP (si le premier n'existe pas ou si debian/shlibs.local contient les
50dépendances appropriées). Ces deux fichiers sont sensés être fournis par le
51paquet de la bibliothèque et disponibles dans
52%ADMINDIR%/info/\fIpaquet\fP.\fIsymbols\fP ou
53%ADMINDIR%/info/\fIpaquet\fP.\fIshlibs\fP. Le nom du paquet est trouvé en deux
54étapes\ : en cherchant les fichiers de la bibliothèque sur le système, dans
55le répertoire que \fBld.so\fP utiliserait, puis un utilisant \fBdpkg \-S
56\fP\fIfichier\-bibliothèque\fP pour trouver le paquet qui fournit cette
57bibliothèque.
58.SS "Fichiers symboles"
59Les fichiers symboles contiennent des informations de dépendances plus fines
60en fournissant les dépendances minimales pour chaque symbole de la
61bibliothèque exportée. Le script essaie de trouver un fichier de symboles
62associé à un paquet de bibliothèque dans les emplacements suivants (le
63premier trouvé est utilisé)\ :
64.IP debian/*/DEBIAN/symbols
65L'information des bibliothèques partagées générée par l'actuel processus de
66construction qui invoque aussi \fBdpkg\-shlibdeps\fP. Elles sont générées par
67\fBdpkg\-gensymbols\fP(1) et ne sont utilisées que si la bibliothèque se trouve
68dans l'arbre de construction d'un paquet. Le fichier des symboles qui
69construit l'arbre s'appuie sur les fichiers de symboles d'autres paquets
70binaires.
71.IP %PKGCONFDIR%/symbols/\fIpaquet\fP.symbols.\fIarchitecture\fP
72.IP %PKGCONFDIR%/symbols/\fIpaquet\fP.symbols
73L'information de dépendance des bibliothèques partagées associée aux
74systèmes. \fIarch\fP est l'architecture du système actuel (obtenu par
75\fBdpkg\-architecture \-qDEB_HOST_ARCH\fP).
76.IP "Affichage de “\fBdpkg\-query \-\-control\-path\fP \fIpaquet\fP symbols”"
77Paquet fournissant des informations concernant les dépendances envers des
78bibliothèques partagées. Sauf indication contraire par le biais de
79\fB\-\-admindir\fP, ces fichiers sont par défaut dans %ADMINDIR%.
80.P
81Lors de l'analyse des symboles utilisés par tous les binaires,
82\fBdpkg\-shlibdeps\fP retient la (plus grande) version minimale nécessaire pour
83chaque bibliothèque. À la fin du processus, il est capable d'écrire la
84dépendance minimale pour toutes les bibliothèques utilisées (à condition que
85l'information des fichiers \fIsymbols\fP soit exacte).
86.P
87Comme garde\-fou, un fichier de symboles peut fournir un champ
88\fBBuild\-Depends\-Package\fP de méta\-information et \fBdpkg\-shlibdeps\fP en
89extraira la version minimale requise par le paquet correspondant depuis ce
90champ \fBBuild\-Depends\fP et utilisera cette version si elle est supérieure à
91la version minimale calculée par l'examen des symboles.
92.SS "Fichiers Shlibs"
93Les fichiers Shlibs associent directement une bibliothèque à une dépendance
94(sans regarder les symboles). Il agit donc souvent plus fortement que ce
95dont on aurait besoin mais il reste très sûr et facile à manipuler.
96.P
97Les dépendances d'une bibliothèque sont recherchées à plusieurs endroits. Le
98premier fichier d'informations trouvé qui concerne la bibliothèque est
99utilisé\ :
100.IP debian/shlibs.local
101Fichier particulier à un paquet remplaçant les informations qui concernent
102les dépendances envers des bibliothèques partagées.
103.IP %PKGCONFDIR%/shlibs.override
104Fichier système remplaçant les informations qui concernent les dépendances
105envers des bibliothèques partagées.
106.IP debian/*/DEBIAN/shlibs
107Information sur la bibliothèque partagée générée par le processus actuel de
108construction qui invoque aussi \fBdpkg\-shlibdeps\fP. Il n'est utilisé que si la
109bibliothèque se trouve dans l'arbre de construction du paquet. Le fichier
110shlibs qui construit l'arbre a priorité sur les fichiers shlibs des autres
111paquets binaires.
112.IP "Affichage de “\fBdpkg\-query \-\-control\-path\fP \fIpaquet\fP shlibs”"
113Paquet fournissant des informations concernant les dépendances envers des
114bibliothèques partagées. Sauf indication contraire par le biais de
115\fB\-\-admindir\fP, ces fichiers sont par défaut dans %ADMINDIR%.
116.IP %PKGCONFDIR%/shlibs.default
117Fichier système par défaut concernant les informations de dépendance envers
118des bibliothèques partagées.
119.P
120Les dépendances trouvées sont ensuite directement utilisées (sauf si elles
121sont filtrées parce qu'elles ont été identifiées comme étant en double, ou
122d'un niveau plus faible qu'une autre dépendance).
123.SH OPTIONS
124\fBdpkg\-shlibdeps\fP interprète des arguments sans option comme des commandes
125exécutables, comme si on avait simplement donné \fB\-e\fP\fIexécutable\fP.
126.TP
127\fB\-e\fP\fIexécutable\fP
128Cette option inclut les bonnes dépendances envers les bibliothèques
129partagées que demande \fIexécutable\fP. Cette option peut être utilisée
130plusieurs fois.
131.TP
132\fB\-l\fP\fIrépertoire\fP
133Prepend \fIdirectory\fP to the list of directories to search for private shared
134libraries (since dpkg 1.17.0). This option can be used multiple times.
135
136Note\ : Utilisez cette option plutôt que le réglage de \fBLD_LIBRARY_PATH\fP,
137parce que cette variable d'environnement est utilisé pour contrôler
138l'éditeur de liens d'exécution et et servir d'elle pour définir les chemins
139des bibliothèques partagées au moment de la construction peut être
140problématique, par exemple, lors d'une compilation croisée.
141.TP
142\fB\-d\fP\fIchamp\-dépendance\fP
143Cette option ajoute les dépendances destinées au champ «\ dépendance\ » du
144fichier de contrôle \fIchamp\-dépendance.\fP (Les dépendances pour ce champ sont
145dans la variable \fBshlibs:\fP\fIchamp\-dépendance\fP.)
146
147L'option \fB\-d\fP\fIchamp\-dépendance\fP concerne tous les exécutables qui suivent
148l'option, jusqu'à la prochaine option \fB\-d\fP\fIchamp\-dépendance\fP. Par défaut,
149\fIchamp\-dépendance\fP vaut \fBDepends\fP.
150
151Quand, dans plusieurs champs reconnus ayant trait aux dépendances comme les
152champs \fBPre\-Depends\fP, \fBDepends\fP, \fBRecommends\fP, \fBEnhances\fP ou \fBSuggests\fP
153apparaît la même entrée (ou bien un ensemble d'alternatives),
154\fBdpkg\-shlibdeps\fP supprime automatiquement les dépendances dans tous les
155champs sauf celui qui représente les dépendances les plus importantes.
156.TP
157\fB\-p\fP\fIpréfixe\-pour\-le\-nom\-des\-variables\fP
158Fait commencer les variables de substitution par
159\fIpréfixe\-pour\-le\-nom\-des\-variables\fP\fB:\fP au lieu de \fBshlibs:\fP. De même,
160toute variable de substitution commençant par
161\fIpréfixe\-pour\-le\-nom\-des\-variables\fP\fB:\fP (au lieu de \fBshlibs:\fP) est enlevée
162du fichier de substitution des variables.
163.TP
164\fB\-O\fP[\fInom\-de\-fichier\fP]
165Print substitution variable settings to standard output (or \fIfilename\fP if
166specified, since dpkg 1.17.2), rather than being added to the substitution
167variables file (\fBdebian/substvars\fP by default).
168.TP
169\fB\-t\fP\fItype\fP
170Prefer shared library dependency information tagged for the given package
171type. If no tagged information is available, falls back to untagged
172information. The default package type is \fBdeb\fP. Shared library dependency
173information is tagged for a given type by prefixing it with the name of the
174type, a colon, and whitespace.
175.TP
176\fB\-L\fP\fIfichier\-local\-shlibs\fP
177Lire les informations de remplacement concernant les dépendances envers les
178bibliothèques partagées dans \fIfichier\-local\-shlibs\fP au lieu de
179\fBdebian/shlibs.local\fP.
180.TP
181\fB\-T\fP\fIfichier/substvars\fP
182Écrire les variables de substitution dans \fIfichier/substvars\fP\ ; le fichier
183par défaut est \fBdebian/substvars\fP.
184.TP
185\fB\-v\fP
186Enable verbose mode (since dpkg 1.14.8). Numerous messages are displayed to
187explain what \fBdpkg\-shlibdeps\fP does.
188.TP
189\fB\-x\fP\fIpackage\fP
190Exclude the package from the generated dependencies (since dpkg 1.14.8).
191This is useful to avoid self\-dependencies for packages which provide ELF
192binaries (executables or library plugins) using a library contained in the
193same package. This option can be used multiple times to exclude several
194packages.
195.TP
196\fB\-S\fP\fIrépertoire\-construction\-paquet\fP
197Look into \fIpackage\-build\-dir\fP first when trying to find a library (since
198dpkg 1.14.15). This is useful when the source package builds multiple
199flavors of the same library and you want to ensure that you get the
200dependency from a given binary package. You can use this option multiple
201times: directories will be tried in the same order before directories of
202other binary packages.
203.TP
204\fB\-I\fP\fIpackage\-build\-dir\fP
205Ignore \fIpackage\-build\-dir\fP when looking for shlibs, symbols, and shared
206library files (since dpkg 1.18.5). You can use this option multiple times.
207.TP
208\fB\-\-ignore\-missing\-info\fP
209Do not fail if dependency information can't be found for a shared library
210(since dpkg 1.14.8). Usage of this option is discouraged, all libraries
211should provide dependency information (either with shlibs files, or with
212symbols files) even if they are not yet used by other packages.
213.TP
214\fB\-\-warnings=\fP\fIvaleur\fP
215\fIvalue\fP is a bit field defining the set of warnings that can be emitted by
216\fBdpkg\-shlibdeps\fP (since dpkg 1.14.17). Bit 0 (value=1) enables the warning
217“symbol \fIsym\fP used by \fIbinary\fP found in none of the libraries”, bit 1
218(value=2) enables the warning “package could avoid a useless dependency” and
219bit 2 (value=4) enables the warning “\fIbinary\fP should not be linked against
220\fIlibrary\fP”. The default \fIvalue\fP is 3: the first two warnings are active
221by default, the last one is not. Set \fIvalue\fP to 7 if you want all warnings
222to be active.
223.TP
224\fB\-\-admindir\fP=\fIdir\fP
225Change the location of the \fBdpkg\fP database (since dpkg 1.14.0). The
226default location is \fI%ADMINDIR%\fP.
227.TP
228\fB\-?\fP, \fB\-\-help\fP
229Affiche un message d'aide puis quitte.
230.TP
231\fB\-\-version\fP
232Affiche le numéro de version puis quitte.
233.
234.SH DIAGNOSTICS
235.SS Avertissements
236Depuis que \fBdpkg\-shlibdeps\fP analyse l'ensemble des symboles utilisés par
237chaque binaire généré par le paquet, il est en mesure d'émettre des
238avertissements dans plusieurs cas. Ils vous informent des choses qui peuvent
239être améliorées dans le paquet. Dans la plupart des cas, ces améliorations
240concernent directement les sources amont. Dans l'ordre d'importance
241décroissant, voici les différents avertissements que vous pouvez
242rencontrer\ :
243.TP
244\fBsymbole\fP\fI sym\fP\fB utilisé par \fP\fIbinaire\fP\fB trouvé dans aucune des bibliothèques.\fP
245Le symbole indiqué n'a pas été trouvé dans les bibliothèques liées au
246binaire. Le \fIbinaire\fP est probablement plutôt une bibliothèque et elle doit
247être liée avec une bibliothèque supplémentaire durant le processus de
248construction (l'option \fB\-l\fP\fIbibliothèque\fP de l'éditeur de liens).
249.TP
250\fIbinary\fP\fB contient une référence non résolue au symbole \fP\fIsym\fP\fB: il s'agit probablement d'un greffon (plugin)\fP
251Le symbole indiqué n'a pas été trouvé dans les bilbiothèques liées avec le
252fichier binaire. Le \fIbinaire\fP est très probablement un greffon (plugin) et
253le symbole est probablement fourni par le programme qui charge ce
254greffon. En théorie, un greffon n'a pas de «\ SONAME\ » mais ce binaire en
255possède un et n'a pas pu être identifié en tant que tel. Cependant, le fait
256que le binaire soit stocké dans un répertoire non public est une indication
257forte qu'il ne s'agit pas d'une bibliothèque partagée normale. Si le binaire
258est vraiment un greffon, vous pouvez ignorer cet avertissement. Il existe
259cependant une possibilité qu'il s'agisse d'un vrai binaire et que les
260programmes avec lequel il est lié utilisent un RPATH afin que le chargeur
261dynamique le trouve. Dans ce cas, la bibliothèque est incorrecte et doit
262être corrigée.
263.TP
264\fBpaquet pourrait éviter une dépendance inutile si \fP\fIle binaire\fP\fB n'était pas lié avec \fP\fIbibliothèque\fP\fB (il ne fait usage d'aucun de ses symboles)\fP
265Aucun des \fIbinaires\fP liés à la \fIbibliothèque\fP utilise les symboles qu'elle
266fournit. En corrigeant tous les binaires, vous éviteriez la dépendance
267associée à cette bibliothèque (à moins que la même dépendance soit également
268liée à une autre bibliothèque qui est elle réellement utilisée).
269.TP
270\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
271Identique à l'avertissement précédent, pour des binaires multiples.
272.TP
273\fIle binaire\fP\fB ne devrait pas être lié avec la \fP\fIbibliothèque\fP\fB (il ne fait usage d'aucun de ses symboles)\fP
274The \fIbinary\fP is linked to a library that it doesn't need. It's not a
275problem but some small performance improvements in binary load time can be
276obtained by not linking this library to this binary. This warning checks the
277same information as the previous one but does it for each binary instead of
278doing the check globally on all binaries analyzed.
279.SS Erreurs
280\fBdpkg\-shlibdeps\fP échouera s'il ne peut pas trouver de bibliothèque publique
281utilisée par un binaire ou si cette bibliothèque n'a pas d'informations sur
282les dépendances associées (soit les fichier shlibs, soit le fichier des
283symboles). Une bibliothèque publique a un SONAME et un numéro de version
284(libsomething.so.\fIX\fP). Une bibliothèque privée (comme un module
285additionnel) ne devrait pas avoir de SONAME et n'a pas besoin d'avoir de
286version.
287.TP
288\fBimpossible de trouver la bibliothèque \fP\fIlibrary\-soname\fP \fBdemandée par le\fP \fIbinaire\fP \fB(son RPATH est '\fP\fIrpath\fP\fB')\fP
289The \fIbinary\fP uses a library called \fIlibrary\-soname\fP but \fBdpkg\-shlibdeps\fP
290has been unable to find the library. \fBdpkg\-shlibdeps\fP creates a list of
291directories to check as following: directories listed in the RPATH of the
292binary, directories added by the \fB\-l\fP option, directories listed in the
293\fBLD_LIBRARY_PATH\fP environment variable, cross multiarch directories
294(ex. /lib/arm64\-linux\-gnu, /usr/lib/arm64\-linux\-gnu), standard public
295directories (/lib, /usr/lib), directories listed in /etc/ld.so.conf, and
296obsolete multilib directories (/lib32, /usr/lib32, /lib64, /usr/lib64).
297Then it checks those directories in the package's build tree of the binary
298being analyzed, in the packages' build trees indicated with the \fB\-S\fP
299command\-line option, in other packages' build trees that contains a
300DEBIAN/shlibs or DEBIAN/symbols file and finally in the root directory. If
301the library is not found in any of those directories, then you get this
302error.
303
304Si la bibliothèque non trouvée est cependant disponible dans le répertoire
305privé de ce même paquet, alors il vous faut ajouter ce répertoire avec
306\fB\-l\fP. S'il est dans un autre paquet binaire en cours de construction, alors
307assurez\-vous que les fichiers shlibs/symbols de ce paquet sont déjà créés et
308que \fB\-l\fP contient le répertoire approprié si c'est aussi un répertoire
309privé.
310.TP
311\fBaucune information de dépendance trouvée pour\fP \fIla bibliothèque\fP \fB(utilisée par le\fP \fIbinaire\fP\fB).\fP
312The library needed by \fIbinary\fP has been found by \fBdpkg\-shlibdeps\fP in
313\fIlibrary\-file\fP but \fBdpkg\-shlibdeps\fP has been unable to find any dependency
314information for that library. To find out the dependency, it has tried to
315map the library to a Debian package with the help of \fBdpkg \-S
316\fP\fIlibrary\-file\fP. Then it checked the corresponding shlibs and symbols
317files in %ADMINDIR%/info/, and in the various package's build trees
318(debian/*/DEBIAN/).
319
320Cet échec peut être causé par un shlibs ou un fichier de symboles qui serait
321mauvais ou manquant dans le paquet. Une autre cause serait que la
322bibliothèque soit construite au sein du même paquet source et que les
323fichiers shlibs n'aient pas encore été créés (dans ce cas debian/rules doit
324être modifié pour créer le shlibs avant l'appel de \fBdpkg\-shlibdeps\fP). Un
325mauvais RPATH peut aussi conduire à ce que la bibliothèque soit trouvée sous
326un nom non\-canonique (comme\ : /usr/lib/openoffice.org/../lib/libssl.so.0.9.8
327au lieu de /usr/lib/libssl.so.0.9.8) qui n'est associé à aucun paquet,
328\fBdpkg\-shlibdeps\fP essaie de travailler sur ce nom non\-canonique (en
329utilisant \fBrealpath\fP(3)), mais cela ne fonctionne pas toujours. Il est
330toujours préférable de bien nettoyer le RPATH du binaire afin d'éviter ces
331problèmes.
332
333L'appel de \fBdpkg\-shlibdeps\fP en mode bavard (\fB\-v\fP) fournira beaucoup plus
334d'informations sur l'endroit où il a essayé de trouver l'information sur les
335dépendances. Ceci peut être utile si vous ne comprenez pas pourquoi vous
336obtenez cette erreur.
337.SH "VOIR AUSSI"
338\fBdeb\-shlibs\fP(5), \fBdeb\-symbols\fP(5), \fBdpkg\-gensymbols\fP(1).
339.SH TRADUCTION
340Ariel VARDI <ariel.vardi@freesbee.fr>, 2002.
341Philippe Batailler, 2006.
342Nicolas François, 2006.
343Veuillez signaler toute erreur à <debian\-l10n\-french@lists.debian.org>.