| .\"******************************************************************* |
| .\" |
| .\" This file was generated with po4a. Translate the source file. |
| .\" |
| .\"******************************************************************* |
| .TH dpkg\-shlibdeps 1 2011\-08\-14 Debianprojektet dpkg\-verktygen |
| .SH NAMN |
| dpkg\-shlibdeps \- skapar substvar\-beroenden för delade bibliotek |
| . |
| .SH SYNOPS |
| \fBdpkg\-shlibdeps\fP [\fIflagga\fP...] [\fB\-e\fP]\fIprogramfil\fP [\fIflagga\fP...] |
| . |
| .SH BESKRIVNING |
| \fBdpkg\-shlibdeps\fP beräknar beroenden mellan exekverbara filer som anges som |
| argument och delade bibliotek. Beroendena läggs till i |
| substitueringsvariabelfilen \fBdebian/substvars\fP som variabler med namnen |
| \fBshlibs:\fP\fIberoendefält\fP där \fIberoendeefält\fP är ett |
| beroendefältsnamn. Alla andra variabler som börjar på \fIshlibs:\fP tas bort ur |
| filen. |
| .P |
| \fBdpkg\-shlibdeps\fP kan generera beroendeinformation från två |
| informationskällor, antingen filen \fIsymbols\fP eller filen \fIshlibs\fP. För |
| varje binärfil som analyseras av \fBdpkg\-shlibdeps\fP tas en lista fram över |
| vilka bibliotek de är länkade mot. Programmet slår sedan upp varje bibliotek |
| i filen \fIsymbols\fP, eller i filen \fIshlibs\fP (om den förstnämnda inte |
| existerar eller om debian/shlibs.local innehåller ett relevant |
| beroende). ). De båda filerna skall tillhandahållas av bibliotekspaketet och |
| borde därför vara tillgängliga som /var/lib/dpkg/info/\fIpaket\fP.\fIsymbols\fP |
| eller /var/lib/dpkg/info/\fIpaket\fP.\fIshlibs\fP. Paketnamnet identifieras i två |
| steg: biblioteksfilen lokaliseras på systemet (genom att slå upp i de |
| kataloger \fBld.so\fP skulle använt), och därefter används \fBdpkg \-S\fP |
| \fIbiblioteksfil\fP för att slå upp vilket paket biblioteket kommer från. |
| .SS Symbolfiler |
| Symbolfiler innehåller mer finkornig beroendeinformation genom att ange det |
| minsta beroendet för varje symbol som exporteras av biblioteket. Skriptet |
| försöker hitta de symboler som är associerade med ett bibliotek på följande |
| platser (den första träffen används): |
| .IP debian/*/DEBIAN/symbols |
| Information om delade bibliotek som skapats av den aktuella byggproceduren |
| som också anropade \fBdpkg\-shlibdeps\fP. De genereras av |
| \fBdpkg\-gensymbols\fP(1). De används endast om biblioteket finns i paketets |
| byggräd. Filen symbols i det byggträdet går före symbols\-filer från andra |
| binärpaket. |
| .IP /etc/dpkg/symbols/\fIpackage\fP.symbols.\fIarkitektur\fP |
| .IP /etc/dpkg/symbols/\fIpaket\fP.symbols |
| Överstyrningsfil för beroendeinformation för delade bibliotek, per |
| system. \fIarkitektur\fP är det aktuella systemets arkitektur (hämtas från |
| \fBdpkg\-architecture \-qDEB_HOST_ARCH\fP). |
| .IP "Utdata från \(rq\fBdpkg\-query \-\-control\-path\fP \fIpackage\fP symbols\(rq" |
| Paketlokal överstyrande beroendeinformation för delade bibliotek. Filerna |
| befinner sig i /var/lib/dpkg om inte överstyrt med \-\-admindir. |
| .P |
| \fBdpkg\-shlibs\fP kommer ihåg den (största) minimala version som behövs av |
| varje bibliotek när den söker genom de symboler som används av alla |
| binärfilerna. När proceduren är avslutad kan den visa det minsta beroende |
| som behövs av alla bibliotek som används (så tillvida informationen i |
| \fIsymbols\fP\-filerna är korrekt). |
| .P |
| Som en säkerhetsåtgärd kan en symbols\-fil innehålla metainformationsfältet |
| \fIBuild\-Depends\-Package\fP, varpå \fBdpkg\-shlibdeps\fP hämtar vilken minsta |
| version som behövs för paketet ur Build\-Depends\-fältet och använder denna |
| version om den är högre än den minsta version som beräknats genom att söka |
| genom symbolerna. |
| .SS Shlibs\-filer |
| Shlibs\-filer associerar ett bibliotek direkt till ett beroende (utan att se |
| på symbolerna). Det är därför oftare starkare än vad som egentligen behövs, |
| men mycket säkert och enkelt att hantera. |
| .P |
| Beroenden för ett bibliotek slås upp på flera platser. Den första filen som |
| innehåller information om det intressanta biblioteket används: |
| .IP debian/shlibs.local |
| Paketlokal överstyrande beroendeinformation för delade bibliotek. |
| .IP /etc/dpkg/shlibs.override |
| Systemspecifik överstyrande beroendeinformation för delade bibliotek. |
| .IP debian/*/DEBIAN/shlibs |
| Information om delade bibliotek som skapats av den aktuella byggproceduren |
| som också anropade \fBdpkg\-shlibdeps\fP. De genereras av |
| \fBdpkg\-gensymbols\fP(1). De används bara om biblioteket finns i paketets |
| byggträd. Filen shlibs i byggträdet går före shlibs\-filer från andra paket. |
| .IP "Utdata från \(rq\fBdpkg\-query \-\-control\-path\fP \fIpackage\fP shlibs\(rq" |
| Paketlokal överstyrande beroendeinformation för delade bibliotek. Filerna |
| befinner sig i /var/lib/dpkg om inte överstyrt med \-\-admindir. |
| .IP /etc/dpkg/shlibs.default |
| Systemspecifik standardberoendeinformation för delade bibliotek. |
| .P |
| De utökade beroendena används sedan direkt (förutom om de filtrerats bort |
| för att de identifierats som dubbletter, eller svagare än ett annat |
| beroende). |
| .SH FLAGGOR |
| \fBdpkg\-shlibdeps\fP tolkar argument som inte är flaggor som namn på körbara |
| filer, precis som om de angivits som \fB\-e\fP\fIprogramfil\fP. |
| .TP |
| \fB\-e\fP\fIprogramfil\fP |
| Ta med beroenden som är passar för delade bibliotek som krävs för |
| \fIprogramfil\fP. |
| .TP |
| \fB\-d\fP\fIberoendefält\fP |
| Lägg till beroenden som skall läggas till till control\-filens beroendefält |
| \fIberoendefält\fP. (Beroenden för detta fält läggs in i variabeln |
| \fBshlibs:\fP\fIberoendefält\fP.) |
| |
| Flaggan \fB\-d\fP\fIberoendefält\fP gäller för samtliga binärer efter flaggan, fram |
| till nästa \fB\-d\fP\fIberoendefält\fP. Standardvärdet för \fIberoendefält\fP är |
| \fBDepends\fP. |
| |
| Om samma katalogpost (eller en uppsättning alternativ) förekommer i mer än |
| ett av de kända beroendefältnamnen \fBPre\-Depends\fP, \fBDepends\fP, |
| \fBRecommends\fP, \fBEnhances\fP eller \fBSuggests\fP så kommer \fBdpkg\-shlibdeps\fP att |
| automatiskt ta bort beroendet från samtliga fält förutom det som anger de |
| viktigaste beroendena. |
| .TP |
| \fB\-p\fP\fIvariabelnamnsprefix\fP |
| Inled substitueringsvariabler med \fIvariabelnamnsprefix\fP\fB:\fP i stället för |
| \fBshlibs:\fP. På samma sätt kommer befintliga substitueringsvariabler som |
| inleds med \fIvariabelnamnsprefix\fP\fB:\fP (i stället för \fBshlibs:\fP) att tas |
| bort från substitueringsvariabelfilen. |
| .TP |
| \fB\-O\fP |
| Skriv substitueringsvariabelinställningar på standard ut, i stället för att |
| försöka lägga till dem i substitueringsvariabelfilen (som standard |
| \fBdebian/substvars\fP). |
| .TP |
| \fB\-t\fP\fItyp\fP |
| Föredra information om delade bibliotek som märkts för den givna |
| pakettypen. Om det inte finns någon märkt information används |
| omärkt. Standardpakettypen är "deb". Beroendeinformation för delade |
| bibliotek märks för en given typ genom att inleda det med namnet på typen, |
| ett kolon, samt blanktecken. |
| .TP |
| \fB\-L\fP\fIlokal\-shlibs\-fil\fP |
| Läs överstyrande beroendeinformation om delade bibliotek från |
| \fIlokal\-shlibs\-fil\fP i stället för \fBdebian/shlibs.local\fP. |
| .TP |
| \fB\-T\fP\fIsubstvars\-fil\fP |
| Skriv substitueringsvariabler i \fIsubstvars\-fil\fP; standard är |
| \fBdebian/substvars\fP. |
| .TP |
| \fB\-V\fP |
| Aktiverar pratsamt läge. Flera meddelanden visas för att förklara vad |
| \fBdpkg\-shlibs\fP håller på med. |
| .TP |
| \fB\-x\fP\fIpaket\fP |
| Uteslut paketet från de genererade beroendena. Flaggan är användbar för att |
| undvika självberoenden för paket som innehåller ELF\-binärer (exekverbara |
| eller biblioteksinsticksprogram) som använder ett bibliotek som ligger i |
| samma paket. Flaggan kan användas flera gånger för att utesluta flera paket. |
| .TP |
| \fB\-S\fP\fIpaketbyggkatalog\fP |
| Se först i \fIpaketbyggkatalog\fP vid försök att hitta ett |
| bibliotek. Användbart när källkodspaketet bygger flera varianter av samma |
| bibliotek och du vill se till att du får beroendet från ett givet |
| binärpaket. Flaggan kan inte användas flera gånger: kataloger söks efter i |
| samma ordning före kataloger från andra binärpaket. |
| .TP |
| \fB\-\-ignore\-missing\-info\fP |
| Misslyckas inte om det inte upptäcks någon beroendeinformation för ett delat |
| bibliotek. Alla bibliotek bör tillhandahålla beroendeinformation (antingen |
| med shlibs\-filer eller med symbols\-filer), även om de ännu inte används av |
| andra paket. |
| .TP |
| \fB\-\-warnings=\fP\fIvärde\fP |
| \fIVärde\fP är ett bitfält som anger de varningar som kan ges av |
| \fBdpkg\-shlibdeps\fP. Bit 0 (värde=1) aktiverar varningen "symbolen \fIsym\fP, som |
| används av \fIbinär\fP, hittades inte i något av biblioteken", bit 1 (värde=2) |
| aktiverar varningen "beroendet på \fIbibliotekt\fP kunde undvikas" och bit 2 |
| (värde=4) aktiverar varningen "\fIbinär\fP borde inte vara länkat mot |
| \fIbibliotek\fP". Standard för \fIvärde\fP är 3: de första två varningarna är |
| aktiva som standard, men inte den sista. Sätt \fIvärde\fP till 7 om du vill att |
| alla varningar skall vara aktiva. |
| .TP |
| \fB\-\-admindir=\fP\fIkat\fP |
| Ändra platsen för \fBdpkg\fP\-databasen. Förval är \fI/var/lib/dpkg\fP. |
| .TP |
| \fB\-h\fP, \fB\-\-help\fP |
| Visar hjälpskärm och avslutar. |
| .TP |
| \fB\-\-version\fP |
| Visar version och avslutar. |
| . |
| .SH VARNINGAR |
| Eftersom \fBdpkg\-shlibdeps\fP analyserar mängden symboler som används av varje |
| binärfil i det genererade paketet, kan det i flera fall skriva ut |
| varningsmeddelanden. De visar på saker som kan förbättras i paketet. I de |
| flesta fall gäller förbättringarna direkt uppströmskällkoden. Här är de |
| varningar du kan stöta på, i fallande allvarlighetsgrad: |
| .TP |
| \fBsymbolen\fP \fIsym\fP\fB, som används av\fP \fIbinär\fP\fB, hittades inte i något av biblioteken.\fP |
| Den omnämnda symbolen hittades inte i biblioteken som länkas mot |
| binären. \fIBinär\fP är antagligen ett bibliotek och måste länkas mot ett annat |
| bibliotek under byggproceduren (länkarflaggan \fB\-l\fP\fIbibliotek\fP). |
| .TP |
| \fIbinär\fP \fBinnehåller en referens till symbolen\fP \fIsym\fP \fBsom inte kan kopplas; det är troligen ett insticksprogram\fP |
| Den angivna symbolen hittades inte i biblioteken som länkats mot |
| binären. \fIBinär\fP är antagligen ett insticksprogram och symbolen |
| tillhandahålls av programmet som läser in det. I teorin har inte |
| insticksprogram något SONAMN, men den här binären har ett och därmed kunde |
| det inte tydligt identifieras som insticksprogram. Det faktum att binären |
| befinner sig i en icke\-offentlig katalog är dock en stark indikation på att |
| det inte är ett vanligt delat bibliotek. Om binären faktiskt är ett |
| insticksprogram kan du ignorera varningen. Det är dock alltid möjligt att |
| det är ett riktigt bibliotek och att program som länker det använder en |
| RPATH så att den dynamiska länkaren hittar det. Om så är fallet är |
| biblioteket trasigt och behöver fixas. |
| .TP |
| \fBBeroendet på\fP \fIbibliotek\fP \fBkunde undvikas om inte\fP \fIbinärer\fP \fBmeningslöst länkades mot det (de använder inga av dess symboler).\fP |
| Ingen av \fIbinärer\fPna som länkas mot \fIbibliotek\fP använder någon av |
| symbolerna som tillhandahålls av biblioteket. Genom att rätta alla binärer |
| kan du undvika beroendet som gäller detta bibliotek (såvida inte samma |
| beroende även genereras av ett annat bibliotek som faktiskt används). |
| .TP |
| \fIbinär\fP \fBborde inte vara länkat mot\fP \fIbibliotek\fP \fB(inga av symbolerna används).\fP |
| \fIBinär\fP länkar mot ett bibliotek den inte behöver. Det är inte ett problem, |
| Men genom att inte länka biblioteket mot binären kan man uppnå en mindre |
| prestandaförbättring. Varningen kontrollerar samma information som den |
| föregående, men gör det för varje binär istället för att utföra kontrollen |
| globalt på alla analyserade binärer. |
| .SH FELMEDDELANDEN |
| \fBdpkg\-shlibdeps\fP kommer att misslyckas om det inte hittar ett öppet |
| bibliotek som en av binärerna använder, eller om biblioteket saknar |
| associerad beroendeinformation (antingen en shlibs\-fil eller en |
| symbols\-fil). Ett öppet bibliotek har ett SONAMN och är versionshanterad |
| (libvadsomhelst.so.\fIX\fP). Ett privat bibliotek (till exempel ett |
| insticksprogram) bör inte ha något SONAMN och behöver inte vara |
| versionshanterat. |
| .TP |
| \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 |
| \fIBinär\fP använder ett bibliotek som heter \fIbibliotek\-sonamn\fP, men |
| \fBdpkg\-shlibdeps\fP kunde inte hitta biblioteket. \fBdpkg\-shlibdeps\fP skapar en |
| lista över kataloger det ser i på följande sätt: katalogerna som beskrivs i |
| RPATH i binären, kataloger som beskrivs i /etc/ld.so.conf, kataloger i |
| miljövariabeln LD_LIBRARY_PATH, och vanliga öppna kataloger (/lib, /usr/lib, |
| /lib32, /usr/lib32, /lib64, /usr/lib64). Därefter ser det i motsvarande |
| kataloger i byggträdet för paketet som innehåller binären som analyseras, i |
| paketbyggträdet som anges med kommandoradsflaggan \-S, i andra pakets |
| byggträd som innehåller en DEBIAN/shlibs\-fil och slutligen i |
| rotkatalogen. Om biblioteket inte hittas i någon av dessa kataloger får du |
| det här felmeddelandet. |
| |
| Om biblioteket som inte hittades ligger i en privat katalog i samma paket |
| bör du lägga till katalogen i LD_LIBRARY_PATH. Om det finns i ett annat |
| binärpaket som byggs bör du se till att shlibs\- eller symbols\-filen för |
| paketet redan har skapats och att LD_LIBRARY_PATH innehåller korrekt katalog |
| som det också ligger i en privat katalog. |
| .TP |
| \fBhittade ingen beroendeinformation för\fP \fIbiblioteksfil\fP \fB(använd av\fP \fIbinär\fP\fB).\fP |
| Biblioteket som behövs av \fIbinär\fP hittades i \fIbiblioteksfil\fP av |
| \fBdpkg\-shlibdeps\fP, men \fBdpkg\-shlibdeps\fP kunde inte hitta någon |
| beroendeinformation för biblioteket. För att hitta beroendet har det försökt |
| koppla biblioteket mot ett Debianpaket med hjälp av \fBdpkg \-S\fP |
| \fIbiblioteksfil\fP. Därefter såg det i motsvarande shlibs\- och symbols\-filer i |
| /var/lib/dpkg/info/, samt i de olika paketens byggträd (debian/*/DEBIAN/). |
| |
| Det här felet kan orsakas av felaktiga eller saknade shlibs\- eller |
| symbols\-filer i bibliotekets paket. Det kan även inträffa om biblioteket |
| byggts i samma källkodspaket och om shlibs\-filen ännu inte har skapats (då |
| måste du fixa debian/rules så att det skapar shlibs\-filen innan det anropar |
| \fBdpkg\-shlibdeps\fP). Felaktig RPATH kan också leda till att biblioteket |
| hittas under ett icke\-kanoniskt namn (till exempel: |
| /usr/lib/openoffice.org/../lib/libssl.so.9.8 istället för |
| /usr/lib/libssl.so.0.9.8) som inte associeras till något paket, |
| \fBdpkg\-shlibdeps\fP försöker gå runt detta genom att falla tillbaka på ett |
| kanoniskt namn (med \fBrealpath\fP(3)), men det fungerar kanske inte |
| alltid. Det är alltid bäst att städa upp RPATH i binären för att undvika |
| problem. |
| |
| Om du anropar \fBdpkg\-shlibdeps\fP i pratsamt läge (\-v) kommer det ge mycket |
| mer information om var det försökte hitta beroendeinformationen. Det kan |
| vara användbart om du inte förstår varför du får felmeddelandet. |
| .SH "SE ÄVEN" |
| \fBdeb\-shlibs\fP(5), \fBdeb\-symbols\fP(5), \fBdpkg\-gensymbols\fP(1). |
| . |
| .SH FÖRFATTARE |
| Upphovsrättsskyddat © 1995\-1996 Ian Jackson |
| .br |
| Upphovsrättsskyddat © 2000 Wichert Akkerman |
| .br |
| Upphovsrättsskyddat © 2006 Frank Lichtenheld |
| .br |
| Upphovsrättsskyddat © 2007\-2008 Raphaël Hertzog |
| .sp |
| Detta är fri programvara; se GNU General Public License version 2 eller |
| senare för kopieringsvillkor. Det finns INGEN GARANTI. |
| .SH "ÖVERSÄTTNING" |
| Peter Krefting och Daniel Nylander. |