Для установки Cabal требуется библиотека C: Windows

Я пытаюсь cabal install yesod на своем компьютере с Windows. У меня относительно свежая установка платформы Haskell. Установка клики не удалась, сообщив, что мне нужна библиотека sqlite3 C для установки «постоянного» пакета, на который полагается Yesod.

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

Поэтому я пошел на http://www.sqlite.org/download.html и взял как исходный код C, так и предварительно скомпилированный двоичный. Я пробовал использовать оба, безрезультатно:

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

В обоих случаях я получил один и тот же результат: это не сработало. :( Что я могу сделать, чтобы дать кабалу необходимую библиотеку C? (в данном случае sqlite3)


person Dan Burton    schedule 12.09.2011    source источник
comment
Какую версию GHC и Cabal вы используете?   -  person Michael Snoyman    schedule 12.09.2011
comment
GHC 7.0.3, Cabal-установка версии 0.10.2, Windows 7 (32-разрядная версия)   -  person Dan Burton    schedule 12.09.2011


Ответы (1)


Итак, фейспалм. Мне не нужен был исходник, мне не нужен был exe. Мне нужна была dll.

В разделе «Предварительно скомпилированные двоичные файлы для Windows» на веб-сайте, упомянутом в моем вопросе, я загрузил и распаковал zip-файл с sqlite3.def и sqlite.dll. Затем я использовал

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

Установка, похоже, завершилась успешно. После этого я выполнил cabal install yesod, который также успешно завершился.

Я полагаю, что если бы я поместил dll в какое-то волшебное место, мне бы не пришлось использовать параметр --extra-lib-dirs=.

person Dan Burton    schedule 12.09.2011