Haskell Cabal: таинственные пропавшие или рекурсивные зависимости - PullRequest
5 голосов
/ 15 марта 2012

Я пытаюсь установить пакет jmacro. Он отлично собирается, и проблем нет абсолютно.

Однако, когда я хочу использовать его или установить пакеты, такие как happstack-jmacro, которые зависят от jmacro, я получаю сообщения об ошибках вроде этого:

<command line>: cannot satisfy -package-id jmacro-0.5.2-71bd40707d94b0e8eb6e70515ff6a5f4: 
    jmacro-0.5.2-71bd40707d94b0e8eb6e70515ff6a5f4 is unusable due to missing or recursive dependencies:
      haskell-src-meta-0.5-4bf46b12fb313927e18a04de209944de template-haskell-2.5.0.0-f0b857ddb066aae09d974e610edd228f
    (use -v for more information)

Нет абсолютно никаких рекурсивных или отсутствующих зависимостей. Это ошибка?

Я использую template-haskell-2.5.0.0 (потому что более новые версии не собираются) и haskell-src-meta-0.5. GHC составляет 7.0.4

Ответы [ 2 ]

11 голосов
/ 15 марта 2012

Похоже, ваши пакеты сломаны. ghc-pkg check может жаловаться на некоторые пакеты; если это произойдет, вы могли бы ghc-pkg unregister <pkg> всех из них. В противном случае лучше всего начать заново: сохранить файл ~/.cabal/config, избавиться от ~/.ghc и ~/.cabal и переустановить cabal-install.

Подобные проблемы с Кабалой встречаются довольно часто, поэтому вы можете попробовать уменьшить боль с помощью cabal-dev .

2 голосов
/ 16 марта 2012

ОК, решил сам:

Существует ошибка, и template-haskell-2.5.0.0 был установлен в системном каталоге cabal, а также в моем пользовательском каталоге.

Когда я принудительно незарегистрирован template-haskell в моем каталоге пользователя, все было хорошо.

...