PostGIS HATASI: “/usr/lib/postgresql91/lib64/postgis-2.0.so” kütüphanesi yüklenemedi


9

İşletim sistemi openSUSE 12.1, PostgreSQL - 9.1, PostGIS - 2.0'dır. Postgre / PostGIS, Application: Geo deposundan yüklenir.

Veritabanıma bağlanmaya çalıştığım son güncellemelerden sonra aşağıdaki hatayı alıyorum:

    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

Web'de bu hatayı ( hint-1 , hint-2 ) aradım ve ld.so.config (veya ldconfig komutu) ile ilgisi olabilir. Ama benim durumumda ne yapmam gerektiğini anlayamıyorum.


2
projenin son sürümü (> = 4.8) gereklidir. Ne gösterir proj --versionve / veya ldd `which proj`gösterir?
Mike T

@MikeToews, benim projemin sürümü 4.7.1. Güncellemem gerekiyor gibi görünüyor.
SS_Rebelious

Proj 4.8'i resmi sitelerinden yükledim. Ama yine de projeksiyon yaptığımda bana gösteriyor> Rel. 4.7.1, 23 September 2009Nasıl 4.8'e yükseltebilirim. Herhangi bir fikir dışındayım :( Ubuntu kullanıyorum 12.4 Teşekkürler Mo
mmrs151

Yanıtlar:


6

MikeToews sayesinde bu sorunu çözebildim. OpenSUSE içindeki PostGIS 2.0 bağlıdır libproj0ve sürümü> = 4.8 olmalıdır. Her nasılsa paket yöneticisi bana yeni sürümü hakkında bilgi vermedi, libproj0bu yüzden "Versions" sekmesinde Yast ile yeni sürümünü manuel olarak kontrol ettim. Bir güncellemeden sonra veritabanını normal şekilde çalıştırabiliyorum.


Bu doğru değil.
Evan Carroll

0

Seçilen cevabın problemle ilgisi olduğuna inanmıyorum,

Ne oldu

  1. Postgre / PostGIS, Application: Geo deposundan yüklenir.
  2. İşletim sistemi açıkSUSE

Sahip olmadığınız bir projenin sürümüne karşı oluşturulmuş yeni bir PostGIS sürümü yüklediniz. Projeniz büyük olasılıkla OpenSUSE tarafından sağlanmıştır. Sen den proj sürümünü yüklemeniz gerekir Geo depo: Uygulama veya ana hat OpenSUSE deposundan PostGIS sürümü. Bu bir bağımlılık-istemci uyuşmazlığıdır. Sorun devam ederse SUSE ürününde bir hata dosyalamalısınız.

PostGIS projenin eski sürümlerinde çalışmaz. Bu işte SUSE edilir SADECE yeni sürümlerinde karşı PostGIS bina birini gerektirir böylece.

PostGIS ve eski proje

İki yıl önce yapılan bir hata raporundan ,

Temel olarak PostGIS daha eski Proj4 sürümleriyle de çalışabilir, ancak derleme zamanında bilinmesi gerekir.

Daha sonra watsonta'nın ikili dosyası Proj 4.8'e karşı oluşturulmuş gibi görünüyor, ancak önceki bir sürüme karşı çalışıyor. Büyük olasılıkla ikili paketteki bir hata veya bağımlılıkları (proj-4.8 + , paketleyici tarafından oluşturulan ikili postgis'in bağımlılığıdır ).

Bence sorun bu. Yüklediğinizden daha yeni bir projenin karşısına inşa ettiniz. Yüklemeyi agianst oluşturduğunuz sürüme yükseltmek sorunu çözmenin sadece bir yoludur.

Burada çağırılan fonksiyonu görebilirsiniz ve bir if.

#if POSTGIS_PROJ_VERSION >= 48

Eğer bu işe yaramazsa başka bir sorunun daha var. Bu oluyor inşa sistemi tarafından sağlanan bir de 10 yaşındaki makro


-1

mmrs151. Ubuntu 13.04'te 4.7 sürümünden projektör 4.8'e yükseltmek için. En azından aynı sorunu çözmeme yardımcı oldu.

$ sudo apt-get upgrade libproj-dev


Cevabınızı biraz ayrıntılandırabilir misiniz? OP'nin problemini nasıl çözer?
Martin

2
Bu cevap işe yaramaz - openSUSE uygun değildir.
SS_Rebelious

Cevap mmrs151 içindir.
Amimo Benja
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.