PostGIS ERROR: लाइब्रेरी को "/usr/lib/postgresql91/lib64/postgis-2.0.so" लोड नहीं कर सका


9

OS खुला है 12.1, PostgreSQL - 9.1, PostGIS - 2.0। Postgre / PostGIS एप्लिकेशन से इंस्टॉल किए जाते हैं: जियो रिपॉजिटरी।

हाल के अपडेट के बाद जब मैं अपने डेटाबेस से जुड़ने की कोशिश करता हूं तो मुझे निम्नलिखित त्रुटि मिलती है:

    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

मैंने इस त्रुटि ( संकेत -1 , संकेत -2 ) के लिए वेब खोजा और ऐसा लगता है कि इसका ld.so.config (या ldconfig कमांड) के साथ कुछ करना हो सकता है। लेकिन मुझे समझ नहीं आ रहा है कि मुझे अपने मामले में क्या करना है।


2
proj (> = 4.8) के हाल के संस्करण की आवश्यकता है। क्या करता है proj --versionऔर / या ldd `which proj`दिखाता है?
माइक टी

@MikeToews, मेरा प्रोज संस्करण 4.7.1 है। लगता है कि मुझे इसे अपडेट करने की आवश्यकता है।
SS_Rebelious

मैंने उनकी आधिकारिक साइट से प्रोज 4.8 स्थापित किया है। लेकिन फिर भी जब मैं प्रोजर्व करता हूं तो यह मुझे दिखाता है> Rel. 4.7.1, 23 September 2009मैं इसे 4.8 में कैसे अपग्रेड कर सकता हूं। मैं किसी भी विचार से बाहर हूं :( मैं Ubuntu 12.4 का उपयोग कर रहा हूं। धन्यवाद Mo.
mmrs151

जवाबों:


6

माइकट्यूज़ के लिए धन्यवाद मैं इस मुद्दे को ठीक करने में सक्षम था। OpenGUSE में PostGIS 2.0 निर्भर करता है libproj0और इसका संस्करण> = 4.8 होना चाहिए। किसी तरह पैकेज मैनेजर ने मुझे नए संस्करण के बारे में सूचित नहीं किया, libproj0इसलिए मैंने इसके नए संस्करण को मैन्युअल रूप से "संस्करण" टैब में यास्ट के माध्यम से जांचा। एक अद्यतन के बाद मैं सामान्य रूप से डेटाबेस संचालित करने में सक्षम हूं।


यह सच नहीं है।
इवान कैरोल

0

मुझे विश्वास नहीं है कि चुने हुए उत्तर का समस्या से कोई लेना देना है,

क्या हुआ

  1. Postgre / PostGIS एप्लिकेशन से इंस्टॉल किए जाते हैं: जियो रिपॉजिटरी।
  2. ओएस खुला है

आपके पास नहीं है proj के एक संस्करण के खिलाफ बनाया PostGIS का एक नया संस्करण स्थापित किया है। आपका proj संभवतः OpenSUSE द्वारा प्रदान किया गया है। आपको एप्लिकेशन से proj के संस्करण को स्थापित करने की आवश्यकता है : जियो रिपॉजिटरी , या मेनलाइन ओपनसेस रिपॉजिटरी से पोस्टजीआईएस का संस्करण। यह एक निर्भरता-ग्राहक बेमेल है। यदि समस्या बनी रहती है, तो आपको SUSE में बग दर्ज करना चाहिए।

ऐसा नहीं है कि PostGIS proj के पुराने संस्करणों पर काम नहीं करता है। यह है कि SUSE नए संस्करणों के खिलाफ केवल PostGIS का निर्माण कर रहा है ताकि आपको एक की आवश्यकता हो।

पोस्टजीआईएस और पुरानी प्रोज

दो साल पहले दायर एक बग रिपोर्ट से ,

तो मूल रूप से PostGIS पुराने Proj4 संस्करणों के साथ भी काम कर सकता है, लेकिन इसे संकलन समय पर जानना होगा।

इसके बाद ऐसा लग रहा है कि वत्सांटा का बाइनरी प्रोज 4.8 के खिलाफ बनाया गया था लेकिन पिछले संस्करण के मुकाबले चल रहा था। बाइनरी पैकेज में बहुत संभावना है, या इसकी निर्भरताएं (प्रोज-4.8 + बाइनरी पोस्टगिस की एक निर्भरता के रूप में, जो कि पैकर द्वारा निर्मित है)।

मुझे लगता है कि यही समस्या है। आपने अपने द्वारा स्थापित किए गए प्रोज के एक नए छद्म के खिलाफ बनाया है। आपके द्वारा एगिएस्ट निर्मित संस्करण में इंस्टॉल को अपग्रेड करना समस्या को ठीक करने का सिर्फ एक तरीका है।

आप यहाँ पर उस फंक्शन को देख सकते हैं और यह एक द्वारा संरक्षित है if

#if POSTGIS_PROJ_VERSION >= 48

यदि वह काम नहीं कर रहा है तो आपको एक और समस्या है। यह 10 साल पुराने मैक्रो में बिल्ड सिस्टम द्वारा प्रदान किया गया है


-1

mmrs151। उबंटू 13.04 पर प्रोज संस्करण 4.7 से प्रोज 4.8 तक अपग्रेड करने के लिए। कम से कम इससे मुझे उसी समस्या को हल करने में मदद मिली।

$ सुडो एप्ट-अपग्रेड लिबप्रोज-देव


क्या आप अपने उत्तर पर थोड़ा विस्तार कर सकते हैं? यह ओपी की समस्या को कैसे हल करता है?
मार्टिन

2
यह जवाब बेकार है - खुलेआम उपयुक्त उपयोग नहीं करता है।
SS_Rebelious

जवाब mmrs151 के लिए था।
अमीमो बेनाजा
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.