.\" 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 Dpkg\-sviten .nh .SH NAMN dpkg\-shlibdeps \- skapar substvar\-beroenden f\(:or delade bibliotek . .SH SYNOPS \fBdpkg\-shlibdeps\fP [\fIflagga\fP...] [\fB\-e\fP]\fIprogramfil\fP [\fIflagga\fP...] . .SH BESKRIVNING \fBdpkg\-shlibdeps\fP ber\(:aknar beroenden mellan exekverbara filer som anges som argument och delade bibliotek. Beroendena l\(:aggs till i substitueringsvariabelfilen \fBdebian/substvars\fP som variabler med namnen \fBshlibs:\fP\fIberoendef\(:alt\fP d\(:ar \fIberoendeef\(:alt\fP \(:ar ett beroendef\(:altsnamn. Alla andra variabler som b\(:orjar p\(oa \fIshlibs:\fP tas bort ur filen. .P \fBdpkg\-shlibdeps\fP kan generera beroendeinformation fr\(oan tv\(oa informationsk\(:allor, antingen filen \fIsymbols\fP eller filen \fIshlibs\fP. F\(:or varje bin\(:arfil som analyseras av \fBdpkg\-shlibdeps\fP tas en lista fram \(:over vilka bibliotek de \(:ar l\(:ankade mot. Programmet sl\(oar sedan upp varje bibliotek i filen \fIsymbols\fP, eller i filen \fIshlibs\fP (om den f\(:orstn\(:amnda inte existerar eller om debian/shlibs.local inneh\(oaller ett relevant beroende). ). De b\(oada filerna skall tillhandah\(oallas av bibliotekspaketet och borde d\(:arf\(:or vara tillg\(:angliga som /var/lib/dpkg/info/\fIpaket\fP.\fIsymbols\fP eller /var/lib/dpkg/info/\fIpaket\fP.\fIshlibs\fP. Paketnamnet identifieras i tv\(oa steg: biblioteksfilen lokaliseras p\(oa systemet (genom att sl\(oa upp i de kataloger \fBld.so\fP skulle anv\(:ant), och d\(:arefter anv\(:ands \fBdpkg \-S\fP \fIbiblioteksfil\fP f\(:or att sl\(oa upp vilket paket biblioteket kommer fr\(oan. .SS Symbolfiler Symbolfiler inneh\(oaller mer finkornig beroendeinformation genom att ange det minsta beroendet f\(:or varje symbol som exporteras av biblioteket. Skriptet f\(:ors\(:oker hitta de symboler som \(:ar associerade med ett bibliotek p\(oa f\(:oljande platser (den f\(:orsta tr\(:affen anv\(:ands): .IP debian/*/DEBIAN/symbols Information om delade bibliotek som skapats av den aktuella byggproceduren som ocks\(oa anropade \fBdpkg\-shlibdeps\fP. De genereras av \fBdpkg\-gensymbols\fP(1). De anv\(:ands endast om biblioteket finns i paketets byggr\(:ad. Filen symbols i det byggtr\(:adet g\(oar f\(:ore symbols\-filer fr\(oan andra bin\(:arpaket. .IP /etc/dpkg/symbols/\fIpackage\fP.symbols.\fIarkitektur\fP .IP /etc/dpkg/symbols/\fIpaket\fP.symbols \(:Overstyrningsfil f\(:or beroendeinformation f\(:or delade bibliotek, per system. \fIarkitektur\fP \(:ar det aktuella systemets arkitektur (h\(:amtas fr\(oan \fBdpkg\-architecture \-qDEB_HOST_ARCH\fP). .IP "Utdata fr\(oan \(rq\fBdpkg\-query \-\-control\-path\fP \fIpackage\fP symbols\(rq" Paketlokal \(:overstyrande beroendeinformation f\(:or delade bibliotek. Filerna befinner sig i /var/lib/dpkg om inte \(:overstyrt med \fB\-\-admindir\fP. .P \fBdpkg\-shlibs\fP kommer ih\(oag den (st\(:orsta) minimala version som beh\(:ovs av varje bibliotek n\(:ar den s\(:oker genom de symboler som anv\(:ands av alla bin\(:arfilerna. N\(:ar proceduren \(:ar avslutad kan den visa det minsta beroende som beh\(:ovs av alla bibliotek som anv\(:ands (s\(oa tillvida informationen i \fIsymbols\fP\-filerna \(:ar korrekt). .P Som en s\(:akerhets\(oatg\(:ard kan en symbols\-fil inneh\(oalla metainformationsf\(:altet \fIBuild\-Depends\-Package\fP, varp\(oa \fBdpkg\-shlibdeps\fP h\(:amtar vilken minsta version som beh\(:ovs f\(:or paketet ur \fBBuild\-Depends\fP\-f\(:altet och anv\(:ander denna version om den \(:ar h\(:ogre \(:an den minsta version som ber\(:aknats genom att s\(:oka genom symbolerna. .SS Shlibs\-filer Shlibs\-filer associerar ett bibliotek direkt till ett beroende (utan att se p\(oa symbolerna). Det \(:ar d\(:arf\(:or oftare starkare \(:an vad som egentligen beh\(:ovs, men mycket s\(:akert och enkelt att hantera. .P Beroenden f\(:or ett bibliotek sl\(oas upp p\(oa flera platser. Den f\(:orsta filen som inneh\(oaller information om det intressanta biblioteket anv\(:ands: .IP debian/shlibs.local Paketlokal \(:overstyrande beroendeinformation f\(:or delade bibliotek. .IP /etc/dpkg/shlibs.override Systemspecifik \(:overstyrande beroendeinformation f\(:or delade bibliotek. .IP debian/*/DEBIAN/shlibs Information om delade bibliotek som skapats av den aktuella byggproceduren som ocks\(oa anropade \fBdpkg\-shlibdeps\fP. De genereras av \fBdpkg\-gensymbols\fP(1). De anv\(:ands bara om biblioteket finns i paketets byggtr\(:ad. Filen shlibs i byggtr\(:adet g\(oar f\(:ore shlibs\-filer fr\(oan andra paket. .IP "Utdata fr\(oan \(rq\fBdpkg\-query \-\-control\-path\fP \fIpackage\fP shlibs\(rq" Paketlokal \(:overstyrande beroendeinformation f\(:or delade bibliotek. Filerna befinner sig i /var/lib/dpkg om inte \(:overstyrt med \fB\-\-admindir\fP. .IP /etc/dpkg/shlibs.default Systemspecifik standardberoendeinformation f\(:or delade bibliotek. .P De ut\(:okade beroendena anv\(:ands sedan direkt (f\(:orutom om de filtrerats bort f\(:or att de identifierats som dubbletter, eller svagare \(:an ett annat beroende). .SH FLAGGOR \fBdpkg\-shlibdeps\fP tolkar argument som inte \(:ar flaggor som namn p\(oa k\(:orbara filer, precis som om de angivits som \fB\-e\fP\fIprogramfil\fP. .TP \fB\-e\fP\fIprogramfil\fP Ta med beroenden som \(:ar passar f\(:or delade bibliotek som kr\(:avs f\(:or \fIprogramfil\fP. Flaggan kan anv\(:andas flera g\(oanger. .TP \fB\-l\fP\fIkatalog\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. Observera: Anv\(:and den h\(:ar flaggan ist\(:allet f\(:or att s\(:atta \fBLD_LIBRARY_PATH\fP, eftersom milj\(:ovariabeln anv\(:ands f\(:or att styra k\(:ortidsl\(:ankaren, och genom att utnyttja det f\(:or att ange s\(:okv\(:agen till delade bibliotek vid kompilering kan det uppst\(oa problem, till exempel vid korskompilering. .TP \fB\-d\fP\fIberoendef\(:alt\fP L\(:agg till beroenden som skall l\(:aggas till till control\-filens beroendef\(:alt \fIberoendef\(:alt\fP. (Beroenden f\(:or detta f\(:alt l\(:aggs in i variabeln \fBshlibs:\fP\fIberoendef\(:alt\fP.) Flaggan \fB\-d\fP\fIberoendef\(:alt\fP g\(:aller f\(:or samtliga bin\(:arer efter flaggan, fram till n\(:asta \fB\-d\fP\fIberoendef\(:alt\fP. Standardv\(:ardet f\(:or \fIberoendef\(:alt\fP \(:ar \fBDepends\fP. Om samma katalogpost (eller en upps\(:attning alternativ) f\(:orekommer i mer \(:an ett av de k\(:anda beroendef\(:altnamnen \fBPre\-Depends\fP, \fBDepends\fP, \fBRecommends\fP, \fBEnhances\fP eller \fBSuggests\fP s\(oa kommer \fBdpkg\-shlibdeps\fP att automatiskt ta bort beroendet fr\(oan samtliga f\(:alt f\(:orutom det som anger de viktigaste beroendena. .TP \fB\-p\fP\fIvariabelnamnsprefix\fP Inled substitueringsvariabler med \fIvariabelnamnsprefix\fP\fB:\fP i st\(:allet f\(:or \fBshlibs:\fP. P\(oa samma s\(:att kommer befintliga substitueringsvariabler som inleds med \fIvariabelnamnsprefix\fP\fB:\fP (i st\(:allet f\(:or \fBshlibs:\fP) att tas bort fr\(oan substitueringsvariabelfilen. .TP \fB\-O\fP[\fIfilnamn\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\fItyp\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\fIlokal\-shlibs\-fil\fP L\(:as \(:overstyrande beroendeinformation om delade bibliotek fr\(oan \fIlokal\-shlibs\-fil\fP i st\(:allet f\(:or \fBdebian/shlibs.local\fP. .TP \fB\-T\fP\fIsubstvars\-fil\fP Skriv substitueringsvariabler i \fIsubstvars\-fil\fP; standard \(:ar \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\fIpaket\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\fIpaketbyggkatalog\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\fIv\(:arde\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\fIkat\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 Visar hj\(:alpsk\(:arm och avslutar. .TP \fB\-\-version\fP Visar version och avslutar. . .SH DIAGNOSTIK .SS Varningar Eftersom \fBdpkg\-shlibdeps\fP analyserar m\(:angden symboler som anv\(:ands av varje bin\(:arfil i det genererade paketet, kan det i flera fall skriva ut varningsmeddelanden. De visar p\(oa saker som kan f\(:orb\(:attras i paketet. I de flesta fall g\(:aller f\(:orb\(:attringarna direkt uppstr\(:omsk\(:allkoden. H\(:ar \(:ar de varningar du kan st\(:ota p\(oa, i fallande allvarlighetsgrad: .TP \fBsymbolen\fP \fIsym\fP\fB, som anv\(:ands av\fP \fIbin\(:ar\fP\fB, hittades inte i n\(oagot av biblioteken.\fP Den omn\(:amnda symbolen hittades inte i biblioteken som l\(:ankas mot bin\(:aren. \fIBin\(:ar\fP \(:ar antagligen ett bibliotek och m\(oaste l\(:ankas mot ett annat bibliotek under byggproceduren (l\(:ankarflaggan \fB\-l\fP\fIbibliotek\fP). .TP \fIbin\(:ar\fP \fBinneh\(oaller en referens till symbolen\fP \fIsym\fP \fBsom inte kan kopplas; det \(:ar troligen ett insticksprogram\fP Den angivna symbolen hittades inte i biblioteken som l\(:ankats mot bin\(:aren. \fIBin\(:ar\fP \(:ar antagligen ett insticksprogram och symbolen tillhandah\(oalls av programmet som l\(:aser in det. I teorin har inte insticksprogram n\(oagot SONAMN, men den h\(:ar bin\(:aren har ett och d\(:armed kunde det inte tydligt identifieras som insticksprogram. Det faktum att bin\(:aren befinner sig i en icke\-offentlig katalog \(:ar dock en stark indikation p\(oa att det inte \(:ar ett vanligt delat bibliotek. Om bin\(:aren faktiskt \(:ar ett insticksprogram kan du ignorera varningen. Det \(:ar dock alltid m\(:ojligt att det \(:ar ett riktigt bibliotek och att program som l\(:anker det anv\(:ander en RPATH s\(oa att den dynamiska l\(:ankaren hittar det. Om s\(oa \(:ar fallet \(:ar biblioteket trasigt och beh\(:over fixas. .TP \fBpaketet kan undvika ett on\(:odigt beroende om\fP \fIbin\(:ar\fP \fBinte l\(:ankades mot\fP \fIbibliotek\fP \fB(det anv\(:ander inget av bibliotekets symboler)\fP Ingen av \fIbin\(:arer\fPna som l\(:ankas mot \fIbibliotek\fP anv\(:ander n\(oagon av symbolerna som tillhandah\(oalls av biblioteket. Genom att r\(:atta alla bin\(:arer kan du undvika beroendet som g\(:aller detta bibliotek (s\(oavida inte samma beroende \(:aven genereras av ett annat bibliotek som faktiskt anv\(:ands). .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 Exakt samma varning som ovan, men f\(:or flera bin\(:arer .TP \fIbin\(:ar\fP \fBborde inte vara l\(:ankat mot\fP \fIbibliotek\fP \fB(det anv\(:ander inget av bibliotekets symboler)\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 Fel \fBdpkg\-shlibdeps\fP kommer att misslyckas om det inte hittar ett \(:oppet bibliotek som en av bin\(:arerna anv\(:ander, eller om biblioteket saknar associerad beroendeinformation (antingen en shlibs\-fil eller en symbols\-fil). Ett \(:oppet bibliotek har ett SONAMN och \(:ar versionshanterad (libvadsomhelst.so.\fIX\fP). Ett privat bibliotek (till exempel ett insticksprogram) b\(:or inte ha n\(oagot SONAMN och beh\(:over inte vara versionshanterat. .TP \fBhittade inte biblioteket\fP \fIbibliotek\-sonamn\fP \fBsom beh\(:ovs f\(:or\fP \fIbin\(:ar\fP \fB(dess RPATH \(:ar "\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. Om biblioteket som inte hittades ligger i en privat katalog i samma paket b\(:or du l\(:agga till katalogen med \fB\-l\fP. Om det finns i ett annat bin\(:arpaket som byggs b\(:or du se till att shlibs\- eller symbols\-filen f\(:or paketet redan har skapats och att \fB\-l\fP inneh\(oaller korrekt katalog som det ocks\(oa ligger i en privat katalog. .TP \fBhittade ingen beroendeinformation f\(:or\fP \fIbiblioteksfil\fP \fB(anv\(:and av\fP \fIbin\(:ar\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/). Det h\(:ar felet kan orsakas av felaktiga eller saknade shlibs\- eller symbols\-filer i bibliotekets paket. Det kan \(:aven intr\(:affa om biblioteket byggts i samma k\(:allkodspaket och om shlibs\-filen \(:annu inte har skapats (d\(oa m\(oaste du fixa debian/rules s\(oa att det skapar shlibs\-filen innan det anropar \fBdpkg\-shlibdeps\fP). Felaktig RPATH kan ocks\(oa leda till att biblioteket hittas under ett icke\-kanoniskt namn (till exempel: /usr/lib/openoffice.org/../lib/libssl.so.9.8 ist\(:allet f\(:or /usr/lib/libssl.so.0.9.8) som inte associeras till n\(oagot paket, \fBdpkg\-shlibdeps\fP f\(:ors\(:oker g\(oa runt detta genom att falla tillbaka p\(oa ett kanoniskt namn (med \fBrealpath\fP(3)), men det fungerar kanske inte alltid. Det \(:ar alltid b\(:ast att st\(:ada upp RPATH i bin\(:aren f\(:or att undvika problem. Om du anropar \fBdpkg\-shlibdeps\fP i pratsamt l\(:age (\fB\-v\fP) kommer det ge mycket mer information om var det f\(:ors\(:okte hitta beroendeinformationen. Det kan vara anv\(:andbart om du inte f\(:orst\(oar varf\(:or du f\(oar felmeddelandet. .SH "SE \(:AVEN" \fBdeb\-shlibs\fP(5), \fBdeb\-symbols\fP(5), \fBdpkg\-gensymbols\fP(1). .SH \(:OVERS\(:ATTNING Peter Krefting och Daniel Nylander.