3

我一直在尝试编译一个依赖于 Pango(通过 Gtk3)的 Haskell 项目,但到目前为止没有成功。问题似乎出在预处理器上(基于奇怪的损坏类型名称),但我还没有找到确切的原因。

我在运行Windows 10GHC 7.10stack64 位机器上使用。我已经在同一台 PC 上使用 Gtk3 编译了其他项目,所以我相当确定这不是兼容性问题。cabal

我在下面包含了一小部分构建日志。

[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.exe ...
Configuring pango-0.13.1.0...
Building pango-0.13.1.0...
Preprocessing library pango-0.13.1.0...
[ 1 of 14] Compiling Graphics.Rendering.Pango.Types ( .stack-work\dist\i386-windows\Cabal-1.22.4.0\build\Graphics\Rendering\Pango\Types.hs, .stack-work\dist\i386-windows\Cabal-1.22.4.0\build\Graphics\Rendering\Pango\Types.o )
[ 2 of 14] Compiling Graphics.Rendering.Pango.BasicTypes ( .stack-work\dist\i386-windows\Cabal-1.22.4.0\build\Graphics\Rendering\Pango\BasicTypes.hs, .stack-work\dist\i386-windows\Cabal-1.22.4.0\build\Graphics\Rendering\Pango\BasicTypes.o )
[ 3 of 14] Compiling Graphics.Rendering.Pango.Structs ( .stack-work\dist\i386-windows\Cabal-1.22.4.0\build\Graphics\Rendering\Pango\Structs.hs, .stack-work\dist\i386-windows\Cabal-1.22.4.0\build\Graphics\Rendering\Pango\Structs.o )

GraphicsRenderingPangoStructs.hsc:79:21:
    Not in scope: type constructor or class ÔÇÿWord420906795024ÔÇÖ

GraphicsRenderingPangoStructs.hsc:79:40:
    Not in scope: type constructor or class ÔÇÿWord420906795024ÔÇÖ

GraphicsRenderingPangoStructs.hsc:79:59:
    Not in scope: type constructor or class ÔÇÿWord420906795024ÔÇÖ

它继续出现一系列几乎相同的错误。

编辑(参见 haoformayor 的评论)

在发布此问题之前,我遇到了该错误单,但不确定如何printf“干净地”解决该问题。我试过听从你的建议,但我最近从 cabal 过渡,仍然不熟悉stack.

编辑了我的 stack.yaml 文件(见下文)后,我遇到了完全相同的错误消息列表。

packages:
- location:
  git: https://github.com/gtk2hs/gtk2hs.git
  commit: dff5deae25a3f2c7d63ae583d1096b626bb6a9d2

如有必要,我将提供其他信息。也许我做错了什么?

编辑 我已经修改了gitURL 并删除了文件中的重复packagesstack.yamlStack现在可以gtk2hs在 GitHub 上找到最新版本,但抱怨缺少.cabal文件。大概我必须通过一些替代的构建系统(例如gtk2hs-buildtools)来运行它。

4

0 回答 0