.\" Automatically generated by Pod::Man 4.14 (Pod::Simple 3.40) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" ======================================================================== .\" .IX Title "dpkg-shlibdeps 1" .TH dpkg-shlibdeps 1 "2022-09-01" "1.20.12" "dpkg suite" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "BEZEICHNUNG" .IX Header "BEZEICHNUNG" dpkg-shlibdeps \- Substvar\-Abh\(:angigkeiten f\(:ur Laufzeitbibliotheken erstellen .SH "\(:UBERSICHT" .IX Header "\(:UBERSICHT" \&\fBdpkg-shlibdeps\fR [\fIOption\fR…] [\fB\-e\fR] \fIProgramm\fR [\fIOption\fR…] .SH "BESCHREIBUNG" .IX Header "BESCHREIBUNG" \&\fBdpkg-shlibdeps\fR berechnet Abh\(:angigkeiten von Laufzeitbibliotheken f\(:ur Programme, deren Namen als Argument \(:ubergeben werden. Die Abh\(:angigkeiten werden zu der Datei der Ersetzungsvariablen \fBdebian/substvars\fR als Variablennamen \fBshlibs:\fR\fIAbh\(:angigkeitsfeld\fR hinzugef\(:ugt, wobei \&\fIAbh\(:angigkeitsfeld\fR der Feldname einer Abh\(:angigkeit ist. Alle anderen Variablen, die mit \fBshlibs:\fR beginnen, werden aus der Datei entfernt. .PP \&\fBdpkg-shlibdeps\fR hat zwei m\(:ogliche Informationsquellen zur Erstellung der Abh\(:angigkeitsinformationen. Entweder \fISymbol\fR\- oder \&\fIShlibs\fR\-Dateien. \fBdpkg-shlibdeps\fR findet f\(:ur jedes Programm, das es analysiert, die Bibliotheken heraus, gegen die es gelinkt ist. Bei jeder Bibliothek schaut es entweder in die \fISymbol\fR\- oder in die \fIShlibs\fR\-Datei (falls Erstere nicht existiert oder falls \fBdebian/shlibs.local\fR die relevanten Abh\(:angigkeiten enth\(:alt). Beide Dateien sollten von dem Bibliothekspaket bereitgestellt werden und sollten daher als /var/lib/dpkg/info/\fIPaket\fR.\fISymbol\fR oder /var/lib/dpkg/info/\fIPaket\fR.\fIShlibs\fR verf\(:ugbar sein. Der Paketname wird in zwei Schritten identifiziert: zuerst wird die Bibliotheksdatei auf dem System gefunden (durch Pr\(:ufung der gleichen Verzeichnisse wie bei \fBld.so\fR), dann wird \fBdpkg \-S\fR \&\fIBibliotheksdatei\fR verwendet, um das Paket, das die Bibliothek bereitstellt, zu ermitteln. .SS "Symboldateien" .IX Subsection "Symboldateien" Symboldateien enthalten feiner-granulare Abh\(:angigkeitsinformationen, indem sie die Minimalabh\(:angigkeit f\(:ur jedes von der Bibliothek exportierte Symbol beschreiben. Das Skript versucht, eine Symboldatei, die zu dem Bibliothekspaket geh\(:ort, an den folgenden Orten zuzuordnen (der erste Treffer wird verwendet): .IP "debian/*/DEBIAN/symbols" 4 .IX Item "debian/*/DEBIAN/symbols" Informationen \(:uber Laufzeitbibliotheken, die vom aktuellen Bauprozess erstellt werden, der auch \fBdpkg-shlibdeps\fR aufruft. Sie werden von \&\fBdpkg-gensymbols\fR(1) erstellt. Sie werden nur verwendet, falls die Bibliothek im Bau-Baum des Pakets gefunden wird. Die Symboldatei im Bau-Baum hat Vorrang gegen\(:uber Symboldateien aus anderen Bin\(:arpaketen. .IP "/etc/dpkg/symbols/\fIPaket\fR.symbols.\fIArchitektur\fR" 4 .IX Item "/etc/dpkg/symbols/Paket.symbols.Architektur" .PD 0 .IP "/etc/dpkg/symbols/\fIPaket\fR.symbols" 4 .IX Item "/etc/dpkg/symbols/Paket.symbols" .PD Systemabh\(:angige \(:Uberschreibung der Abh\(:angigkeitsinformationen von Laufzeitbibliotheken. \fIArchitektur\fR ist die Architektur des aktuellen Systems (ermittelt durch \fBdpkg-architecture \-qDEB_HOST_ARCH\fR). .IP "Ausgabe von \(Bq\fBdpkg-query \-\-control\-path\fR \fIPaket\fR symbols\(lq" 4 .IX Item "Ausgabe von \(Bqdpkg-query --control-path Paket symbols\(lq" Vom Paket bereitgestellte Abh\(:angigkeitsinformationen f\(:ur Laufzeitbibliotheken. Falls nicht durch \fB\-\-admindir\fR \(:uberschrieben, befinden sich solche Dateien unter /var/lib/dpkg. .PP W\(:ahrend des Durchsuchens aller vom Programm verwendeten Symbole erinnert sich \fBdpkg-shlibdeps\fR an die (h\(:ochste) Minimalversion, die von jeder Bibliothek ben\(:otigt wird. Am Ende des Prozesses ist es in der Lage, die minimale Abh\(:angigkeit f\(:ur jede eingesetzte Bibliothek zu schreiben (vorausgesetzt, die Informationen in den \fISymbol\fR\-Dateien sind korrekt). .PP Als Sicherheitsma\(ssnahme kann eine Symbols-Datei ein Meta-Informationsfeld \&\fBBuild-Depends-Package\fR enthalten. \fBdpkg-shlibdeps\fR entnimmt dann die minimale Version, die von dem korrespondierenden Paket im Feld \&\fBBuild-Depends\fR ben\(:otigt wird, und verwendet diese Version, falls sie h\(:oher ist als die minimale Version, die beim Durchsuchen der Symbole ermittelt wurde. .SS "Shlibs-Dateien" .IX Subsection "Shlibs-Dateien" Shlibs-Dateien ordnen Bibliotheken direkt Abh\(:angigkeiten zu (ohne auf die Symbole zu schauen). Daher ist dies oft st\(:arker als ben\(:otigt, aber daf\(:ur sicher und leicht zu handhaben. .PP Die Abh\(:angigkeiten f\(:ur eine Bibliothek werden an verschiedenen Stellen nachgeschlagen. Die erste Datei, die Informationen f\(:ur die betrachtete Bibliothek bereitstellt, wird verwendet: .IP "debian/shlibs.local" 4 .IX Item "debian/shlibs.local" Paket\-beschr\(:ankte \(:Uberschreibung der Abh\(:angigkeitsinformationen von Laufzeitbibliotheken. .IP "/etc/dpkg/shlibs.override" 4 .IX Item "/etc/dpkg/shlibs.override" Systemabh\(:angige \(:Uberschreibung der Abh\(:angigkeitsinformationen von Laufzeitbibliotheken. .IP "debian/*/DEBIAN/shlibs" 4 .IX Item "debian/*/DEBIAN/shlibs" Informationen \(:uber Laufzeitbibliotheken, die vom aktuellen Bauprozess erstellt werden, der auch \fBdpkg-shlibdeps\fR aufruft. Sie werden nur verwendet, falls die Bibliothek im Bau-Verzeichnis eines Pakets gefunden wird. Die Shlibs-Datei in diesem Bau-Verzeichnis hat gegen\(:uber Shlibs-Dateien von anderen Bin\(:arpaketen Vorrang. .IP "Ausgabe von \(Bq\fBdpkg-query \-\-control\-path\fR \fIPaket\fR shlibs\(lq" 4 .IX Item "Ausgabe von \(Bqdpkg-query --control-path Paket shlibs\(lq" Vom Paket bereitgestellte Abh\(:angigkeitsinformationen f\(:ur Laufzeitbibliotheken. Falls nicht durch \fB\-\-admindir\fR \(:uberschrieben, befinden sich solche Dateien unter /var/lib/dpkg. .IP "/etc/dpkg/shlibs.default" 4 .IX Item "/etc/dpkg/shlibs.default" Systemabh\(:angige Vorgaben f\(:ur Abh\(:angigkeitsinformationen von Laufzeitbibliotheken. .PP Die entnommenen Abh\(:angigkeiten werden direkt verwendet (es sei denn, sie werden als Dubletten herausgefiltert oder sie sind schw\(:acher als eine andere Abh\(:angigkeit). .SH "OPTIONEN" .IX Header "OPTIONEN" \&\fBdpkg-shlibdeps\fR interpretiert nicht-Options-Argumente als Namen von ausf\(:uhrbaren Programmen, als ob diese mit \fB\-e\fR\fIProgramm\fR \(:ubergeben worden w\(:aren. .IP "\fB\-e\fR\fIProgramm\fR" 4 .IX Item "-eProgramm" Nimmt Abh\(:angigkeiten auf, die f\(:ur von \fIProgramm\fR ben\(:otigte Laufzeitbibliotheken angemessen sind. Diese Option kann mehrfach angegeben werden. .IP "\fB\-l\fR\fIVerzeichnis\fR" 4 .IX Item "-lVerzeichnis" Stellt \fIVerzeichnis\fR der Liste der zu durchsuchenden privaten Laufzeitbibliotheken voran (seit Dpkg 1.17.0). Diese Option kann mehrfach angegeben werden. .Sp \&\fBHinweis\fR: Verwenden Sie diese Variable, statt \fB\s-1LD_LIBRARY_PATH\s0\fR zu setzen, da diese Umgebungsvariable verwandt wird, um den Laufzeit-Linker zu steuern und ihr Missbrauch zum Setzen von Pfaden zu Laufzeitbibliotheken zur Bauzeit kann beispielsweise beim Cross-Kompilieren problematisch werden. .IP "\fB\-d\fR\fIAbh\(:angigkeitsfeld\fR" 4 .IX Item "-dAbh\(:angigkeitsfeld" F\(:ugt Abh\(:angigkeiten hinzu, die zum \fIAbh\(:angigkeitsfeld\fR der Steuerdatei hinzugef\(:ugt werden sollen. (Die Abh\(:angigkeiten f\(:ur dieses Feld werden in die Variable \fBshlibs:\fR\fIAbh\(:angigkeitsfeld\fR geschrieben.) .Sp Die Option \fB\-d\fR\fIAbh\(:angigkeitsfeld\fR betrifft alle Programme, die danach angegeben werden, bis zum n\(:achsten \fB\-d\fR\fIAbh\(:angigkeitsfeld\fR. Der Standardwert f\(:ur \fIAbh\(:angigkeitsfeld\fR ist \fBDepends\fR. .Sp Falls der gleiche Abh\(:angigkeitseintrag (oder ein Satz von Alternativen) mehr als einmal in den erkannten Abh\(:angigkeitsfeldnamen \fBPre-Depends\fR, \&\fBDepends\fR, \fBRecommends\fR, \fBEnhances\fR oder \fBSuggests\fR auftaucht, wird \&\fBdpkg-shlibdeps\fR die Abh\(:angigkeit von allen Feldern au\(sser dem, das die wichtigsten Abh\(:angigkeiten repr\(:asentiert, entfernen. .IP "\fB\-p\fR\fIVariablennamepr\(:afix\fR" 4 .IX Item "-pVariablennamepr\(:afix" Beginnt die Ersetzungsvariablen mit \fIVariablennamepr\(:afix\fR\fB:\fR statt mit \&\fBshlibs:\fR. Entsprechend werden alle Ersetzungsvariablen, die mit \&\fIVariablennamepr\(:afix\fR\fB:\fR (statt mit \fBshlibs:\fR) beginnen, aus der Ersetzungsvariablendatei entfernt. .IP "\fB\-O\fR[\fIDateiname\fR]" 4 .IX Item "-O[Dateiname]" Gibt die Ersetzungsvariableneinstellung in die Standardausgabe (oder nach \&\fIDateiname\fR, falls angegeben, seit Dpkg 1.17.2) aus, statt sie zu der Ersetzungsvariablendatei (standardm\(:a\(ssig (\fBdebian/substvars\fR) hinzuzuf\(:ugen. .IP "\fB\-t\fR\fITyp\fR" 4 .IX Item "-tTyp" Bevorzugt Abh\(:angigkeitsinformationen f\(:ur Laufzeitbibliotheken, die f\(:ur ein vorgegebenes Paket markiert sind. Falls keine Markierungsinformation verf\(:ugbar ist, f\(:allt dies auf unmarkierte Informationen zur\(:uck. Der Standard-Pakettyp ist \fBdeb\fR. Abh\(:angigkeitsinformationen f\(:ur Laufzeitbibliotheken werden f\(:ur einen vorgegebenen Typ markiert, indem vor sie der Namen des Typs, ein Doppelpunkt und ein Leerraumzeichen gesetzt wird. .IP "\fB\-L\fR\fIlokale_shlibs\-Datei\fR" 4 .IX Item "-Llokale_shlibs-Datei" Liest die Hinwegsetz\-Abh\(:angigkeiten von Laufzeitbibliotheken aus \&\fIlokale_shlibs\-Datei\fR statt aus \fBdebian/shlibs.local\fR. .IP "\fB\-T\fR\fISubstvars-Datei\fR" 4 .IX Item "-TSubstvars-Datei" Schreibt Ersetzungsvariablen in \fISubstvars-Datei\fR; standardm\(:a\(ssig \&\fBdebian/substvars\fR. .IP "\fB\-v\fR" 4 .IX Item "-v" Aktiviert ausf\(:uhrlichen Modus (seit Dpkg 1.14.8). Eine Vielzahl von Meldungen wird angezeigt, um zu erkl\(:aren, was \fBdpkg-shlibdeps\fR durchf\(:uhrt. .IP "\fB\-x\fR\fIPaket\fR" 4 .IX Item "-xPaket" Schlie\(sst das Paket von den generierten Abh\(:angigkeiten aus (seit Dpkg 1.14.8). Dies ist f\(:ur Pakete n\(:utzlich, die ELF-Programmdateien (Programme oder Bibliothekserweiterungen) bereitstellen, die eine Bibliothek im gleichen Paket verwendet, um Abh\(:angigkeiten des Pakets zu sich selbst zu vermeiden. Diese Option kann mehrfach verwendet werden, um mehrere Pakete auszuschlie\(ssen. .IP "\fB\-S\fR\fIPaketbauverzeichnis\fR" 4 .IX Item "-SPaketbauverzeichnis" Schaut beim Versuch, eine Bibliothek zu finden, zuerst in \&\fIPaketbauverzeichnis\fR (seit Dpkg 1.14.15). Dies ist n\(:utzlich, wenn das Quellpaket mehrere Spielarten der gleichen Bibliothek baut und Sie sicherstellen wollen, dass Sie die Abh\(:angigkeit aus einem bestimmten Bin\(:arpaket erhalten. Sie k\(:onnen diese Option mehrfach verwenden: Verzeichnisse werden in der gleichen Reihenfolge vor Verzeichnissen anderer Bin\(:arpakete probiert. .IP "\fB\-I\fR\fIPaketbauverzeichnis\fR" 4 .IX Item "-IPaketbauverzeichnis" Ignoriert \fIPaketbauverzeichnis\fR beim Schauen nach Shlibs, Symbolen und gemeinsam benutzten Bibliotheken (seit Dpkg 1.18.5). Sie k\(:onnen diese Option mehrfach verwenden. .IP "\fB\-\-ignore\-missing\-info\fR" 4 .IX Item "--ignore-missing-info" Falls keine Abh\(:angigkeitsinformationen f\(:ur die Laufzeitbibliothek gefunden werden kann, erfolgt kein Fehlschlag (seit Dpkg 1.14.8). Von der Verwendung dieser Option wird abgeraten, da alle Bibliotheken Abh\(:angigkeitsinformationen bereitstellen sollten (entweder \(:uber shlibs-Dateien oder \(:uber symbols-Dateien), selbst falls diese noch nicht von anderen Paketen verwendet werden. .IP "\fB\-\-warnings=\fR\fIWert\fR" 4 .IX Item "--warnings=Wert" \&\fIWert\fR ist ein Bitfeld, das den Satz an Warnungen definiert, die von \&\fBdpkg-shlibdeps\fR ausgegeben werden k\(:onnen (seit Dpkg 1.14.17). Bit 0 (Wert=1) aktiviert die Warnung \(BqSymbol \fISym\fR, verwendet von \fIProgramm\fR, in keiner der Bibliotheken gefunden.\(lq, Bit 1 (Wert=2) aktiviert die Warnung \(BqDas Paket k\(:onnte eine nutzlose Abh\(:angigkeit vermeiden\(lq und Bit 2 (Wert=4) aktiviert die Warnung \(Bq\fIProgramm\fR sollte nicht gegen \fIBibliothek\fR gelinkt werden\(lq. Standardm\(:a\(ssig ist \fIWert\fR 3: die ersten zwei Warnungen sind standardm\(:a\(ssig aktiv, die letzte nicht. Setzen Sie \fIWert\fR auf 7, falls Sie m\(:ochten, dass alle Warnungen aktiv sein sollen. .IP "\fB\-\-admindir=\fR\fIVerz\fR" 4 .IX Item "--admindir=Verz" \(:Andert den Ablageort der \fBdpkg\fR\-Datenbank (seit Dpkg 1.14.0). Der Standardort ist \fI/var/lib/dpkg\fR. .IP "\fB\-?\fR, \fB\-\-help\fR" 4 .IX Item "-?, --help" Zeigt einen Hinweis zum Aufruf und beendet das Programm. .IP "\fB\-\-version\fR" 4 .IX Item "--version" Gibt die Version aus und beendet das Programm. .SH "UMGEBUNG" .IX Header "UMGEBUNG" .IP "\fB\s-1DPKG_COLORS\s0\fR" 4 .IX Item "DPKG_COLORS" Setzt den Farbmodus (seit Dpkg 1.18.5). Die derzeit unterst\(:utzten Werte sind: \fBauto\fR (Vorgabe), \fBalways\fR und \fBnever\fR. .IP "\fB\s-1DPKG_NLS\s0\fR" 4 .IX Item "DPKG_NLS" Falls dies gesetzt ist, wird es zur Entscheidung, ob Native Language Support, auch als Unterst\(:utzung f\(:ur Internationalisierung (oder i18n) bekannt, aktiviert wird (seit Dpkg 1.19.0). Die akzeptierten Werte sind: \&\fB0\fR und \fB1\fR (Vorgabe). .SH "DIAGNOSE" .IX Header "DIAGNOSE" .SS "Warnungen" .IX Subsection "Warnungen" Da \fBdpkg-shlibdeps\fR den Symbolsatz, der von jedem Programm des erstellten Pakets verwendet wird, analysiert, ist es in mehreren F\(:allen in der Lage, Warnungen auszugeben. Sie informieren Sie \(:uber Dinge, die im Paket verbessert werden k\(:onnen. Meistens betreffen diese Verbesserungen direkt die Quellen der Originalautoren. In der Reihenfolge abnehmender Wichtigkeit folgen hier die relevanten Warnungen, die auftauchen k\(:onnten: .IP "\fBSymbol\fR \fISymbol\fR\fB, verwendet von\fR \fIProgramm\fR\fB, in keiner der Bibliotheken gefunden.\fR" 4 .IX Item "Symbol Symbol, verwendet von Programm, in keiner der Bibliotheken gefunden." Das angegebene Symbol wurde nicht in den Bibliotheken gefunden, gegen die das Programm gelinkt wurde. \fIProgramm\fR ist h\(:ochstwahrscheinlich eine Bibliothek und muss mit zus\(:atzlichen Bibliotheken w\(:ahrend des Bau-Prozesses gelinkt werden (Option \fB\-l\fR\fIBibliothek\fR des Linkers). .IP "\fIProgramm\fR \fBenth\(:alt eine nicht\-aufl\(:osbare Referenz auf Symbol\fR \fISym\fR\fB: wahrscheinlich eine Erweiterung\fR." 4 .IX Item "Programm enth\(:alt eine nicht-aufl\(:osbare Referenz auf Symbol Sym: wahrscheinlich eine Erweiterung." Das angegebene Symbol wurde nicht in den Bibliotheken gefunden, die mit diesem Programm verlinkt sind. Das \fIProgamm\fR ist h\(:ochstwahrscheinlich eine Erweiterung und das Symbol wird von dem Programm bereitgestellt, das diese Erweiterung l\(:adt. Theoretisch verf\(:ugt eine Erweiterung nicht \(:uber einen SONAMEn, allerdings ist dies bei diesem Programm der Fall und daher konnte es nicht eindeutig als Erweiterung erkannt werden. Die Tatsache, dass dieses Programm in einem nicht\-\(:offentlichen Verzeichnis gespeichert wird, ist allerdings ein starkes Anzeichen daf\(:ur, dass es keine normale gemeinsam benutzte Bibliothek ist. Falls dieses Programm tats\(:achlich eine Erweiterung ist, ignorieren Sie die Warnung. Allerdings besteht immer die M\(:oglichkeit, dass es eine echte Bibliothek ist und dass Programme, die damit verlinken, einen \s-1RPATH\s0 verwenden, so dass der dynamische Lader sie findet. In diesem Fall ist die Bibliothek besch\(:adigt und muss repariert werden. .IP "\fBDas Paket k\(:onnte eine nutzlose Abh\(:angigkeit vermeiden, falls\fR \fIProgramm\fR \fBnicht gegen\fR \fIBibliothek\fR \fBgelinkt w\(:are (es verwendet keines der Symbole der Bibliothek).\fR" 4 .IX Item "Das Paket k\(:onnte eine nutzlose Abh\(:angigkeit vermeiden, falls Programm nicht gegen Bibliothek gelinkt w\(:are (es verwendet keines der Symbole der Bibliothek)." Keines der \fIProgramme\fR, die gegen \fIBibliothek\fR gelinkt sind, verwendet eines der von der Bibliothek bereitgestellten Symbole. Indem Sie die Programme korrigierten, vermieden Sie die Abh\(:angigkeit, die mit dieser Bibliothek verbunden ist (es sei denn, die Abh\(:angigkeit wird auch durch eine andere Bibliothek generiert, die diese Bibliothek wirklich verwendet). .IP "\fBDas Paket k\(:onnte eine nutzlose Abh\(:angigkeit vermeiden, falls\fR \fIProgramme\fR \fBnicht gegen\fR \fIBibliothek\fR \fBgelinkt w\(:aren (sie verwenden keines der Symbole der Bibliothek).\fR" 4 .IX Item "Das Paket k\(:onnte eine nutzlose Abh\(:angigkeit vermeiden, falls Programme nicht gegen Bibliothek gelinkt w\(:aren (sie verwenden keines der Symbole der Bibliothek)." Exakt das gleiche wie die obige Warnung, aber f\(:ur mehrere Programme. .IP "\fIProgramm\fR \fBsollte nicht gegen\fR \fIBibliothek\fR \fBgelinkt werden (es verwendet keines der Bibliotheks-Symbole).\fR" 4 .IX Item "Programm sollte nicht gegen Bibliothek gelinkt werden (es verwendet keines der Bibliotheks-Symbole)." Das \fIProgramm\fR ist gegen eine Bibliothek gelinkt, die es nicht ben\(:otigt. Das ist kein Problem, aber bei der Ladezeit k\(:onnen kleine Leistungsverbesserungen erreicht werden, indem diese Bibliothek nicht in das Programm gelinkt wird. Diese Warnung \(:uberpr\(:uft die gleichen Informationen wie die vorhergehende, allerdings f\(:ur jedes Programm statt global f\(:ur alle \(:uberpr\(:uften Programme. .SS "Fehler" .IX Subsection "Fehler" \&\fBdpkg-shlibdeps\fR wird fehlschlagen, falls es eine vom Programm verwendete \(:offentliche Bibliothek nicht finden kann oder falls diese Bibliothek keine zugeordneten Abh\(:angigkeitsinformationen hat (entweder eine Shlibs\- oder Symbols-Datei). Eine \(:offentliche Bibliothek hat einen \s-1SONAME\s0 und ist versioniert (libirgendwas.so.\fIX\fR). Eine private Bibliothek (wie z.B. eine Erweiterung) sollte keinen \s-1SONAME\s0 haben und braucht nicht versioniert zu sein. .IP "\fBkonnte Bibliothek\fR \fISONAME-der-Bibliothek\fR \fBben\(:otigt von\fR \fIProgramm\fR \fBnicht finden (ihr \s-1RPATH\s0 ist \(Bq\fR\fIrpath\fR\fB\(lq).\fR" 4 .IX Item "konnte Bibliothek SONAME-der-Bibliothek ben\(:otigt von Programm nicht finden (ihr RPATH ist \(Bqrpath\(lq)." Das \fIProgramm\fR verwendet eine Bibliothek mit Namen \&\fISONAME-der-Bibliothek\fR, aber \fBdpkg-shlibdeps\fR konnte diese Bibliothek nicht finden. \fBdpkg-shlibdeps\fR erstellt folgenderma\(ssen eine Liste der zu pr\(:ufenden Verzeichnisse: im \s-1RPATH\s0 des Programms aufgef\(:uhrte Verzeichnisse, durch die Option \fB\-l\fR hinzugef\(:ugte Verzeichnisse, in der Umgebungsvariable \&\fB\s-1LD_LIBRARY_PATH\s0\fR aufgef\(:uhrte Verzeichnisse, Cross-Multiarch-Verzeichnisse (z.B. /lib/arm64\-linux\-gnu, /usr/lib/arm64\-linux\-gnu), standardm\(:a\(ssige \(:offentliche Verzeichnisse (/lib, /usr/lib), in /etc/ld.so.conf aufgef\(:uhrte Verzeichnisse und veraltete Multilib-Verzeichnisse (/lib32, /usr/lib32, /lib64, /usr/lib64). Dann pr\(:uft es diese Verzeichnisse im Bau-Baum des analysierten Pakets, in den mit der Befehlszeilenoption \fB\-S\fR angegebenen Paketbauverzeichnissen, in anderen Paketbau\-B\(:aumen, die eine DEBIAN/shlibs\- oder DEBIAN/symbols\-Datei enthalten und schlie\(sslich im Wurzelverzeichnis. Falls die Bibliothek nicht in einem dieser Verzeichnisse gefunden wird, erhalten Sie diesen Fehler. .Sp Falls sich die nicht gefundene Bibliothek in einem privaten Verzeichnis des gleichen Pakets befindet, m\(:ussen Sie das Verzeichnis mit \fB\-l\fR hinzuf\(:ugen. Falls sie sich in einem anderen gerade zu bauenden Paket befindet, m\(:ussen Sie sicherstellen, dass die \(Bqshlibs/symbols\(lq\-Datei dieses Pakets bereits angelegt ist und das \fB\-l\fR das geeignete Verzeichnis enth\(:alt, falls die Bibliothek zudem in einem privaten Verzeichnis liegt. .IP "\fBKeine Abh\(:angigkeitsinformationen f\(:ur\fR \fIBibliotheksdatei\fR \fB(verwendet von\fR \fIProgramm\fR\fB) gefunden.\fR" 4 .IX Item "Keine Abh\(:angigkeitsinformationen f\(:ur Bibliotheksdatei (verwendet von Programm) gefunden." Die von \fIProgramm\fR ben\(:otigte Bibliothek wurde von \fBdpkg-shlibdeps\fR in \&\fIBibliotheksdatei\fR gefunden, allerdings konnte \fBdpkg-shlibdeps\fR keine Abh\(:angigkeitsinformationen f\(:ur diese Bibliothek ermitteln. Um die Abh\(:angigkeit herauszufinden, hat es versucht, die Bibliothek mittels \fBdpkg \&\-S\fR \fIBibliotheksdatei\fR auf ein Debian-Paket abzubilden. Dann \(:uberpr\(:ufte es die zugeh\(:origen Shlibs\- und Symboldateien in /var/lib/dpkg/info/ und die verschiedenen Paketbaub\(:aume (debian/*/DEBIAN/). .Sp Dieser Fehlschlag kann durch defekte oder fehlende Shlibs\- oder Symboldateien im Paket der Bibliothek ausgel\(:ost werden. Er k\(:onnte auch auftreten, falls die Bibliothek im gleichen Quellpaket gebaut wird und die Shlibs-Datei noch nicht angelegt wurde (wobei Sie in diesem Fall debian/rules korrigieren m\(:ussen, damit die Shlibs-Datei erstellt wird, bevor \&\fBdpkg-shlibdeps\fR aufgerufen wird). Defekte \s-1RPATH\s0 k\(:onnen auch dazu f\(:uhren, dass die Bibliothek unter nicht-kanonischen Namen gefunden wird (beispielsweise /usr/lib/openoffice.org/../lib/libssl.so.0.9.8 statt /usr/lib/libssl.so.0.9.8), so dass dann diese keinem Paket zugeordnet ist; \&\fBdpkg-shlibdeps\fR versucht dies zu umgehen, indem es auf einen kanonischen Namen (mittels \fBrealpath\fR(3)) zur\(:uckf\(:allt, allerdings k\(:onnte dies manchmal nicht funktionieren. Es ist immer am besten, den \s-1RPATH\s0 zu bereinigen, um Probleme zu vermeiden. .Sp Viele weitere Informationen dar\(:uber, wo nach Abh\(:angigkeitsinformationen gesucht wird, k\(:onnen durch einen Aufruf von \fBdpkg-shlibdeps\fR im detaillierten Modus (\fB\-v\fR) erhalten werden. Dies kann n\(:utzlich sein, falls Sie nicht verstehen, warum es Ihnen diesen Fehler meldet. .SH "SIEHE AUCH" .IX Header "SIEHE AUCH" \&\fBdeb-shlibs\fR(5), \fBdeb-symbols\fR(5), \fBdpkg-gensymbols\fR(1). .SH "\(:UBERSETZUNG" .IX Header "\(:UBERSETZUNG" Die deutsche \(:Ubersetzung wurde 2004, 2006\-2020 von Helge Kreutzmann , 2007 von Florian Rehnisch und 2008 von Sven Joachim angefertigt. Diese \(:Ubersetzung ist Freie Dokumentation; lesen Sie die \&\s-1GNU\s0 General Public License Version 2 oder neuer f\(:ur die Kopierbedingungen. Es gibt \s-1KEINE HAFTUNG.\s0