我是否应该单独使用“堆栈构建”编译reactive-banana-wx?

时间:2016-04-02 07:06:35

标签: reactive-banana wxhaskell

我克隆了reactive-banana并尝试构建reactive-banana-wx示例:

git clone http://github.com/HeinrichApfelmus/reactive-banana.git 
cd reactive-banana/reactive-banana-wx
stack build

该目录中有一个stack.yaml,它确实会获取多个包,但会因此错误而停止:

Progress: 16/20
--  While building package wxc-0.92.2.0 using:

[snip]

    Process exited with code: ExitFailure 1
    Logs have been written to: /home/kostmo/github/reactive-banana/reactive-banana-wx/.stack-work/logs/wxc-0.92.2.0.log

    [1 of 1] Compiling Main             ( /tmp/stack5908/wxc-0.92.2.0/Setup.hs, /tmp/stack5908/wxc-0.92.2.0/.stack-work/dist/x86_64-linux/Cabal-1.22.5.0/setup/Main.o )
    Linking /tmp/stack5908/wxc-0.92.2.0/.stack-work/dist/x86_64-linux/Cabal-1.22.5.0/setup/setup ...
    Error: wx-config not found, please install wx-config before installing wxc

在运行stack build之前是否还需要执行其他步骤?

This user似乎有一个相关的问题。

2 个答案:

答案 0 :(得分:1)

错误消息显示

Error: wx-config not found, please install wx-config before installing wxc

此错误表明您运行的程序找不到wx-config实用程序,它是wxWidgets安装的一部分。一个可能的原因是你没有安装wxWidgets库,这是用C ++编写的。

答案 1 :(得分:1)

@ Heinrich的回答让我走上正轨。

我按照here的指示进行了一些细微的改动。

在我的Ubuntu 15.10机器上,我执行了这些命令:

sudo apt-key adv --fetch-keys http://repos.codelite.org/CodeLite.asc

# This seems to work even though my release's codename is "wily":
sudo apt-add-repository 'deb http://repos.codelite.org/wx3.0.2/ubuntu/ utopic universe'

sudo apt-get update
sudo apt-get install g++ libglu-dev libwxgtk3.0-dev libwxbase3.0-0-unofficial libwxbase3.0-dev libwxgtk3.0-0-unofficial wx3.0-headers wx-common libwxgtk-media3.0-dev libwxgtk-webview3.0-dev

我不确定这些软件包中的每一个都是必需的,但在安装它们之后我能够执行

stack build

reactive-banana/reactive-banana-wx目录中成功。

我无法立即运行这些示例;我首先在reactive-banana-wx.cabal的{​​{1}}下更改了

中的行
flag buildExamples

default:     False

重新运行default: True 然后编译示例,可以按如下方式运行:

stack build