Commit | Line | Data |
---|---|---|
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% 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. |