2011-09-12 17 views
8

मैं अपने विंडोज मशीन पर cabal install yesod करने की कोशिश कर रहा हूं। मेरे पास हास्केल प्लेटफ़ॉर्म का अपेक्षाकृत ताजा इंस्टॉल है। कैबल इंस्टॉल विफल रहा, रिपोर्टिंग कि मुझे "लगातार" स्थापित करने के लिए sqlite3 सी लाइब्रेरी की आवश्यकता है, एक पैकेज जो यसोड पर निर्भर करता है।कैबल इंस्टॉल को सी लाइब्रेरी की आवश्यकता है: विंडोज

cabal: Missing dependency on a foreign library: 
* Missing C library: sqlite3 

तो मैं http://www.sqlite.org/download.html के पास गया और दोनों सी स्रोत और precompiled द्विआधारी पकड़ा। मैं दोनों का उपयोग कर की कोशिश की, कोई लाभ नहीं हुआ:

cabal install persistent --extra-lib-dirs=C:\Path\To\C\Source\Files 
cabal install persistent --extra-lib-dirs=C:\Path\To\Binary 

दोनों मामलों में, मैं एक ही परिणाम मिला: यह काम नहीं किया। :(सी कैब लाइब्रेरी को कैबल देने के लिए मैं क्या कर सकता हूं? (इस मामले में एसक्लाइट 3)

+0

जीएचसी और कैबल का कौन सा संस्करण आप उपयोग कर रहे हैं? –

+0

जीएचसी 7.0.3, कैबल-इंस्टॉल संस्करण 0.10.2, विंडोज 7 (32 बिट) –

उत्तर

10

तो, चेहरे पर। मुझे स्रोत की आवश्यकता नहीं थी, मुझे exe की आवश्यकता नहीं थी। मुझे डीएल की आवश्यकता है ।

मेरे सवाल में उल्लेख किया वेबसाइट के अनुभाग "विंडोज के लिए precompiled binaries" के अंतर्गत, मैं डाउनलोड और sqlite3.def और sqlite.dll साथ ज़िप फ़ाइल निकाले। तब मैं

cabal install persistent --extra-lib-dirs=C:\Path\To\DllAndDef 

स्थापना के लिए प्रकट होता इस्तेमाल किया सफलतापूर्वक पूरा हो गया। बाद में, मैंने cabal install yesod किया, जो ऐसा लगता है कि सफलतापूर्वक पूरा हो गया है।

मुझे लगता है कि अगर मैंने डीएलएल को कहीं जादुई रखा था, तो मुझे --extra-lib-dirs= विकल्प का उपयोग नहीं करना पड़ेगा।

+0

क्या आपको वह जादुई जगह मिली? –