Dynamische Bibliothek kann unter Linux nicht geladen werden Wenn die folgende abnormale Situation auftritt
Wenn der Pfad der dynamischen Bibliothek (/usr/cluster/.share/lib) ist Lösung: Methode 1: Fügen Sie den Pfad zur Datei /etc/ld.so.conf hinzu, vi /etc/ld.so.conf Fügen Sie den folgenden Inhalt hinzu include ld.so.conf.d/*.conf /usr/cluster/.share/lib Methode 2: Geben Sie im Terminal ein: Methode 3: Ändern Sie die Datei /etc/profile exportiere MPI_HOME=/usr/cluster export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$MPI_HOME/.share/lib Führen Sie source /etc/profile im Terminal aus, damit die Konfigurationsdatei wirksam wird Lösung für den Fehler beim Laden der dynamischen Bibliothek während der Ausführung des Programms Die Fehlermeldung lautet:
Im Allgemeinen gibt es dafür zwei Gründe: Einer ist, dass die gemeinsam genutzte Bibliothek (Datei lib*.so.*) nicht im Betriebssystem enthalten ist oder dass die Version der gemeinsam genutzten Bibliothek falsch ist. Die Lösung besteht darin, es erneut herunterzuladen und zu installieren. Ein weiterer Grund ist, dass die gemeinsam genutzte Bibliothek installiert wurde, aber wenn das Programm ausgeführt wird, das die gemeinsam genutzte Bibliothek aufrufen muss, kann das Programm die gemeinsam genutzte Bibliotheksdatei nicht gemäß dem Standardpfad der gemeinsam genutzten Bibliothek finden. Die Lösung lautet wie folgt: Wenn die gemeinsam genutzte Bibliotheksdatei im Verzeichnis /lib oder /usr/lib installiert ist, führen Sie den Befehl ldconfig aus. Der Zweck des Befehls ldconfig besteht darin, in den Standardsuchverzeichnissen (b und /usrb) und den in der Konfigurationsdatei für dynamische Bibliotheken /etc/ld.so.conf aufgeführten Verzeichnissen nach gemeinsam nutzbaren dynamischen Linkbibliotheken (im Format lib*.so*) zu suchen und dann die vom dynamischen Lader (ld.so) benötigten Verbindungs- und Cachedateien zu erstellen. Die Cachedatei ist standardmäßig /etc/ld.so.cache, in der die sortierte Liste der Namen dynamischer Linkbibliotheken gespeichert ist. Wenn die gemeinsam genutzte Bibliotheksdatei in /usr/local/lib (im Allgemeinen werden gemeinsam genutzte Open Source-Bibliotheken in diesem Verzeichnis installiert) oder in anderen Verzeichnissen als /lib oder /usr/lib installiert ist, müssen Sie vor der Ausführung des Befehls ldconfig auch das neue Verzeichnis der gemeinsam genutzten Bibliothek zur Konfigurationsdatei der gemeinsam genutzten Bibliothek /etc/ld.so.conf hinzufügen, und zwar wie folgt: # Katze /etc/ld.so.conf include ld.so.conf.d/*.conf # echo "/usr/local/lib" >> /etc/ld.so.conf #ldconfig Oder erstellen Sie eine neue Datei mit der Endung .conf im Verzeichnis /etc/ld.so.conf.d/ und fügen Sie der Datei das Verzeichnis hinzu, in dem sich die Bibliotheksdatei befindet. Führen Sie dann ldconfig aus, um die Datei /etc/ld.so.cache zu aktualisieren. Wenn die gemeinsam genutzte Bibliotheksdatei in einem anderen Verzeichnis als /lib oder /usr/lib installiert ist, Sie den Pfad zur gemeinsam genutzten Bibliothek jedoch nicht zur Datei /etc/ld.so.conf hinzufügen möchten (oder nicht über die Berechtigung zum Hinzufügen des Pfads verfügen). Sie können eine globale Variable LD_LIBRARY_PATH gibt dem Loader an, in welchen Verzeichnissen gemeinsam genutzte Bibliotheken zu finden sind. Sie können mehrere Suchverzeichnisse festlegen, die durch Doppelpunkte getrennt sind. Wenn Sie beispielsweise mysql im Verzeichnis /usr/local/mysql installiert haben und sich viele Bibliotheksdateien unter /usr/local/mysql/lib befinden, können Sie die folgende Anweisung zu .bashrc oder .bash_profile oder Shell hinzufügen: Im Allgemeinen handelt es sich hierbei nur um eine vorübergehende Lösung, die zum Einsatz kommt, wenn keine Berechtigung vorliegt oder ein vorübergehender Bedarf besteht. Wenn die vom Programm benötigte Bibliotheksdatei niedriger ist als die aktuell im System vorhandene Version der Bibliotheksdatei, kann eine Verknüpfung hergestellt werden. Zum Beispiel: Fehler beim Laden gemeinsam genutzter Bibliotheken: libncurses.so.4: Gemeinsam genutzte Bibliotheken können nicht geöffnet werden Objektdatei: Keine solche Datei oder kein solches Verzeichnis ls /usr/lib/libncu* /usr/lib/libncurses.a /usr/lib/libncurses.so.5 /usr/lib/libncurses.so /usr/lib/libncurses.so.5.3 Es ist ersichtlich, dass es zwar kein libncurses.so.4 gibt, aber das abwärtskompatible libncurses.so.5. Erstellen Sie einfach einen Link ln -s /usr/lib/libncurses.so.5.3 /usr/lib/libncurses.so.4 Zusammenfassen Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, dass der Inhalt dieses Artikels einen gewissen Lernwert für Ihr Studium oder Ihre Arbeit hat. Vielen Dank für Ihre Unterstützung von 123WORDPRESS.COM. Wenn Sie mehr darüber erfahren möchten, schauen Sie sich bitte die folgenden Links an Das könnte Sie auch interessieren:
|
<<: jQuery-Plugin zum Erzielen eines Code-Rain-Effekts
>>: jQuery-Plugin zum Implementieren eines schwebenden Menüs
Inhaltsverzeichnis 1. Abschluss 2. Szenarien für ...
Umfeld System: Ubuntu 18.04 Software: qt5.12.8 1....
1. löschen delete ist die einzige wirkliche Mögli...
Kürzlich hat das WeChat Mini-Programm Anpassungen...
1. Fügen Sie zuerst das ul-Tag im Textkörper hinz...
Allgemeiner Handy-Stil: @media alle und (Ausricht...
Inhaltsverzeichnis Vorwort Fehlergrenze Jenseits ...
1. MySQL-Exportdatei: SELECT `pe2e_user_to_compan...
Vue-Busmechanismus (Bus) Zusätzlich zur Verwendun...
Ich habe heute eine neue Version von MySQL (8.0.2...
Bei der Verwendung von jquery-multiselect (einem ...
Inhaltsverzeichnis 1. Konventionelle Ideen zur Ze...
Online-Vorschau https://jsrun.pro/AafKp/ Erster B...
Vorwort Bei der Anwendung von Datenbanken haben P...
Lösung für das Problem, dass in Linux kein Entpac...