Error while loading shared libraries: libpq.so.5: cannot open shared object file: No such file or directory
Ich versuche ausführen pg_dump
auf PostgreSQL 9.0.4-server läuft auf Debian und ich erhalte den folgenden Fehler:
./pg_dump: error while loading shared libraries: libpq.so.5: cannot open shared object file: No such file or directory
libpq.so.5
ist ein link zu libpq.so.5.3
wie unten gezeigt
lrwxrwxrwx 1 root root 12 Jun 27 16:24 libpq.so.5 -> libpq.so.5.3
-rwxr-xr-x 1 root root 180749 Jun 21 02:43 libpq.so.5.3
Was ich falsch mache?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen Sie dies:
1: wir Kennen den Weg, der
libpq.so.5
Ausgabe Beispiel:
/usr/pgsql-9.4/lib/libpq.so.5
Wenn nichts gefunden wird, überprüfen, wenn Sie bereits installiert haben das passende postgresql-libs für Ihre postgresql-version und dein OS-Plattform
2: Symbolische Verknüpfung, die Bibliothek in eine "bekannte" library Pfad wie
/usr/lib
:Achtung:
Wenn Ihre Plattform ist 64-bit, MÜSSEN Sie auch den symbolischen link auf den 64-bit Bibliotheken-Pfad:
3: glücklich Sein !
In welchem Verzeichnis sind diese
libpq
Dateien? Sie können versuchen, setzen von environment-VariablenLD_LIBRARY_PATH
zu zeigen, um dieses Verzeichnis oder stellen Sie sicher, es ist in standard-Platz.Auch, warum nicht
libpq.so.5
link angezeigt wird, wie unten gezeigt," Bereich? Vielleicht sollte man einfach laufenldconfig
?LD_LIBRARY_PATH=/opt/postgres/9.0.4/server/lib ./pg_dump
Befehl./opt/postgres/9.0.4/server/lib
und den BefehlLD_LIBRARY_PATH=/opt/postgres/9.0.4/server/lib ./pg_dump
Ergebnissen genau die Nachricht, die Sie erwähnen?file ./pg_dump
unduname -a
?:~$ file /opt/postgres/9.0.4/server/bin/pg_dump /opt/postgres/9.0.4/server/bin/pg_dump: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.18, not stripped
:~$ uname -a Linux db01 2.6.32-5-amd64 #1 SMP Mon Mar 7 21:35:22 UTC 2011 x86_64 GNU/Linux
LD_LIBRARY_PATH=/opt/postgres/9.0.4/server/lib ldd ./pg_dump
Ausgabe geben wir Ihnen einige Hinweise, aber nicht wahrscheinlich.ln -s /opt/postgres/9.0.4/server/lib/libpq.so.5.3 /usr/lib/libpq.so.5
- und es funktionierte!LD_LIBRARY_PATH
haben sollte den gleichen Effekt hatte.War ich immer die gleiche Fehlermeldung auf Postgres 9.5 auf RHEL 6.5, die dazu führen mich zu diesem post. Aber suchen nach der Datei
libpq.so.5
nichts zurückgegeben, und das machte die Sache noch verwirrender.Am Ende die folgenden symbolischen links aus laufen
Diese Pfade sind für RHEL verwenden
find /-name libpq.so
Ort Ihrer installation und fügen Sie es zu dem gleichen Ziel-Ordner/usr/lib/
und/usr/lib64/
mit der orginal Datei Namen.Die Ursache wird angezeigt, dass die installation nicht diese Datei in einem freigegebenen Speicherort.
Ich hatte genau das gleiche problem mit der pg 9.6 installieren. Ich fixe es so. Ziemlich irritierend, dass der installer nicht zu einem Faktor.