我正在爲安裝gtk2hs和相關工具包,繼this process, tested with GHC 7.2.2,但我碰到了一點麻煩。我使用的是Mac OS X Lion,通過自制軟件安裝了glib 2.30.2,以及ghc 7.4(聖誕節前的候選版本)。我想我的gcc版本可能是相關glib gremlin與GHC 7.4
bash-3.2$ gcc --version
i686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.1.00)
試圖期間cabal install gtk
安裝glib
依賴時,麻煩來了。我試了一個單獨的cabal unpack glib
和cabal install
,我得到了這個指針偏執狂的抱怨。
bash-3.2$ cabal install
Resolving dependencies...
Configuring glib-0.12.2...
Building glib-0.12.2...
Preprocessing library glib-0.12.2...
System/Glib/hsgclosure.c: In function 'gtk2hs_closure_marshal':
System/Glib/hsgclosure.c:110:0:
warning: passing argument 1 of 'rts_evalIO' from incompatible pointer type
System/Glib/hsgclosure.c:110:0:
error: void value not ignored as it ought to be
相關文件的相關線上
cap=rts_evalIO(CAP rts_apply(CAP (HaskellObj)runIO_closure, call),&ret);
,但我沒有專業知識來解釋。
我在reddit discussion的評論中問過同樣的問題,這首先導致我的過程,但我想我也可能在這裏尋求智慧。
在設置的早些時候,GHC 7.4是否改變了這種事情的方式,或者更有可能其他事情被打破?這不是明顯的this problem,但在這個層面上,對我來說很少是顯而易見的。我沒有一個好的心理模型來說明發生了什麼。
我會很感激任何光棚。
感謝確認,這是一個嚴重的變化。我可能需要做相當多的學習,然後才能自己解決這個問題。我想我會等。 – pigworker