2014-12-16 5 views
1

Я использую ghc-7.6.3 с cabal-install версией 1.18.0.5 с версией 1.18.1.3 из Cabal библиотеки. Моя операционная система - Debian Wheezy 7.5. У меня есть новая инсталляция, и я удалил .ghc из своего домашнего каталога. После этого я изменил cabalconfig файл и установить:Cabal установка отчетов пакета, как установлено, но настройка и создание отчетов как отсутствуют

remote-repo: stackage-nightly-2014-12-15:http://www.stackage.org/snapshot/nightly-2014-12-15 

После того, что я сделал (после this documentation)

$ cabal update 
$ cabal install alex happy yesod-bin 

и сборки жаловались, что он не может построить пакет system-filepath-0.4.12.

Итак, я пытаюсь создать пакет system-filepath-0.4.12 вручную. После распаковки архива, я cd -ed к распакованной папке и вошли:

$ ghc -o Setup Setup.hs 
$ ./Setup configure 

, который дает:

Configuring system-filepath-0.4.12... 
Setup: At least the following dependencies are missing: 
text >=0.7.1 

Но

$ cabal install text 

дает:

Resolving dependencies... 
All the requested packages are already installed: 
text-1.1.1.3 
Use --reinstall if you want to reinstall anyway. 

Как я возможно ли, что пакет сообщается как установленный и отсутствующий одновременно? Должен ли я искать более стабильную конфигурацию remote-repo, есть ли что-то, что я могу проверить, чтобы исправить недостающий пакет text? Обратите внимание, что я не использую песочницу.

EDIT

Спасибо за указание на то, что есть две базы данных пакетов. я сейчас пытался как

$ cabal configure 
$ cabal build 

и

$ Setup configure --user 
$ Setup build 

Оба не дают ошибки при конфигурировании, но дать следующее сообщение об ошибке во время фазы сборки:

Building system-filepath-0.4.12... 
Preprocessing library system-filepath-0.4.12... 
/usr/bin/ld: cannot find -lHStext-1.1.1.3-ghc7.8.3 
collect2: error: ld returned 1 exit status 
+0

Вы используете песочницы? Если удалите песочницу и повторите попытку. Если нет, используйте песочницу. – Shoe

ответ

1

Попробуйте вместо

cd system-filepath--0.4.12 
cabal configure 

Я не уверен, почему, но это работает для меня, в то время как Setup.hs дал мне ту же ошибку (правда, я всегда делаю это так: cabal configure), и я не уверен, что ваш путь тоже должен работать).

1

Существует (по крайней мере) две базы данных пакетов: глобальная, доступная всем пользователям, и пользовательская. По умолчанию Setup.hs просматривает (и устанавливает на) глобальный, а cabal-install ищет (и устанавливает на) пользовательский.Вы можете вручную выбрать тот или иной номер: --user и --global; так, вы можете исправить это либо с помощью

./Setup configure --user 

или по

cabal install text --global 

Вы можете увидеть текущее состояние базы данных пакетов с ghc-pkg, которые будут сообщать информацию об обоих по умолчанию.