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

ldconfig-Fehler:ist kein symbolischer Link

Ich bin auf dieses Problem mit dem Oracle 11R2-Client gestoßen. Ich bin mir nicht sicher, ob das Oracle-Installationsprogramm dies getan hat oder jemand es hier getan hat, bevor ich angekommen bin. Es war nicht 64-Bit vs. 32-Bit, alles war 64-Bit.

Der Fehler war dieser libexpat.so.1 war kein symbolischer Link.

Es stellte sich heraus, dass es zwei identische Dateien gab, libexpat.so.1.5.2 und libexpat.so.1 . Das Entfernen der problematischen Datei und das Erstellen eines Symlinks zur Version 1.5.2 führte dazu, dass der Fehler behoben wurde.

Es ist sinnvoll, dass der bekannte Name ein Symlink zur aktuellen Version sein soll. Wenn Sie dies tun, ist es weniger wahrscheinlich, dass Sie mit einer veralteten Bibliothek enden.


Gelöst, zumindest am Punkt der Frage.

Ich habe im Web gesucht, bevor ich gefragt habe, und es gab keine schlüssige Lösung, der Grund für diesen Fehler ist:lib1.so und lib2.so sind nicht in Ordnung, sehr wahrscheinlich wurden sie nicht für einen 64-PC kompiliert, sondern für eine 32-Bit-Maschine lib3.so ist eine 64-Bit-Bibliothek. Das ist zumindest meine Hypothese.

SEHR unglücklicherweise gibt ldconfig keine saubere Fehlermeldung aus, die darüber informiert, dass die Bibliothek nicht geladen werden konnte, sondern pumpt nur:

ldconfig:/folder_where_the_wicked_lib_is/ ist kein symbolischer Link

Ich habe das gelöst, als ich die von ldd nicht gefundenen Bibliotheken über die Binärdatei entfernt habe. Jetzt ist es einfacher, dass ich weiß, wo das Problem liegt.

Meine ld-Version:GNU ld-Version 2.20.51, und ich weiß nicht, ob eine neuere Version eine bessere Botschaft für ihre Benutzer hat.

Danke.


Ich habe einfach den folgenden Befehl ausgeführt:

export LD_LIBRARY_PATH=/usr/lib/

Jetzt funktioniert es einwandfrei.


Linux
  1. Gimp startet nicht, Gegl-Fehler?

  2. So beheben Sie den Vi/Vim-Editor-Fehler – E319:Entschuldigung, der Befehl ist in dieser Version nicht verfügbar

  3. Link mit einer älteren Version von libstdc++

  4. Wie kann ich auf eine bestimmte Glibc-Version verlinken?

  5. Umgebungsvariablen in symbolischen Links

If…else…if-Anweisung (Fehler „Befehl nicht gefunden“)?

Wie komprimiert man einen symbolischen Link?

Wie verschiebe ich einen relativen symbolischen Link?

Symbolischen Link erstellen:Protokollfehler

Warum erstellt mein symbolischer Link eine Datei und keinen Ordner?

sshpass:Fehler „Befehl nicht gefunden“.