2014-02-10 49 views
3

我在運行Eclipse 3.7.2和ghc(i)7.4.1的Ubuntu 12.04機器上安裝EclipseFP,Eclipse的Haskell插件。每次啓動Eclipse時,EclipseFP會要求我安裝助手可執行文件瀏覽器(0.2.12)和buildrunner(0.7.2),但最終無法安裝兩者。在Ubuntu 12.04上安裝cabal install scion-browser失敗,因爲haskeline需要Cabal庫版本> = 1.16

在命令行中嘗試cabal install scion-browser(或cabal install haskeline)失敗,

Resolving dependencies... 
cabal: Error: some packages failed to install: 
haskeline-0.7.1.2 failed during the configure step. The exception was: 
user error (The package requires Cabal library version -any && >=1.16 but no 
suitable version is installed.) 

cabal install buildwrapper失敗

Resolving dependencies... 
Configuring buildwrapper-0.7.7... 
Building buildwrapper-0.7.7... 
Preprocessing library buildwrapper-0.7.7... 
[1 of 7] Compiling Language.Haskell.BuildWrapper.Base (src/Language/Haskell/BuildWrapper/Base.hs, dist/build/Language/Haskell/BuildWrapper/Base.o) 
[2 of 7] Compiling Language.Haskell.BuildWrapper.GHCStorage (src/Language/Haskell/BuildWrapper/GHCStorage.hs, dist/build/Language/Haskell/BuildWrapper/GHCStorage.o) 

src/Language/Haskell/BuildWrapper/GHCStorage.hs:542:22: 
    Couldn't match expected type `scientific-0.2.0.1:Data.Scientific.Scientific' 
       with actual type `Number' 
    In the pattern: I l 
    In the pattern: Number (I l) 
    In the pattern: Just (Number (I l)) 
cabal: Error: some packages failed to install: 
buildwrapper-0.7.7 failed during the building phase. The exception was: 
ExitFailure 1 

任何幫助將不勝感激,因爲我似乎不能夠在任何一個錯誤上找到任何Google點擊。

編輯:

重新安裝哈斯克爾後(看來我的containers兩個版本安裝的runhaskell Setup.hs configure --user正確地抱怨),我現在可以配置BuildWrapper但是建立失敗,出現以下錯誤:

[3 of 7] Compiling Language.Haskell.BuildWrapper.GHC (src/Language/Haskell/BuildWrapper/GHC.hs, dist/build/Language/Haskell/BuildWrapper/GHC.o) 

src/Language/Haskell/BuildWrapper/GHC.hs:522:37: 
    The function `showPpr' is applied to two arguments, 
    but its type `a0 -> String' has only one 
    In the second argument of `(++)', namely `showPpr dflags bname' 
    In the expression: "show " ++ showPpr dflags bname 
    In an equation for `exprS': exprS = "show " ++ showPpr dflags bname 
+0

BuildWrapper中的容器沒有限制,所以其他一些包必須要求容器0.5。 –

+0

@JPMoresmau看來我安裝了兩個'containers'版本。我抹掉並重新安裝了haskell,並嘗試從源代碼再次建立,現在得到一個編譯錯誤(見上文) – ThomasH

回答

3

BuildWrapper的問題是由於Aeson的突然變化。見https://github.com/JPMoresmau/BuildWrapper/issues/20。你可以從github上獲得buildwrapper源代碼(修復邊界並修改代碼)或強制安裝Aeson 0.6。 對於Haskeline我不確定,你可以嘗試自己安裝haskeline嗎?

+0

謝謝,我會嘗試從源頭編譯。 'cabal install haskeline'輸出與'cabal install scion-browser'完全相同的錯誤。我編輯了這個問題來反映這一點。根據http://eclipsefp.github.io/faq.html的 – ThomasH

0

我想你應該安裝較新的cabal庫acoording消息:該軟件包需要Cabal庫版本-any & &> = 1.16。

cabal update 
cabal install cabal 
cabal install cabal-install 
cabal --version 

應該是: 使用驚天動地庫版本1.20.0.0

如果不解決您的PATH。新的小集團的二進制可能是在〜/ .cabal/bin中

則:

cabal install haskeline 
+0

,你不應該更新cabal或cabal-install,否則你會破壞buildwrapper。Cabal和cabal-install應該保留在安裝haskell-platform時的相同版本(haskell-pltform也安裝cabal-install作爲依賴)。相反,通過cabal安裝scion瀏覽器安裝scion瀏覽器--constraint = haskeline == 0.7.0.3' –

0

我有同樣的錯誤(該功能`showPpr」施加兩個參數),而二者與陰謀和建築安裝從源頭上。 我試圖使用舊版本的埃宋,

cabal install buildwrapper --constraint=aeson==0.6.2.1

謹慎取代有接近0.6.2.1 它產生大量的警告,仍然可能成功打造你的版本埃宋版。

+0

我還需要在haskeline上安裝scion瀏覽器以約束haskeline以處理最新版本的haskeline需要cabal > = 1.6 'cabal install scion-browser --constraint = haskeline == 0.7.0.3' 不要更新cabal,否則會遇到cabal,cabal-install,buildwrapper和ghci之間的各種兼容性問題。 –