【问题标题】:installing haskell package gtkglext on mac在 mac 上安装 haskell 包 gtkglext
【发布时间】:2016-05-23 23:29:17
【问题描述】:

我想使用 Graphics.UI.Gtk.OpenGL

我有:

  • OS X 10.11
  • cabal 版本 1.22.0.0
  • 已安装 gtk

我得到的错误:

Could not find module ‘Graphics.UI.Gtk.OpenGL’
  Perhaps you meant
    Graphics.UI.Gtk.Gdk.GC (from gtk-0.14.2)
    Graphics.UI.Gtk.Cairo (from gtk-0.14.2)
    Graphics.UI.Gtk.Gdk.Gdk (from gtk-0.14.2)
  Use -v to see a list of the files searched for.`

我正在尝试使用以下方式安装 gtkglext:

cabal install gtkglext 

然后我得到:

Resolving dependencies...
Configuring glib-0.12.5.4...
Building glib-0.12.5.4...
Failed to install glib-0.12.5.4
Build log ( /Users/Martin/.cabal/logs/glib-0.12.5.4.log ):
[1 of 2] Compiling SetupWrapper     (         /var/folders/4p/yw17gzsd4554drxtxmbdd24c0000gn/T/glib-0.12.5.4-1526/glib-   0.12.5.4/SetupWrapper.hs, /var/folders/4p/yw17gzsd4554drxtxmbdd24c0000gn/T/glib-0.12.5.4-1526/glib-0.12.5.4/dist/setup/SetupWrapper.o )
[2 of 2] Compiling Main             ( /var/folders/4p/yw17gzsd4554drxtxmbdd24c0000gn/T/glib-0.12.5.4-1526/glib-0.12.5.4/dist/setup/setup.hs, /var/folders/4p/yw17gzsd4554drxtxmbdd24c0000gn/T/glib-0.12.5.4-1526/glib-0.12.5.4/dist/setup/Main.o )
Linking /var/folders/4p/yw17gzsd4554drxtxmbdd24c0000gn/T/glib-0.12.5.4-1526/glib-0.12.5.4/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 glib-0.12.5.4...
Building glib-0.12.5.4...
Preprocessing library glib-0.12.5.4...
gtk2hsC2hs: Error in C header file.

/usr/include/dirent.h:150: (column 10) [FATAL] 
  \>>> Syntax error!
  The symbol `^' does not fit here.

cabal: Error: some packages failed to install:
gio-0.12.5.3 depends on glib-0.12.5.4 which failed to install.
glib-0.12.5.4 failed during the building phase. The exception was:
ExitFailure 1
gtk-0.12.5.7 depends on glib-0.12.5.4 which failed to install.
gtkglext-0.12.5.0 depends on glib-0.12.5.4 which failed to install.
pango-0.12.5.3 depends on glib-0.12.5.4 which failed to install.`

所以我发现,gtkglext 有依赖 glib (>=0.12.5.0 &&

编辑:------------------------------ -------------------------

安装

cabal install gtkglext  --with-gcc=gcc-4.8

产生另一个错误,即:

Graphics/UI/Gtk/General/Structs.hsc:660:3: Couldn't match type ‘CInt’ with ‘Ptr a0’ Expected type: IO (Ptr a0) Actual type: IO CInt In the second argument of ‘($)’, namely ‘(\ (Drawable drawable) -> withForeignPtr drawable gdk_x11_drawable_get_xid) (toDrawable d)’ In the expression: liftM toNativeWindowId $ (\ (Drawable drawable) -> withForeignPtr drawable gdk_x11_drawable_get_xid) (toDrawable d)

谷歌搜索很少会产生: https://github.com/gtk2hs/gtk2hs/issues/27

但我不知道他是如何“完全禁用 drawableGetID 并且这似乎工作正常”。

任何帮助都会很有用。

【问题讨论】:

  • gtkglext on Hackage 最后一次上传是在 2013 年,所以它可能已经过时了。您可以尝试仅编辑 cabal 文件并删除有问题的边界限制并查看它是否有效。

标签: haskell gtk glib gtk2hs


【解决方案1】:

关键是这个错误信息:

/usr/include/dirent.h:150: (column 10) [FATAL] >>> Syntax error! The symbol `^' does not fit here.

在 github 上搜索该消息会导致他的问题:

https://github.com/gtk2hs/gtk2hs/issues/1

建议的解决方法是使用以下命令运行 cabal:

cabal install --with-gcc=gcc-4.8

所以 - 如果需要,可以升级您的 gcc 版本并使用 --with-gcc= 标志。

【讨论】:

    猜你喜欢
    • 2013-03-20
    • 1970-01-01
    • 2021-04-14
    • 2022-10-07
    • 1970-01-01
    • 1970-01-01
    • 2014-09-11
    • 1970-01-01
    • 2020-07-07
    相关资源
    最近更新 更多