PostGIS ERROR: impossibile caricare la libreria “/usr/lib/postgresql91/lib64/postgis-2.0.so”


9

Il sistema operativo è openSUSE 12.1, PostgreSQL - 9.1, PostGIS - 2.0. Postgre / PostGIS sono installati dall'applicazione: repository geografico.

Dopo gli aggiornamenti recenti quando provo a connettermi al mio database, visualizzo il seguente errore:

    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

Ho cercato sul web questo errore ( hint-1 , hint-2 ) e sembra che possa avere qualcosa a che fare con ld.so.config (o comando ldconfig). Ma non riesco a capire cosa devo fare nel mio caso.


2
è necessaria una versione recente di proj (> = 4.8). Cosa mostra proj --versione / o ldd `which proj`mostra?
Mike T,

@MikeToews, la mia versione proj è 4.7.1. Sembra che debba aggiornarlo.
SS_Rebelious,

Ho installato proj 4.8 dal loro sito ufficiale. Ma ancora quando faccio projverion mi mostra> Rel. 4.7.1, 23 September 2009Come posso aggiornarlo a 4.8. Sono senza idee :( Sto usando Ubuntu 12.4 Grazie Mo.
mmrs151

Risposte:


6

Grazie a MikeToews sono stato in grado di risolvere questo problema. PostGIS 2.0 in openSUSE dipende libproj0e la sua versione deve essere> = 4.8. In qualche modo il gestore dei pacchetti non mi ha informato della nuova versione disponibile per il, libproj0quindi ho controllato manualmente la sua versione più recente tramite Yast nella scheda "Versioni". Dopo un aggiornamento sono in grado di far funzionare normalmente il database.


questo non è vero.
Evan Carroll,

0

Non credo che la risposta scelta abbia qualcosa a che fare con il problema,

Quello che è successo

  1. Postgre / PostGIS sono installati dall'applicazione: repository geografico.
  2. Il sistema operativo è openSUSE

Hai installato una nuova versione di PostGIS costruita contro una versione di proj che non hai. Il tuo proj è probabilmente fornito da OpenSUSE. È necessario installare la versione di proj dall'Applicazione : repository Geo o la versione di PostGIS dal repository OpenSUSE della linea principale. Questa è una mancata corrispondenza client-dipendenza. Dovresti presentare un bug in SUSE se il problema persiste.

PostGIS non funziona con le vecchie versioni di proj. È che SUSE sta costruendo SOLO PostGIS rispetto alle versioni più recenti, quindi ne hai bisogno.

PostGIS e vecchio proj

Da una segnalazione di bug presentata due anni fa ,

Quindi in pratica PostGIS può funzionare anche con versioni precedenti di Proj4, ma deve essere informato al momento della compilazione.

Sembra quindi che il binario di watsonta sia stato creato contro Proj 4.8 ma funzionasse con una versione precedente. Molto probabilmente un bug nel pacchetto binario, o le sue dipendenze (proj-4.8 + è una dipendenza dei postgis binari come costruito dal packager).

Penso che sia questo il problema. Hai costruito contro un nuovo verso di proj di quello che hai installato. L'aggiornamento dell'installazione alla versione che hai creato è solo un modo per risolvere il problema.

Puoi vedere quella funzione chiamata qui ed è protetta da un if.

#if POSTGIS_PROJ_VERSION >= 48

Se non funziona hai un altro problema. È fornito dal sistema di compilazione in una macro di 10 anni


-1

mmrs151. Per eseguire l'aggiornamento da proj versione 4.7 a proj 4.8 su Ubuntu 13.04. Almeno mi ha aiutato a risolvere lo stesso problema.

$ sudo apt-get upgrade libproj-dev


Potresti approfondire un po 'la tua risposta? Come risolve il problema del PO?
Martin,

2
Questa risposta è inutile: openSUSE non usa apt.
SS_Rebelious

La risposta era pensata per mmrs151.
Amimo Benja,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.