我正在努力在Linux Mint 17上安装GTK / gtk2hs绑定。
我第一次遇到这个问题的时候是我试图在Haskell中获得glade支持。
有同样的问题,但它纯粹是为了好玩,所以我让它成为现实。
这次我试图用Haskell Chart来形象化图形。
问题出现在第四步cabal install chart-cairo
我正在使用GHC版本7.6.3,cabal版本1.16.0.2,gtk2hs-buildtools版本0.12.4-2ubuntu1(来自软件包管理器),gtk2hsC2hs版本0.13.6(这是林间空地需要的地方> = 0.13.8,但我找不到更新的版本)
到目前为止我尝试过的事情:
从软件包管理器下载gtk2hs-buildtools后,我更新了cabal并从命令行安装了工具
在$ PATH的前面添加了“$ HOME / .cabal / bin”(正确安装了gtk之后)
cabal install chart-cairo让我收到此错误消息
Resolving dependencies...
[1 of 2] Compiling SetupWrapper ( /tmp/cairo-0.13.0.2-19862/cairo-0.13.0.2/SetupWrapper.hs, /tmp/cairo-0.13.0.2-19862/cairo-0.13.0.2/dist/setup/SetupWrapper.o )
[2 of 2] Compiling Main ( /tmp/cairo-0.13.0.2-19862/cairo-0.13.0.2/dist/setup/setup.hs, /tmp/cairo-0.13.0.2-19862/cairo-0.13.0.2/dist/setup/Main.o )
Linking /tmp/cairo-0.13.0.2-19862/cairo-0.13.0.2/dist/setup/setup ...
[1 of 2] Compiling Gtk2HsSetup ( Gtk2HsSetup.hs, dist/setup-wrapper/Gtk2HsSetup.o )
[2 of 2] Compiling Main ( SetupMain.hs, dist/setup-wrapper/Main.o )
Linking dist/setup-wrapper/setup ...
Configuring cairo-0.13.0.2...
Building cairo-0.13.0.2...
Preprocessing library cairo-0.13.0.2...
[ 1 of 18] Compiling Graphics.Rendering.Cairo.Matrix ( dist/build/Graphics/Rendering/Cairo/Matrix.hs, dist/build/Graphics/Rendering/Cairo/Matrix.o )
[ 2 of 18] Compiling Graphics.Rendering.Cairo.Types ( dist/build/Graphics/Rendering/Cairo/Types.hs, dist/build/Graphics/Rendering/Cairo/Types.o )
[ 3 of 18] Compiling Graphics.Rendering.Cairo.Internal.Utilities ( dist/build/Graphics/Rendering/Cairo/Internal/Utilities.hs, dist/build/Graphics/Rendering/Cairo/Internal/Utilities.o )
Graphics/Rendering/Cairo/Internal/Utilities.chs:24:42:
Module `Data.Text.Foreign' does not export `withCStringLen'
Failed to install cairo-0.13.0.2
cabal: Error: some packages failed to install:
Chart-cairo-1.3.2 depends on cairo-0.13.0.2 which failed to install.
cairo-0.13.0.2 failed during the building phase. The exception was:
ExitFailure 1
pkg-config cairo --modversion
告诉我我的版本是1.13.1(比0.13.0.2更新?)
答案 0 :(得分:1)
我只是亲自尝试过,并遇到了一些我能够克服的障碍......也许你遇到了同样的问题。
由于某种原因,某些依赖项不会自动安装。虽然手动安装很容易。试试这个:
cabal install alex
cabal install gtk2hs-buildtools
cabal install cairo
cabal install chart-cairo
通常,如果您在cabal输出中看到错误消息,如帖子中的以下行
Failed to install cairo-0.13.0.2
手动尝试安装是个好主意。虽然应该解决依赖关系,但我遇到了许多他们不知道的情况(我认为它可能与cabal安装命令行工具有关,但从未完全研究过它)。在这种特殊情况下,这就是我所做的,但我不得不上链4次......
答案 1 :(得分:0)
正在使用旧版本的text
(也会导致cabal选择旧版cairo
且版本为build-deps
)。尝试将--constraint='cairo>=0.13.0.5'
添加到您的cabal安装中。这也应该迫使cabal选择较新版本的text
。
pkg-config cairo --modversion
给出了实际cairo库的版本。 0.13.0.2是包装cairo的Gtk2Hs haskell包的版本(实际的cairo版本包装取决于安装的内容)