2011-09-12 33 views
8

Windows makinemde cabal install yesod çalışıyorum. Haskell Platformunun nispeten yeni bir yüklemesi var. Cabal yüklemesi başarısız oldu ve Yesod'a dayanan bir paket olan "kalıcı" yüklemek için sqlite3 C kitaplığına ihtiyacım olduğunu bildirerek başarısız oldu. Cabal yükleme ihtiyaçları C kütüphanesi: Windows

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

yüzden http://www.sqlite.org/download.html gitti ve C kaynağı ve önceden derlenmiş binary hem yakaladı. Ben boşuna, ikisini de kullanarak çalıştı: Her iki durumda da

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

, ben aynı sonucu var: işe yaramadı. :(Ne gerekiyorsa C kütüphanesi cabal vermek için ne yapabilirim? (Bu durumda sqlite3)

+0

Hangi GHC ve cabal versiyonunu kullanıyorsunuz? –

+0

GHC 7.0.3, cabal yükleme sürümü 0.10.2, Windows 7 (32 bit) –

cevap

10

Yani, facepalm. Kaynağa ihtiyacım yoktu, exe'ye ihtiyacım yoktu Soruma belirtilen web sitesi bölümüne "Windows için önceden derlenmiş binary" altında.

, ben indirilen ve sqlite3.def ve sqlite.dll ile zip dosyasını çıkarılan. Sonra

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

yükleme gibi görünüyor kullanılan Başarıyla tamamlandı, daha sonra bir cabal install yesod yaptım. ayrıca başarıyla tamamlanmış gibi görünüyor.

Eğer dll'yi büyülü bir yere koymuş olsaydım, --extra-lib-dirs= seçeneğini kullanmak zorunda kalmazdım.

+0

Bu büyülü yeri buldunuz mu? –