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