Cabal installieren gtk fehlgeschlagen

Ich versuche, gtk über cabal zu installieren. Beim Erstellen werden jedoch die folgenden Typfehler angezeigt.

[ 22 of 209] Compiling Graphics.UI.Gtk.Embedding.Plug ( dist/build/Graphics/UI/Gtk/Embedding/Plug.hs, dist/build/Graphics/UI/Gtk/Embedding/Plug.o )

Graphics/UI/Gtk/Embedding/Plug.chs:120:6: error:
    Couldn't match expected type ‘Ptr ()’
                with actual type ‘Maybe DrawWindow’
    In the first argument of ‘gtk_plug_new’, namely
      ‘(fromNativeWindowId (fromMaybe nativeWindowIdNone socketId))’
    In the second argument of ‘($)’, namely
      ‘gtk_plug_new
         (fromNativeWindowId (fromMaybe nativeWindowIdNone socketId))’

Graphics/UI/Gtk/Embedding/Plug.chs:137:6: error:
    Couldn't match expected type ‘Ptr ()’
                with actual type ‘Maybe DrawWindow’
    In the second argument of ‘\ (Display arg1) arg2
                                 -> withForeignPtr arg1
                                    $ \ argPtr1 -> gtk_plug_new_for_display argPtr1 arg2’, namely
      ‘(fromNativeWindowId (fromMaybe nativeWindowIdNone socketId))’
    In the second argument of ‘($)’, namely
      ‘(\ (Display arg1) arg2
          -> withForeignPtr arg1
             $ \ argPtr1 -> gtk_plug_new_for_display argPtr1 arg2)
         display
         (fromNativeWindowId (fromMaybe nativeWindowIdNone socketId))’

Graphics/UI/Gtk/Embedding/Plug.chs:151:3: error:
    Couldn't match type ‘Ptr ()’ with ‘Maybe DrawWindow’
    Expected type: IO (Maybe DrawWindow)
      Actual type: IO (Ptr ())
    In the second argument of ‘($)’, namely
      ‘(\ (Plug arg1)
          -> withForeignPtr arg1 $ \ argPtr1 -> gtk_plug_get_id argPtr1)
         (toPlug self)’
    In the expression:
      liftM toNativeWindowId
      $ (\ (Plug arg1)
           -> withForeignPtr arg1 $ \ argPtr1 -> gtk_plug_get_id argPtr1)
          (toPlug self)
Failed to install gtk-0.13.9
cabal: Error: some packages failed to install:
gtk-0.13.9 failed during the building phase. The exception was:
ExitFailure 1

Zur Installation dieses Pakets benötigen Sie "gtk2hsC2hs" und die Typfehler befinden sich in.chs -Dateien, die vermutlich vom Tool gtk2hsC2hs generiert werden. Ist das ein bekanntes Problem mit gtk2hsC2hs? Hat jemand anderes dieses Paket bauen können? Kennt jemand eine Lösung?

Ich verwende Mac OS X Yosemite (10.10.4)

$ gtk2hsC2hs --version
C->Haskell Compiler, version 0.13.13 (gtk2hs branch) "Bin IO", 27 May 2012

$ cabal --version
cabal-install version 1.22.6.0
using version 1.22.4.0 of the Cabal library 

Ich habe ein @ gemaccabal update, daher scheinen alle meine Pakete auf dem neuesten Stand zu sein. Ich habe auch versucht, einige der älteren Versionen von Hackage zu erstellen, aber ich erhalte die gleichen Fehler.

Bearbeite

Die Fehler in den generierten Dateien scheinen sich alle auf die FFI-Importe zu beziehen, die von gtk2hsC2hs generiert werden. Am Ende der Datei erhalte ich

foreign import ccall unsafe "gtk_plug_new"
  gtk_plug_new :: ((Ptr ()) -> (IO (Ptr Widget)))

Es scheint konsequent zu verwechselnPtr() mitMaybe DrawWindow. So ist der generierte TypPtr() falsch, oder ist die Verwendung falsch?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage