2012-07-29 99 views
4

嗨我想安裝,(無需更新或安裝最新的編譯器),reactive-banana-wx和其中一個要求是失敗安裝反應香蕉wx或wx基於linux的ghc 7.0.4

cabal install reactive-banana-wx 

和繼承人的錯誤

Configuring wxc-0.90.0.4... 
setup: failed 
cabal: Error: some packages failed to install: 
reactive-banana-wx-0.6.0.1 depends on wxc-0.90.0.4 which failed to install. 
wx-0.90.0.1 depends on wxc-0.90.0.4 which failed to install. 
wxc-0.90.0.4 failed during the configure step. The exception was: 
ExitFailure 1 
wxcore-0.90.0.3 depends on wxc-0.90.0.4 which failed to install 

當我嘗試安裝CABAL wxcore,WX或WXC他們都說失敗,被要求向WXC點。

這裏的錯誤

cabal install wxc 
Resolving dependencies... 
[1 of 1] Compiling Main    (/tmp/wxc-0.90.0.419410/wxc-0.90.0.4/Setup.hs, /tmp/wxc-0.90.0.419410/wxc-0.90.0.4/dist/setup/Main.o) 
Linking /tmp/wxc-0.90.0.419410/wxc-0.90.0.4/dist/setup/setup ... 
Configuring wxc-0.90.0.4... 
setup: failed 
cabal: Error: some packages failed to install: 
wxc-0.90.0.4 failed during the configure step. The exception was: 
ExitFailure 1 

,這裏是我的編譯器的信息,如果這將是

ghc -v 
Glasgow Haskell Compiler, Version 7.0.4, for Haskell 98, stage 2 booted by GHC version 7.0.4 
+0

當您遇到'ExitFailure 1'時,輸出中通常會有一些其他錯誤消息。如果有,你可以在這裏發佈嗎?你也可以把所有的輸出放在[hpaste](http://hpaste.org/)上。 – 2012-07-29 04:55:45

+0

http://hpaste.org/72291,總結我試圖cabal安裝wxc -v來產生更多的錯誤信息。它說有很多軟件包丟失了,我試圖安裝一個名爲lhc的軟件,並且它的失敗類似。 – pyCthon 2012-07-29 05:51:50

+0

你不需要'lhc',它是另一個Haskell編譯器。我懷疑你沒有安裝WxWindows的開發庫,儘管Cabal的輸出沒有說明。 – 2012-07-29 06:55:42

回答

3

我試着在今晚的Debian上安裝ghc 7.4.1與phooey相同的錯誤。原因是包wxc-0.90.0.4中的一個錯誤,它會影響所有基於wxHaskell的包。你能解決這個問題,就沒有必要降級WXC包...

最簡單的方式重現它是做

cabal install wxc 

cabal install glade 

這可能是一個很好的在做之前確保所有先決條件都已到位。 WXC取決於許多陰謀和Linux軟件包和他們都應該安裝並編譯......我這麼做是最笨的辦法可能,只是通過運行

cabal install wxc 

和閱讀它溢出了錯誤信息。這個甜心通常會告訴你它想要什麼...例如,如果它抱怨cabal包x,只是做cabal安裝x。如果它抱怨Linux軟件包y,那麼請使用您的Linux軟件包管理器並安裝此軟件包的開發版本,該軟件包在Debian中通常被稱爲lib<y>-dev。因此,舉例來說,如果

cabal install wxc 

給你一個錯誤,說該軟件包gtk + 2。0丟失,你想要做

apt-get install libgtk2.0-dev 

與開羅,glade2會和其他GTK相關的庫同樣的故事

當你是綠色的所有先決條件,要安裝的wxWidgets-2.9,這是目前處於開發階段...因此,它沒有Linux的任何二進制文件,您應該自己構建它。從wxWidgets網站下載源代碼並構建它。這是很容易做到的,只是:

  • 解壓/解壓縮的源代碼,以自己喜歡的目錄
  • 運行./config中
  • 運行./make

如果你是WXC -0.90.0.4,在這一刻你應該會遇到我們的小bug ...爲了長話短說,它在文件eljpen.cpp中,你可以在

~/.cabal/packages/hackage.haskell.org/wxc/0.90.0.4/wxc-0.90.0.4.tar.gz 

打開存檔,轉到文件中的第159行並替換* _ref = NULL;與_ref = NULL或任何其他更有意義。然後使用其中的固定eljpen.cpp文件在相同位置重新創建歸檔。

  • 運行./make

應該現在的工作。

  • 運行sudo make install(通常,您應該擁有root權限以使wxWidgets庫不受影響...)。

它完成後再次嘗試做

cabal install wx 

。它應該現在工作。我想,在那之後,你可以享受你的反應 - 香蕉-wx,wxHaskell,phooey等。

PS http://sourceforge.net/tracker/index.php?func=detail&aid=3576397&group_id=73133&atid=536845。爲什麼我沒有找到它? :/

+0

mac – pyCthon 2013-02-21 02:34:47

1

心中已經解決了對Lubuntu 12.10所以這個問題有用:

sudo的陰謀信息WX

Synopsis:  wxHaskell 
Versions available: 0.11.1.2, 0.12.1.4, 0.12.1.5, 0.12.1.6, 0.13.2, 
        0.13.2.1, 0.13.2.3, 0.90, 0.90.0.1 (and 11 others) 

我選擇了不同版本的wxHaskell,但只有0.13.2.3是正確的。

sudo的小集團安裝WX-0.13.2.3

...一切已經編譯和安裝。然後,我可以安裝:

sudo的小集團安裝無功香蕉WX -fbuildExamples

這是沒有依賴於或版本的格拉斯哥Haskell編譯的排序您的Linux。

+0

darn eljpen.cpp文件....非常感謝你這麼做 – pyCthon 2013-01-09 15:11:20