2013-08-06 15 views
13

Ich habe Postgis und Postgresql über Homebrew auf meinem Mac installiert, und ich wollte meine Version von Postgis auf 2.1.0-rc2 aktualisieren. Ich habe meine Version von Postgis aufgehoben und dann die Postgis-Homebrew-Formel bearbeitet. Nachdem die neue Formel nicht kompiliert wurde, verknüpfte ich die alte Formel neu und erhalte nun den folgenden Fehler, wenn ich versuche, eine Datenbanktabelle mit einer räumlichen Spalte aufzurufen:Rails Postgis Upgrade Probleme

PG::UndefinedFile: ERROR: could not load library 
"/usr/local/Cellar/postgresql/9.2.4/lib/postgis-2.0.so": 
dlopen(/usr/local/Cellar/postgresql/9.2.4/lib/postgis-2.0.so, 10): Symbol not found: 
_json_tokener_errors 
Referenced from: /usr/local/Cellar/postgresql/9.2.4/lib/postgis-2.0.so 
Expected in: /usr/local/lib/libjson.0.dylib 
in /usr/local/Cellar/postgresql/9.2.4/lib/postgis-2.0.so 

(ich vor, dieses Problem war nicht mit den obigen Maßnahmen zu tun) Ich habe meinen postgresql-Server neu gestartet, und das hat nicht funktioniert. Ich bin mir nicht sicher, was ich tun soll, um dieses Problem zu lösen.

Antwort

20

Ah! Das Problem wurde behoben, indem zu einer älteren Version von json-c zurückgekehrt wurde, die Homebrew verlinkt hatte. (Speziell json-c 0.10) war es so einfach, wie der folgende Befehl:

brew switch json-c 0.10 

Hoffnung jemand anderes dies in der Zukunft nützlich sein kann.

+1

Hätte nie gedacht, dies zu tun. Vielen Dank! –

+0

Letztendlich musste ich pg_upgrade Anweisungen wie hier gefunden: http://blog.55minutes.com/2013/09/postgresql-93-brew-upgrade/ Das Problem war, dass, wenn ich 'psql' lief es 9.3 war .1, aber der Server war immer noch 9.2.4. –

+0

Super! Brew hat mein JSON irgendwie aufgerüstet und meine postgis Installation nutzlos gemacht. Also musste ich upgraden, dachte ich, aber selbst das scheiterte, führte letztendlich zu diesem Fehler und dieser Lösung. Puh, Lebensretter :) – nathanvda