2012-07-29 95 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