【问题标题】:Installing gtk2hs failure安装 gtk2hs 失败
【发布时间】:2016-06-03 03:25:34
【问题描述】:

我按照说明使用http://wiki.haskell.org/Gtk2Hs/InstallationWindows 8.1 x64 上安装gtk 库。

我已经安装了MSYS2 并用它来下载和构建gtk。然后我跑了:

cabal update // ok

cabal install gtk2hs-buildtools // ok

cabal install gtk // failed, 

cabal日志:

  • glib.log

    正在构建 glib-0.13.2.2...
    预处理库 glib-0.13.2.2...
    dist\build\System\Glib\StoreValue_hsc_utils.o:StoreValue_hsc_utils.c:(.text+0x0): `__debugbreak'的多重定义
    dist\build\System\Glib\StoreValue_hsc_make.o:StoreValue_hsc_make.c:(.text+0x0): 首先在这里定义
    collect2.exe:错误:ld 返回 1 个退出状态
    链接 dist\build\System\Glib\StoreValue_hsc_make.o 失败(退出代码 1)
    命令是:C:\Program Files\Haskell Platform\7.10.3\mingw\bin\gcc.exe dist\build\System\Glib\StoreValue_hsc_make.o dist\build\System\Glib\StoreValue_hsc_utils.o -o dist\build \System\Glib\StoreValue_hsc_make.exe -LC:/msys64/mingw64/lib -lgobject-2.0 -lglib-2.0 -lintl -LC:\Users\Lexa27\AppData\Roaming\cabal\x86_64-windows-ghc-7.10.3 \utf8-string-1.0.1.1-L8eKHa7Iv9q7FVKUYW6u4b -LC:\Program Files\Haskell Platform\7.10.3\lib\extralibs\text-1.2.1.3 -LC:\Program Files\Haskell Platform\7.10.3\lib\binar_3uXFWMoAGBg0xKP9MHKRwi -LC:\Program Files\Haskell Platform\7.10.3\lib\conta_2C3ZI8RgPO2LBMidXKTvIU -LC:\Program Files\Haskell Platform\7.10.3\lib\bytes_6VWy06pWzJq9evDvK2d4w6 -LC:\Program Files\Haskell Platform\7.10.3\lib\ deeps_6vMKxt5sPFR0XsbRWvvq59 -LC:\Program Files\Haskell Platform\7.10.3\lib\array_67iodizgJQIIxYVTp4emlA -LC:\Program Files\Haskell Platform\7.10.3\lib\base_HQfYBxpPvuw8OunzQu6JGM -lwsock32 -luser32 -lshell32 -LC:\Program Files\Haskell Platform \7.10.3\lib\integ_2aU3IZNMF9a7mQ0 OzsZ0dS -LC:\Program Files\Haskell Platform\7.10.3\lib\ghcpr_8TmvWUcS1U1IKHT0levwg3 -LC:\Program Files\Haskell Platform\7.10.3\lib/rts -lm -lwsock32 -lgdi32 -lwinmm

  • build.log https://drive.google.com/file/d/0B9t961_0P4GbMWhhMklSMDlpRkE/view?usp=sharing
  • gtk2hs-buildtools https://drive.google.com/file/d/0B9t961_0P4GbdXpGT081V0hHeFE/view?usp=sharing

【问题讨论】:

  • 你确定这个After installing gtk2hs-buildtools, make sure that gtk2hsC2hs is in a directory that is on your %PATH%.了吗?请不要发布与其他地方托管的图像的链接。尝试先缩小问题范围,然后尝试发布小日志。
  • gtk2hsC2hs.exe 在我的 %PATH% 上的目录中
  • 错误显示“错误:ld 返回 1 个退出状态”,但随后显示“命令为:... gcc.exe”。 gcc 显然正在调用 ld,但失败了。如果您想知道为什么必须弄清楚它正在运行哪个 ld 命令(您还需要将 -v 传递给 gcc - cabal 有一个 cc-options 字段)。由于您在 Windows 上,并且链接步骤失败,因此有 99% 的可能性是由于以下三件事之一:缺少库、架构 (x86 v i386) 在许多可能的地方之一不匹配,或 ld 命令对于 Windows 来说太长了 (8191 chars max)

标签: haskell gtk cabal-install


【解决方案1】:

过去两天我遇到同样的错误消息,并且 终于找到了解决方法(尽管我使用的是 win7 -x64)。

您需要从https://hackage.haskell.org/package/glib 单独下载 glib。然后您需要按照此处所述调整 glib.cabal: https://mail.haskell.org/pipermail/haskell-cafe/2015-October/121935.html (您必须删除 cpp 选项:'-D__attribute__(A)=')

最后,切换到你的 glib 目录并运行:

cabal install glib.cabal

这应该可以。您可能必须对其他 gtk+ 依赖项执行相同的步骤。

【讨论】:

    猜你喜欢
    • 2012-04-16
    • 1970-01-01
    • 2019-03-14
    • 1970-01-01
    • 2015-07-18
    • 2013-02-24
    • 1970-01-01
    • 2017-08-14
    • 2021-05-06
    相关资源
    最近更新 更多