OS adalah openSUSE 12.1, PostgreSQL - 9.1, PostGIS - 2.0. Postgre / PostGIS diinstal dari Aplikasi: Geo repository.
Setelah pembaruan terbaru ketika saya mencoba untuk terhubung ke database saya, saya mendapatkan kesalahan berikut:
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
Saya mencari kesalahan ini di web ( petunjuk-1 , petunjuk-2 ) dan sepertinya ada hubungannya dengan ld.so.config (atau perintah ldconfig). Tetapi saya tidak tahu apa yang harus saya lakukan dalam kasus saya.
postgis
postgresql
SS_Rebelious
sumber
sumber
proj --version
dan / atauldd `which proj`
ditampilkan?Rel. 4.7.1, 23 September 2009
Bagaimana saya bisa memutakhirkannya menjadi 4,8. Saya kehabisan ide :( Saya menggunakan Ubuntu 12.4 Terima kasih Mo.Jawaban:
Terima kasih kepada MikeToews saya bisa memperbaiki masalah ini. PostGIS 2.0 di openSUSE bergantung pada
libproj0
dan versinya harus> = 4.8. Entah bagaimana manajer paket tidak memberi tahu saya tentang versi baru yang tersedia untuklibproj0
jadi saya memeriksa versi yang lebih baru secara manual melalui Yast di tab "Versi". Setelah pembaruan, saya dapat mengoperasikan basis data secara normal.sumber
Saya tidak percaya jawaban yang dipilih ada hubungannya dengan masalah,
Apa yang terjadi
Anda menginstal versi baru PostGIS yang dibangun melawan versi proj yang tidak Anda miliki. Proj Anda kemungkinan disediakan oleh OpenSUSE. Anda perlu menginstal versi proj dari Aplikasi: Geo repository , atau versi PostGIS dari repositori OpenSUSE arus utama. Ini adalah ketidakcocokan ketergantungan-klien. Anda harus mengajukan bug di SUSE jika masalah berlanjut.
Bukan berarti PostGIS tidak bekerja pada proj versi lama. Ini yang SUSE adalah hanya membangun PostGIS terhadap versi yang lebih baru sehingga Anda membutuhkan satu.
PostGIS dan proj lama
Dari laporan bug yang diajukan dua tahun lalu ,
Saya pikir itu masalahnya. Anda membangun terhadap versoin proj baru dari yang telah Anda instal Memutakhirkan pemasangan ke versi yang Anda buat sebelumnya hanyalah satu cara untuk memperbaiki masalah.
Anda dapat melihat fungsi yang dipanggil di sini dan itu dilindungi oleh
if
.Jika itu tidak berhasil, Anda punya masalah lain. Ini disediakan oleh sistem build dalam makro 10 tahun
sumber
mmrs151. Untuk meningkatkan dari proj versi 4.7 ke proj 4.8 di Ubuntu 13.04. Setidaknya itu membantu saya memecahkan masalah yang sama.
sumber