GNU/Linux >> LINUX-Kenntnisse >  >> Linux

ldd findet keinen Pfad, wie man hinzufügt

Wenn sich Ihre Bibliotheken nicht im Standardpfad befinden, müssen Sie sie entweder zum Pfad hinzufügen oder einen nicht standardmäßigen Pfad zu LD_LIBRARY_PATH

hinzufügen
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:<Your_non-Standard_path>

Sobald Sie eines der oben genannten Dinge getan haben, müssen Sie die Laufzeitbindung des dynamischen Linkers aktualisieren, indem Sie den folgenden Befehl ausführen:

sudo ldconfig

AKTUALISIERUNG:

Sie können die Änderungen dauerhaft machen, indem Sie entweder den obigen export schreiben Zeile in eine Ihrer Startdateien (z. B. ~/.bashrc) ODER Wenn die zugrunde liegende Bibliothek nicht mit einer anderen Bibliothek in Konflikt steht, dann in einen der Standardbibliothekspfade einfügen (z. B. /lib,/usr/lib)


LD_LIBRARY_PATH eignet sich für kurze Tests, da es aber nur eine Variable gibt , ist es umständlich zu verwenden, wenn Sie möglicherweise mehrere Anwendungen mit benutzerdefinierten Bibliotheken haben.

Der übliche Weg für Debian/Ubuntu besteht darin, es zur Konfiguration des Loaders hinzuzufügen, z. B. eine Datei unter

/etc/ld.so.conf.d

mit dem Verzeichnis, in dem der Loader suchen soll, z. B.

/usr/local/libcsfml

Weiterführende Literatur:

  • ldconfig - Laufzeitbindungen für dynamische Linker konfigurieren
  • ld.so, ld-linux.so* - dynamischer Linker/Lader
  • Warum LD_LIBRARY_PATH schlecht ist

Dies sieht so aus, als ob die fragliche Binärdatei von Ihnen kompiliert wurde.

Sie sind also für das Problem verantwortlich, dass einige Bibliotheken nicht gefunden werden können.

Falls diese Bibliotheken auf Ihrem System verfügbar sind, scheinen sie sich in nicht standardmäßigen Verzeichnissen zu befinden.

Verwenden Sie -R directory für den abschließenden Compiler-Aufruf, um dem Linker den directory mitzuteilen wo sich die Bibliotheken befinden. Mehr als ein einzelnes -R directory Option ist möglich.

Beachten Sie das, wenn Sie gcc verwenden , müssen Sie möglicherweise -Wl,-R verwenden statt -R .


Linux
  1. Wie füge ich einen Pfad zu Pfad richtig hinzu?

  2. Finden:Prune ignoriert den angegebenen Pfad nicht?

  3. Linux – Ldd findet keinen Pfad, wie fügt man ihn hinzu?

  4. Fügen Sie dem Pfad ein Bash-Skript hinzu

  5. Finden Sie heraus, ob sich die Bibliothek im Pfad befindet

So fügen Sie ein Verzeichnis zu PATH in Linux hinzu

So zählen Sie Dateien im Verzeichnis in Linux

So fügen Sie ein Verzeichnis zu PATH in Linux hinzu [Kurztipp]

Linux:Fügen Sie PATH ein Verzeichnis hinzu

Wie finde ich das Hadoop hdfs-Verzeichnis auf meinem System?

Wie füge ich Chromedriver zu PATH unter Linux hinzu?