dpkg (1.18.25) stretch; urgency=medium
[dpkg] / man / sv / dpkg-shlibdeps.man
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% Dpkg\-sviten
28 .nh
29 .SH NAMN
30 dpkg\-shlibdeps \- skapar substvar\-beroenden för delade bibliotek
31 .
32 .SH SYNOPS
33 \fBdpkg\-shlibdeps\fP [\fIflagga\fP...] [\fB\-e\fP]\fIprogramfil\fP [\fIflagga\fP...]
34 .
35 .SH BESKRIVNING
36 \fBdpkg\-shlibdeps\fP beräknar beroenden mellan exekverbara filer som anges som
37 argument och delade bibliotek. Beroendena läggs till i
38 substitueringsvariabelfilen \fBdebian/substvars\fP som variabler med namnen
39 \fBshlibs:\fP\fIberoendefält\fP där \fIberoendeefält\fP är ett
40 beroendefältsnamn. Alla andra variabler som börjar på \fIshlibs:\fP tas bort ur
41 filen.
42 .P
43 \fBdpkg\-shlibdeps\fP kan generera beroendeinformation från två
44 informationskällor, antingen filen \fIsymbols\fP eller filen \fIshlibs\fP. För
45 varje binärfil som analyseras av \fBdpkg\-shlibdeps\fP tas en lista fram över
46 vilka bibliotek de är länkade mot. Programmet slår sedan upp varje bibliotek
47 i filen \fIsymbols\fP, eller i filen \fIshlibs\fP (om den förstnämnda inte
48 existerar eller om debian/shlibs.local innehåller ett relevant
49 beroende). ). De båda filerna skall tillhandahållas av bibliotekspaketet och
50 borde därför vara tillgängliga som %ADMINDIR%/info/\fIpaket\fP.\fIsymbols\fP eller
51 /var/lib/dpkg/info/\fIpaket\fP.\fIshlibs\fP. Paketnamnet identifieras i två steg:
52 biblioteksfilen lokaliseras på systemet (genom att slå upp i de kataloger
53 \fBld.so\fP skulle använt), och därefter används \fBdpkg \-S\fP \fIbiblioteksfil\fP
54 för att slå upp vilket paket biblioteket kommer från.
55 .SS Symbolfiler
56 Symbolfiler innehåller mer finkornig beroendeinformation genom att ange det
57 minsta beroendet för varje symbol som exporteras av biblioteket. Skriptet
58 försöker hitta de symboler som är associerade med ett bibliotek på följande
59 platser (den första träffen används):
60 .IP debian/*/DEBIAN/symbols
61 Information om delade bibliotek som skapats av den aktuella byggproceduren
62 som också anropade \fBdpkg\-shlibdeps\fP. De genereras av
63 \fBdpkg\-gensymbols\fP(1). De används endast om biblioteket finns i paketets
64 byggräd. Filen symbols i det byggträdet går före symbols\-filer från andra
65 binärpaket.
66 .IP %PKGCONFDIR%/symbols/\fIpackage\fP.symbols.\fIarkitektur\fP
67 .IP %PKGCONFDIR%/symbols/\fIpaket\fP.symbols
68 Överstyrningsfil för beroendeinformation för delade bibliotek, per
69 system. \fIarkitektur\fP är det aktuella systemets arkitektur (hämtas från
70 \fBdpkg\-architecture \-qDEB_HOST_ARCH\fP).
71 .IP "Utdata från ”\fBdpkg\-query \-\-control\-path\fP \fIpackage\fP symbols”"
72 Paketlokal överstyrande beroendeinformation för delade bibliotek. Filerna
73 befinner sig i %ADMINDIR% om inte överstyrt med \fB\-\-admindir\fP.
74 .P
75 \fBdpkg\-shlibs\fP kommer ihåg den (största) minimala version som behövs av
76 varje bibliotek när den söker genom de symboler som används av alla
77 binärfilerna. När proceduren är avslutad kan den visa det minsta beroende
78 som behövs av alla bibliotek som används (så tillvida informationen i
79 \fIsymbols\fP\-filerna är korrekt).
80 .P
81 Som en säkerhetsåtgärd kan en symbols\-fil innehålla metainformationsfältet
82 \fIBuild\-Depends\-Package\fP, varpå \fBdpkg\-shlibdeps\fP hämtar vilken minsta
83 version som behövs för paketet ur \fBBuild\-Depends\fP\-fältet och använder denna
84 version om den är högre än den minsta version som beräknats genom att söka
85 genom symbolerna.
86 .SS Shlibs\-filer
87 Shlibs\-filer associerar ett bibliotek direkt till ett beroende (utan att se
88 på symbolerna). Det är därför oftare starkare än vad som egentligen behövs,
89 men mycket säkert och enkelt att hantera.
90 .P
91 Beroenden för ett bibliotek slås upp på flera platser. Den första filen som
92 innehåller information om det intressanta biblioteket används:
93 .IP debian/shlibs.local
94 Paketlokal överstyrande beroendeinformation för delade bibliotek.
95 .IP %PKGCONFDIR%/shlibs.override
96 Systemspecifik överstyrande beroendeinformation för delade bibliotek.
97 .IP debian/*/DEBIAN/shlibs
98 Information om delade bibliotek som skapats av den aktuella byggproceduren
99 som också anropade \fBdpkg\-shlibdeps\fP. De genereras av
100 \fBdpkg\-gensymbols\fP(1). De används bara om biblioteket finns i paketets
101 byggträd. Filen shlibs i byggträdet går före shlibs\-filer från andra paket.
102 .IP "Utdata från ”\fBdpkg\-query \-\-control\-path\fP \fIpackage\fP shlibs”"
103 Paketlokal överstyrande beroendeinformation för delade bibliotek. Filerna
104 befinner sig i %ADMINDIR% om inte överstyrt med \fB\-\-admindir\fP.
105 .IP %PKGCONFDIR%/shlibs.default
106 Systemspecifik standardberoendeinformation för delade bibliotek.
107 .P
108 De utökade beroendena används sedan direkt (förutom om de filtrerats bort
109 för att de identifierats som dubbletter, eller svagare än ett annat
110 beroende).
111 .SH FLAGGOR
112 \fBdpkg\-shlibdeps\fP tolkar argument som inte är flaggor som namn på körbara
113 filer, precis som om de angivits som \fB\-e\fP\fIprogramfil\fP.
114 .TP
115 \fB\-e\fP\fIprogramfil\fP
116 Ta med beroenden som är passar för delade bibliotek som krävs för
117 \fIprogramfil\fP. Flaggan kan användas flera gånger.
118 .TP
119 \fB\-l\fP\fIkatalog\fP
120 Prepend \fIdirectory\fP to the list of directories to search for private shared
121 libraries (since dpkg 1.17.0). This option can be used multiple times.
122
123 Observera: Använd den här flaggan istället för att sätta \fBLD_LIBRARY_PATH\fP,
124 eftersom miljövariabeln används för att styra körtidslänkaren, och genom att
125 utnyttja det för att ange sökvägen till delade bibliotek vid kompilering kan
126 det uppstå problem, till exempel vid korskompilering.
127 .TP
128 \fB\-d\fP\fIberoendefält\fP
129 Lägg till beroenden som skall läggas till till control\-filens beroendefält
130 \fIberoendefält\fP. (Beroenden för detta fält läggs in i variabeln
131 \fBshlibs:\fP\fIberoendefält\fP.)
132
133 Flaggan \fB\-d\fP\fIberoendefält\fP gäller för samtliga binärer efter flaggan, fram
134 till nästa \fB\-d\fP\fIberoendefält\fP. Standardvärdet för \fIberoendefält\fP är
135 \fBDepends\fP.
136
137 Om samma katalogpost (eller en uppsättning alternativ) förekommer i mer än
138 ett av de kända beroendefältnamnen \fBPre\-Depends\fP, \fBDepends\fP,
139 \fBRecommends\fP, \fBEnhances\fP eller \fBSuggests\fP så kommer \fBdpkg\-shlibdeps\fP att
140 automatiskt ta bort beroendet från samtliga fält förutom det som anger de
141 viktigaste beroendena.
142 .TP
143 \fB\-p\fP\fIvariabelnamnsprefix\fP
144 Inled substitueringsvariabler med \fIvariabelnamnsprefix\fP\fB:\fP i stället för
145 \fBshlibs:\fP. På samma sätt kommer befintliga substitueringsvariabler som
146 inleds med \fIvariabelnamnsprefix\fP\fB:\fP (i stället för \fBshlibs:\fP) att tas
147 bort från substitueringsvariabelfilen.
148 .TP
149 \fB\-O\fP[\fIfilnamn\fP]
150 Print substitution variable settings to standard output (or \fIfilename\fP if
151 specified, since dpkg 1.17.2), rather than being added to the substitution
152 variables file (\fBdebian/substvars\fP by default).
153 .TP
154 \fB\-t\fP\fItyp\fP
155 Prefer shared library dependency information tagged for the given package
156 type. If no tagged information is available, falls back to untagged
157 information. The default package type is \fBdeb\fP. Shared library dependency
158 information is tagged for a given type by prefixing it with the name of the
159 type, a colon, and whitespace.
160 .TP
161 \fB\-L\fP\fIlokal\-shlibs\-fil\fP
162 Läs överstyrande beroendeinformation om delade bibliotek från
163 \fIlokal\-shlibs\-fil\fP i stället för \fBdebian/shlibs.local\fP.
164 .TP
165 \fB\-T\fP\fIsubstvars\-fil\fP
166 Skriv substitueringsvariabler i \fIsubstvars\-fil\fP; standard är
167 \fBdebian/substvars\fP.
168 .TP
169 \fB\-V\fP
170 Enable verbose mode (since dpkg 1.14.8). Numerous messages are displayed to
171 explain what \fBdpkg\-shlibdeps\fP does.
172 .TP
173 \fB\-x\fP\fIpaket\fP
174 Exclude the package from the generated dependencies (since dpkg 1.14.8).
175 This is useful to avoid self\-dependencies for packages which provide ELF
176 binaries (executables or library plugins) using a library contained in the
177 same package. This option can be used multiple times to exclude several
178 packages.
179 .TP
180 \fB\-S\fP\fIpaketbyggkatalog\fP
181 Look into \fIpackage\-build\-dir\fP first when trying to find a library (since
182 dpkg 1.14.15). This is useful when the source package builds multiple
183 flavors of the same library and you want to ensure that you get the
184 dependency from a given binary package. You can use this option multiple
185 times: directories will be tried in the same order before directories of
186 other binary packages.
187 .TP
188 \fB\-I\fP\fIpackage\-build\-dir\fP
189 Ignore \fIpackage\-build\-dir\fP when looking for shlibs, symbols, and shared
190 library files (since dpkg 1.18.5). You can use this option multiple times.
191 .TP
192 \fB\-\-ignore\-missing\-info\fP
193 Do not fail if dependency information can't be found for a shared library
194 (since dpkg 1.14.8). Usage of this option is discouraged, all libraries
195 should provide dependency information (either with shlibs files, or with
196 symbols files) even if they are not yet used by other packages.
197 .TP
198 \fB\-\-warnings=\fP\fIvärde\fP
199 \fIvalue\fP is a bit field defining the set of warnings that can be emitted by
200 \fBdpkg\-shlibdeps\fP (since dpkg 1.14.17). Bit 0 (value=1) enables the warning
201 “symbol \fIsym\fP used by \fIbinary\fP found in none of the libraries”, bit 1
202 (value=2) enables the warning “package could avoid a useless dependency” and
203 bit 2 (value=4) enables the warning “\fIbinary\fP should not be linked against
204 \fIlibrary\fP”. The default \fIvalue\fP is 3: the first two warnings are active
205 by default, the last one is not. Set \fIvalue\fP to 7 if you want all warnings
206 to be active.
207 .TP
208 \fB\-\-admindir=\fP\fIkat\fP
209 Change the location of the \fBdpkg\fP database (since dpkg 1.14.0). The
210 default location is \fI%ADMINDIR%\fP.
211 .TP
212 \fB\-?\fP, \fB\-\-help\fP
213 Visar hjälpskärm och avslutar.
214 .TP
215 \fB\-\-version\fP
216 Visar version och avslutar.
217 .
218 .SH DIAGNOSTIK
219 .SS Varningar
220 Eftersom \fBdpkg\-shlibdeps\fP analyserar mängden symboler som används av varje
221 binärfil i det genererade paketet, kan det i flera fall skriva ut
222 varningsmeddelanden. De visar på saker som kan förbättras i paketet. I de
223 flesta fall gäller förbättringarna direkt uppströmskällkoden. Här är de
224 varningar du kan stöta på, i fallande allvarlighetsgrad:
225 .TP
226 \fBsymbolen\fP \fIsym\fP\fB, som används av\fP \fIbinär\fP\fB, hittades inte i något av biblioteken.\fP
227 Den omnämnda symbolen hittades inte i biblioteken som länkas mot
228 binären. \fIBinär\fP är antagligen ett bibliotek och måste länkas mot ett annat
229 bibliotek under byggproceduren (länkarflaggan \fB\-l\fP\fIbibliotek\fP).
230 .TP
231 \fIbinär\fP \fBinnehåller en referens till symbolen\fP \fIsym\fP \fBsom inte kan kopplas; det är troligen ett insticksprogram\fP
232 Den angivna symbolen hittades inte i biblioteken som länkats mot
233 binären. \fIBinär\fP är antagligen ett insticksprogram och symbolen
234 tillhandahålls av programmet som läser in det. I teorin har inte
235 insticksprogram något SONAMN, men den här binären har ett och därmed kunde
236 det inte tydligt identifieras som insticksprogram. Det faktum att binären
237 befinner sig i en icke\-offentlig katalog är dock en stark indikation på att
238 det inte är ett vanligt delat bibliotek. Om binären faktiskt är ett
239 insticksprogram kan du ignorera varningen. Det är dock alltid möjligt att
240 det är ett riktigt bibliotek och att program som länker det använder en
241 RPATH så att den dynamiska länkaren hittar det. Om så är fallet är
242 biblioteket trasigt och behöver fixas.
243 .TP
244 \fBpaketet kan undvika ett onödigt beroende om\fP \fIbinär\fP \fBinte länkades mot\fP \fIbibliotek\fP \fB(det använder inget av bibliotekets symboler)\fP
245 Ingen av \fIbinärer\fPna som länkas mot \fIbibliotek\fP använder någon av
246 symbolerna som tillhandahålls av biblioteket. Genom att rätta alla binärer
247 kan du undvika beroendet som gäller detta bibliotek (såvida inte samma
248 beroende även genereras av ett annat bibliotek som faktiskt används).
249 .TP
250 \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
251 Exakt samma varning som ovan, men för flera binärer
252 .TP
253 \fIbinär\fP \fBborde inte vara länkat mot\fP \fIbibliotek\fP \fB(det använder inget av bibliotekets symboler)\fP
254 The \fIbinary\fP is linked to a library that it doesn't need. It's not a
255 problem but some small performance improvements in binary load time can be
256 obtained by not linking this library to this binary. This warning checks the
257 same information as the previous one but does it for each binary instead of
258 doing the check globally on all binaries analyzed.
259 .SS Fel
260 \fBdpkg\-shlibdeps\fP kommer att misslyckas om det inte hittar ett öppet
261 bibliotek som en av binärerna använder, eller om biblioteket saknar
262 associerad beroendeinformation (antingen en shlibs\-fil eller en
263 symbols\-fil). Ett öppet bibliotek har ett SONAMN och är versionshanterad
264 (libvadsomhelst.so.\fIX\fP). Ett privat bibliotek (till exempel ett
265 insticksprogram) bör inte ha något SONAMN och behöver inte vara
266 versionshanterat.
267 .TP
268 \fBhittade inte biblioteket\fP \fIbibliotek\-sonamn\fP \fBsom behövs för\fP \fIbinär\fP \fB(dess RPATH är "\fP\fIrpath\fP\fB")\fP
269 The \fIbinary\fP uses a library called \fIlibrary\-soname\fP but \fBdpkg\-shlibdeps\fP
270 has been unable to find the library. \fBdpkg\-shlibdeps\fP creates a list of
271 directories to check as following: directories listed in the RPATH of the
272 binary, directories added by the \fB\-l\fP option, directories listed in the
273 \fBLD_LIBRARY_PATH\fP environment variable, cross multiarch directories
274 (ex. /lib/arm64\-linux\-gnu, /usr/lib/arm64\-linux\-gnu), standard public
275 directories (/lib, /usr/lib), directories listed in /etc/ld.so.conf, and
276 obsolete multilib directories (/lib32, /usr/lib32, /lib64, /usr/lib64).
277 Then it checks those directories in the package's build tree of the binary
278 being analyzed, in the packages' build trees indicated with the \fB\-S\fP
279 command\-line option, in other packages' build trees that contains a
280 DEBIAN/shlibs or DEBIAN/symbols file and finally in the root directory. If
281 the library is not found in any of those directories, then you get this
282 error.
283
284 Om biblioteket som inte hittades ligger i en privat katalog i samma paket
285 bör du lägga till katalogen med \fB\-l\fP. Om det finns i ett annat binärpaket
286 som byggs bör du se till att shlibs\- eller symbols\-filen för paketet redan
287 har skapats och att \fB\-l\fP innehåller korrekt katalog som det också ligger i
288 en privat katalog.
289 .TP
290 \fBhittade ingen beroendeinformation för\fP \fIbiblioteksfil\fP \fB(använd av\fP \fIbinär\fP\fB).\fP
291 The library needed by \fIbinary\fP has been found by \fBdpkg\-shlibdeps\fP in
292 \fIlibrary\-file\fP but \fBdpkg\-shlibdeps\fP has been unable to find any dependency
293 information for that library. To find out the dependency, it has tried to
294 map the library to a Debian package with the help of \fBdpkg \-S
295 \fP\fIlibrary\-file\fP. Then it checked the corresponding shlibs and symbols
296 files in %ADMINDIR%/info/, and in the various package's build trees
297 (debian/*/DEBIAN/).
298
299 Det här felet kan orsakas av felaktiga eller saknade shlibs\- eller
300 symbols\-filer i bibliotekets paket. Det kan även inträffa om biblioteket
301 byggts i samma källkodspaket och om shlibs\-filen ännu inte har skapats (då
302 måste du fixa debian/rules så att det skapar shlibs\-filen innan det anropar
303 \fBdpkg\-shlibdeps\fP). Felaktig RPATH kan också leda till att biblioteket
304 hittas under ett icke\-kanoniskt namn (till exempel:
305 /usr/lib/openoffice.org/../lib/libssl.so.9.8 istället för
306 /usr/lib/libssl.so.0.9.8) som inte associeras till något paket,
307 \fBdpkg\-shlibdeps\fP försöker gå runt detta genom att falla tillbaka på ett
308 kanoniskt namn (med \fBrealpath\fP(3)), men det fungerar kanske inte
309 alltid. Det är alltid bäst att städa upp RPATH i binären för att undvika
310 problem.
311
312 Om du anropar \fBdpkg\-shlibdeps\fP i pratsamt läge (\fB\-v\fP) kommer det ge mycket
313 mer information om var det försökte hitta beroendeinformationen. Det kan
314 vara användbart om du inte förstår varför du får felmeddelandet.
315 .SH "SE ÄVEN"
316 \fBdeb\-shlibs\fP(5), \fBdeb\-symbols\fP(5), \fBdpkg\-gensymbols\fP(1).
317 .SH ÖVERSÄTTNING
318 Peter Krefting och Daniel Nylander.