2011-09-11 26 views
7

Oto pełna błąd:Cabal zainstalować błąd zależność: „Base-* wykluczono z powodu najwyższego poziomu bazowego zależność -Każdy”

$ cabal install hakyll 
Resolving dependencies... 
cabal: cannot configure snap-server-0.5.3.1. It requires base >=4.3 && <5 
For the dependency on base >=4.3 && <5 there are these packages: base-4.3.0.0, 
base-4.3.1.0 and base-4.4.0.0. However none of them are available. 
base-4.3.0.0 was excluded because of the top level dependency base -any 
base-4.3.1.0 was excluded because of the top level dependency base -any 
base-4.4.0.0 was excluded because of the top level dependency base -any 
$ 

Jak wersje base-* zostać wyłączone ze względu na pewne reguły, które pojawia się powiedzieć, że jakakolwiek wersja jest w porządku?

+0

Chyba hit tego wcześniej. Tylko interpretacja tego, co przeczytałem w komunikacie o błędzie oznacza: pakiet najwyższego poziomu może nalegać, aby działał z _anną_ wersją bazy, podczas gdy podpakiet dodaje ograniczenia, naruszając tę ​​gwarancję. Być może trzy ostatnie wiersze są mylące i generowane przez inny kod zgłaszania błędów. – gatoatigrado

+0

Mam też więcej szczęścia z 'cabal-dev'. Zobacz jedno odpowiednie pytanie/odpowiedź przeze mnie tutaj: http://stackoverflow.com/questions/6920967/how-can-one-register-a-package-built-with-cabal-dev – gatoatigrado

+0

Jaką wersję GHC zainstalowałeś? ? Wygląda na to, że snap wymaga wyższej wersji GHC, ponieważ nie można zainstalować innej wersji bazy niż wersja GHC. –

Odpowiedz

3

każdym razem mam napotkasz ten problem, to było dlatego, że nie wszystkie z następujących rzeczy:

  1. Pobrano pakiet z Hackage z przestarzałych zależności.
  2. Zaktualizował zależności i zaobserwował, że jest dobrze zbudowany (lub spędził czas ustalając wszelkie błędy).
  3. Przebiegł cabal install z nowymi zależnościami.
  4. Nie zaktualizowano numeru wersji.

Ten ostatni to prawdziwy kicker. cabal install założy, że jeśli wie o parach wersji/zależności pakietu z Hackage, ta para jest kanoniczna. Jeśli chcesz, aby wiedział o zaktualizowanych zależnościach, zmień numer wersji pakietu przed instalacją.

Musisz sprawdzić, czy zrobiłeś to poprawnie dla każdej z zainstalowanych ręcznie instalacji hakylla.

3

Wystąpił ten sam problem. Rozwiązałem to.

To była czysta instalacja haskell. Ale była to czysta instalacja z pakietu linuxowego (w tym przypadku Ubuntu), który miał starsze wersje.

Musiałem usunąć stare pakiety & pobierz źródło & zainstaluj & zainstaluj.

uzyskać najnowsze źródła z platformy:
http://hackage.haskell.org/platform/linux.html

uzyskać GHC źródeł, które są wymagane dla platformy. http://haskell.org/ghc/download_ghc_7_0_3#distros

przykładem dla tej operacji: http://sporkcode.wordpress.com/2009/07/11/installing-the-haskell-platform-in-ubuntu/

Powiązane problemy