2012-07-02 19 views
12

पर libgeos_c.so अनुपलब्ध है मैं ओएसएक्स पर जियोडजैंगो का उपयोग करने के लिए पोस्टगिस स्थापित करने की कोशिश कर रहा हूं।ओएसएक्स

इस के लिए, मैं पहली बार की स्थापना रद्द postgres पूरी तरह से है, तो मैं सब कुछ GeoDjango प्रलेखन निम्नलिखित स्थापित: https://docs.djangoproject.com/en/dev/ref/contrib/gis/install/#homebrew

मैं निम्नलिखित किया:

brew update 
brew upgrade 
brew install postgresql 
brew install postgis 
brew install gdal 
brew install libgeoip 

जब मैं अपने Django परियोजना चलाने के लिए, मैं निम्नलिखित त्रुटि:

OSError at/dlopen(/usr/local/lib/libgeos_c.so, 6): image not found 

मैं

01 भाग गया

और मिल गया:

./Library/Frameworks/GEOS.framework/Versions/3/unix/lib/libgeos_c.dylib 
./Users/martin/opt/geos-3.3.0/capi/.deps/libgeos_c_la-geos_c.Plo 
./Users/martin/opt/geos-3.3.0/capi/.deps/libgeos_c_la-geos_ts_c.Plo 
./usr/local/Cellar/geos/3.3.3/lib/libgeos_c.1.dylib 
./usr/local/Cellar/geos/3.3.3/lib/libgeos_c.a 
./usr/local/Cellar/geos/3.3.3/lib/libgeos_c.dylib 
./usr/local/Cellar/geos/3.3.4/lib/libgeos_c.1.dylib 
./usr/local/Cellar/geos/3.3.4/lib/libgeos_c.a 
./usr/local/Cellar/geos/3.3.4/lib/libgeos_c.dylib 
./usr/local/Cellar/geos/3.3.5/lib/libgeos_c.1.dylib 
./usr/local/Cellar/geos/3.3.5/lib/libgeos_c.a 
./usr/local/Cellar/geos/3.3.5/lib/libgeos_c.dylib 
./usr/local/lib/libgeos_c.1.dylib 
./usr/local/lib/libgeos_c.a 
./usr/local/lib/libgeos_c.dylib 

आप देख सकते हैं, सभी में कोई "तो" फ़ाइलें। कोई सुझाव?

संपादित करें:

हताशा से मैं भी KyngChaos संकुल स्थापित और कहा कि निम्न सेटिंग्स:

GEOS_LIBRARY_PATH = '/Library/Frameworks/GEOS.framework/GEOS' 
GDAL_LIBRARY_PATH = '/Library/Frameworks/GDAL.framework/GDAL' 
GEOIP_LIBRARY_PATH = '/usr/local/Cellar/geoip/1.4.8/lib/libGeoIP.dylib' 

यह समस्या हल हो।

+0

मैं काढ़ा मैक पर GEOS स्थापित किया था। लेकिन GEOS_LIBRARY_PATH मेरी मशीन पर आपके जैसा नहीं है। क्या आप जानते हैं, यह कहां मिल सकता है? मैंने खोजने का प्रयास करने की कोशिश की, लेकिन मुझे किसी भी फ़ोल्डर में .so फ़ाइल नहीं मिली, जिसे मैंने पढ़ने की अनुमति दी है। मेरे पास सूडो अधिकार नहीं हैं। –

उत्तर

16

क्षमा करें, कि KyngChaos समाधान होमब्री का उपयोग करने के उद्देश्य को पूरी तरह से हरा देता है।

homebrew उपयोगकर्ताओं के लिए इस सवाल का जवाब (कम से कम, यह एक के लिए) स्थापना रद्द करें geos और उसके निर्भरता को और तो इसकी निर्भरताgeos को पुनर्स्थापित और उसके बाद है।

यह मेरे लिए काम किया:

brew uninstall geos gdal geoip libspatialite librasterlite spatialite-gui spatialite-tools 
brew cleanup 
brew install geos 
brew install gdal geoip libspatialite librasterlite spatialite-gui spatialite-tools 
brew cleanup 

ऐसा लगता है कुछ geos निर्भरता सिंक्रनाइज़ेशन से बाहर हो रही है।

आप पुस्तकालयों पर नज़र रखने के यह क्या रिटर्न द्वारा स्थापित करने की जरूरत है कि पुष्टि कर सकते हैं:

python -c 'import _ctypes; _ctypes.dlopen("/usr/local/lib/libgdal.dylib")' 
कुछ

आप देखेंगे

तरह
Reason: Incompatible library version: [some geos dependent library].dylib requires version X.X.X or later, but libgeos_c.1.8.0.dylib provides version X.X.X. 

brew uninstall [some geos dependency] 
brew install [some geos dependency] 
brew cleanup 

फिर ऊपर python आदेश को फिर से चलाएं और या तो समस्या हल हो जाएगी या यह अनइंस्टॉल/इंस्टॉल करने के लिए एक और निर्भरता प्रकट करेगा।

+1

मुझे लगता है कि मैं करीब हूं, अब django.db.utils.OperationalError प्राप्त कर रहा है: फ़ाइल "$ libdir/postgis-2.1" तक नहीं पहुंच सका: ऐसी कोई फ़ाइल या निर्देशिका नहीं है, कि Python आयात परीक्षण कोई त्रुटि नहीं फेंकता है। मुझे पोस्टगिस को अनइंस्टॉल करना पड़ा, पोस्टगिस अनइंस्टॉल करें और फिर ब्रू का उपयोग करके इसे फिर से इंस्टॉल करें। – radtek

+0

घंटों खर्च करने के बाद, अंततः यह मुझे बचाया। – xrage

2

installation instructions उत्तर को पकड़ने के लिए प्रतीत होता है, जो पर्यावरण परिवर्तनीय $GEOS_LIBRARY_PATH सेट करना है।

+0

यह मुझे सही दिशा में इंगित किया। मैंने दस्तावेज़ों के इस हिस्से को अनदेखा कर दिया क्योंकि सबसे पहले यह किन्गकोस सेक्शन (मैं होमब्रू सेक्शन का अनुसरण कर रहा था) के तहत दिखाई देता है और दूसरी बात यह कहती है: "यदि आप Django (1.0.2 की तरह) के पिछले संस्करण का उपयोग कर रहे हैं, तो आपको अपनी सेटिंग्स में निम्नलिखित जोड़ें "और मैं Django 1.4 का उपयोग कर रहा हूँ। निराशा से मैंने KyngChaos मार्ग भी आजमाया और जब यह गुम फ़ाइल नहीं बना रहा, तो मैं इसे कुछ अतिरिक्त सेटिंग्स के साथ चला सकता था। – mbrochh

+0

अरे क्या आप निसारोबॉट के उत्तर को सर्वश्रेष्ठ रूप से चिह्नित कर सकते हैं? – radtek

+0

@radtek कौन मुझे? – trojanfoe

0

यहां वही - निर्देशित के रूप में सबकुछ स्थापित करने के बाद, मैं वापस गया और KyngChaos पुस्तकालयों को जोड़ा, फिर ऊपर सूचीबद्ध के रूप में मेरे ~/.bash_profile में तीन निर्यात विवरण जोड़े। यह मेरी समस्या तय है।

1

मैंने इसे इस तरह हल किया।

$ brew install postgresql 
$ brew install postgis 
$ brew install gdal 
$ brew install libgeoip 

तो Django सेटिंग में इस सेट:

GEOS_LIBRARY_PATH = '/usr/local/Cellar/geos/3.4.2/lib/libgeos_c.1.dylib' 

तो यह मेरे लिए काम किया।

0

मैं इस एक ही मुद्दा था और Homebrew से GDAL स्थापना रद्द करने और KyngChaos से GDAL पूरा पैकेज को स्थापित करने से इसे हल करने में सक्षम था: http://www.kyngchaos.com/software/frameworks