如何在OS X中为Haskell安装gtk库?

时间:2017-02-16 11:11:04

标签: haskell gtk

我在使用cabal在OS X上为Haskell安装gtk2时遇到问题。我正在使用this guide

原谅我的高通,但我要理解的问题从以下几行开始:

  

将包解压缩到其中没有空格的路径,并将通过解包创建的/ bin目录添加到%PATH%。

所以& PATH%是我安装的软件包在哪里?我知道该文件夹,但是“将解压缩创建的/ bin目录添加到此文件夹”是什么意思?当我下载gtk from here并解压缩时,没有任何名为“/ bin”或“bin”的文件夹。我的%PATH%中有一个目录bin包含一些可执行文件?但是没有bin目录创建形式解压缩例如gtk-0.14.5.tar.gz ?!

显然我做错了,因为当我继续指导时,我检查并得到:

gtk-0.14.5 Admin$ pkg-config --cflags gtk+-2.0
Package gtk+-2.0 was not found in the pkg-config search path.
Perhaps you should add the directory containing `gtk+-2.0.pc'
to the PKG_CONFIG_PATH environment variable
No package 'gtk+-2.0' found

If you see some compiler flags that contain the path into which you have installed the binary bundle, you are okay.
嗯嗯什么?有人可以像我五岁那样解释这个吗?什么是编译标志,什么是二进制包?就像这些指南假设您已经知道自己在做什么。

很好,我继续尝试通过输入以下命令来安装gtk的构建工具:

cabal install gtk2hs-buildtools

首先它抱怨我没有一个叫做“alex”的东西然后我没有一个叫做“快乐”的东西。那是什么?无论如何,即使我不明白我在做什么,我也会安装它们。最后我能够安装构建工具。

所以现在只剩下实际的gtk了,应该足够简单了。我输入:

cabal install gtk

但不是。它给我以下错误消息:

cabal install gtk.cabal
Resolving dependencies...
cabal: Could not resolve dependencies:
next goal: gtk (user goal)
rejecting: gtk-0.14.6 (constraint from user target requires ==0.14.5)
rejecting: gtk-0.14.5 (conflict: requires pkg-config package gtk+-2.0-any, not
found in the pkg-config database)
rejecting: gtk-0.14.4, gtk-0.14.3, gtk-0.14.2, gtk-0.13.9, gtk-0.13.8.1,
gtk-0.13.8, gtk-0.13.7, gtk-0.13.6, gtk-0.13.4, gtk-0.13.3, gtk-0.13.2,
gtk-0.13.1, gtk-0.13.0.3, gtk-0.13.0.2, gtk-0.13.0.1, gtk-0.13.0.0,
gtk-0.12.5.7, gtk-0.12.5.6, gtk-0.12.5.5, gtk-0.12.5.4, gtk-0.12.5.3,
gtk-0.12.5.2, gtk-0.12.5.1, gtk-0.12.5.0, gtk-0.12.4, gtk-0.12.3.1,
gtk-0.12.3, gtk-0.12.2, gtk-0.12.1, gtk-0.12.0, gtk-0.11.2, gtk-0.11.1,
gtk-0.11.0 (constraint from user target requires ==0.14.5)
Dependency tree exhaustively searched.

什么?我甚至在看什么?对不起,但是如何简单地为Haskell安装一个库这个?有人可以帮忙吗?我花了几天时间尝试安装Haskell库以便能够实际编程,但我重申一下,如何简单地安装一个简单的库是多么困难?我错过了什么吗?任何帮助都将受到高度赞赏。

1 个答案:

答案 0 :(得分:0)

我用Ubuntu解决了这个问题:

                //KALTURA NOT WORKING
                else if(url.indexOf('kaltura') != -1) {
                    scope.player.src({"type":"video/webm", "src":url});
                    scope.player.load();
                }

也许如果你在OS X上安装了libgtk2.0-dev(可能是brew),你就可以用cabal安装gtk了。