Betriebssystem ist openSUSE 12.1, PostgreSQL - 9.1, PostGIS - 2.0. Postgre / PostGIS werden aus dem Application: Geo-Repository installiert.
Nach den letzten Aktualisierungen beim Versuch, eine Verbindung zu meiner Datenbank herzustellen, wird der folgende Fehler angezeigt:
ERROR: could not load library "/usr/lib/postgresql91/lib64/postgis-2.0.so":
/usr/lib/postgresql91/lib64/postgis-2.0.so: undefined symbol: pj_get_spheroid_defn
Ich habe im Web nach diesem Fehler gesucht ( Hinweis-1 , Hinweis-2 ) und es scheint, dass er etwas mit ld.so.config (oder dem Befehl ldconfig) zu tun hat. Aber ich kann nicht herausfinden, was ich in meinem Fall tun muss.
postgis
postgresql
SS_Rebelious
quelle
quelle
proj --version
und / oderldd `which proj`
zeigt?Rel. 4.7.1, 23 September 2009
Wie kann ich es auf 4.8 aktualisieren? Ich habe keine Ideen mehr :( Ich benutze Ubuntu 12.4. Danke Mo.Antworten:
Dank MikeToews konnte ich dieses Problem beheben. PostGIS 2.0 in openSUSE hängt davon ab
libproj0
und seine Version muss> = 4.8 sein. Irgendwie hat mich der Paketmanager nicht über die neue Version informiert, die für das verfügbar ist,libproj0
also habe ich die neuere Version manuell über Yast auf der Registerkarte "Versionen" überprüft. Nach einem Update kann ich die Datenbank normal betreiben.quelle
Ich glaube nicht, dass die gewählte Antwort etwas mit dem Problem zu tun hat.
Was ist passiert
Sie haben eine neue Version von PostGIS installiert, die auf einer Version von proj basiert, die Sie nicht haben. Ihr Projekt wird wahrscheinlich von OpenSUSE bereitgestellt. Sie müssen die Version von proj aus dem Application: Geo-Repository oder die Version von PostGIS aus dem OpenSUSE- Hauptrepository installieren . Dies ist eine Nichtübereinstimmung zwischen Abhängigkeit und Client. Sie sollten einen Fehler in SUSE melden, wenn das Problem weiterhin besteht.
Es ist nicht so, dass PostGIS bei alten Versionen von proj nicht funktioniert. Es ist so, dass SUSE NUR PostGIS gegen neuere Versionen erstellt, sodass Sie eine benötigen.
PostGIS und altes proj
Aus einem vor zwei Jahren eingereichten Fehlerbericht ,
Ich denke das ist das Problem. Sie haben gegen eine neuere Version von proj gebaut, als Sie installiert haben. Ein Upgrade der Installation auf die Version, die Sie agianst erstellt haben, ist nur eine Möglichkeit, das Problem zu beheben.
Sie können diese hier aufgerufene Funktion sehen und sie ist durch eine geschützt
if
.Wenn das nicht funktioniert, haben Sie ein anderes Problem. Es wird vom Build-System in einem 10 Jahre alten Makro bereitgestellt
quelle
mmrs151. Upgrade von proj Version 4.7 auf proj 4.8 unter Ubuntu 13.04. Zumindest hat es mir geholfen, das gleiche Problem zu lösen.
quelle