title: Try to install gtk on mac missing dependencies
body: <p>I tried to install the gtk haskell on my mac. I used <a href="https://wiki.haskell.org/Gtk2Hs/Mac" rel="nofollow">this</a> site to install it. However I failed at the last step with the command: <code>sudo cabal install --with-gcc=gcc-4.8 gtk</code> </p>
  
  <p>the terminal answer is:</p>
  
  <pre><code>Resolving dependencies...
  cabal: Could not resolve dependencies:
  next goal: gtk (user goal)
  rejecting: gtk-0.14.5, gtk-0.14.4, gtk-0.14.3, gtk-0.14.2, gtk-0.13.9,
  gtk-0.13.8.1, gtk-0.13.8, gtk-0.13.7, gtk-0.13.6, gtk-0.13.4, gtk-0.13.3,
  gtk-0.13.2, gtk-0.13.1, gtk-0.13.0.3, gtk-0.13.0.2, gtk-0.13.0.1,
  gtk-0.13.0.0, gtk-0.12.5.7, gtk-0.12.5.6, gtk-0.12.5.5, gtk-0.12.5.4,
  gtk-0.12.5.3, gtk-0.12.5.2, gtk-0.12.5.1, gtk-0.12.5.0, gtk-0.12.4,
  gtk-0.12.3.1, gtk-0.12.3, gtk-0.12.2, gtk-0.12.1, gtk-0.12.0, gtk-0.11.2,
  gtk-0.11.1, gtk-0.11.0 (conflict: requires pkg-config package gtk+-2.0-any,
  not found in the pkg-config database)
  Dependency tree exhaustively searched.
  </code></pre>
  
  <p>Cabal should be up-to-date. </p>
  
  <p>Thanks in advance.</p>
  
  <p><strong>EDIT:</strong> After doing ErikR recipe, it started to install with the command <code>cabal install gtk</code>. This is the error message, I got:</p>
  
  <pre><code>Resolving dependencies...
  Configuring glib-0.13.4.0...
  Building glib-0.13.4.0...
  Installed glib-0.13.4.0
  Downloading gio-0.13.3.0...
  Downloading pango-0.13.3.0...
  Configuring gio-0.13.3.0...
  Configuring pango-0.13.3.0...
  Building gio-0.13.3.0...
  Building pango-0.13.3.0...
  Installed pango-0.13.3.0
  Installed gio-0.13.3.0
  Downloading gtk-0.14.5...
  Configuring gtk-0.14.5...
  Building gtk-0.14.5...
  Failed to install gtk-0.14.5
  Build log ( /Users/Max/.cabal/logs/gtk-0.14.5.log ):
  cabal: Entering directory '/var/folders/kr/2w9n7xxd6816d0rmgb05cfm00000gn/T/cabal-tmp-31721/gtk-0.14.5'
  [1 of 1] Compiling Main             ( /var/folders/kr/2w9n7xxd6816d0rmgb05cfm00000gn/T/cabal-tmp-31721/gtk-0.14.5/dist/setup/setup.hs, /var/folders/kr/2w9n7xxd6816d0rmgb05cfm00000gn/T/cabal-tmp-31721/gtk-0.14.5/dist/setup/Main.o )
  Linking /var/folders/kr/2w9n7xxd6816d0rmgb05cfm00000gn/T/cabal-tmp-31721/gtk-0.14.5/dist/setup/setup ...
  Configuring gtk-0.14.5...
  Building gtk-0.14.5...
  Preprocessing library gtk-0.14.5...
  [  1 of 209] Compiling Graphics.UI.Gtk.ModelView.Sequence ( Graphics/UI/Gtk/ModelView/Sequence.hs, dist/build/Graphics/UI/Gtk/ModelView/Sequence.o )
  [  2 of 209] Compiling Graphics.UI.Gtk.Gdk.Enums ( dist/build/Graphics/UI/Gtk/Gdk/Enums.hs, dist/build/Graphics/UI/Gtk/Gdk/Enums.o )
  [  3 of 209] Compiling Graphics.UI.Gtk.General.Enums ( dist/build/Graphics/UI/Gtk/General/Enums.hs, dist/build/Graphics/UI/Gtk/General/Enums.o )
  [  4 of 209] Compiling Graphics.UI.Gtk.General.Threading ( Graphics/UI/Gtk/General/Threading.hs, dist/build/Graphics/UI/Gtk/General/Threading.o )
  [  5 of 209] Compiling Graphics.UI.Gtk.Signals ( dist/build/Graphics/UI/Gtk/Signals.hs, dist/build/Graphics/UI/Gtk/Signals.o )
  [  6 of 209] Compiling Graphics.UI.Gtk.Types ( dist/build/Graphics/UI/Gtk/Types.hs, dist/build/Graphics/UI/Gtk/Types.o )
  [  7 of 209] Compiling Graphics.UI.Gtk.General.DNDTypes ( dist/build/Graphics/UI/Gtk/General/DNDTypes.hs, dist/build/Graphics/UI/Gtk/General/DNDTypes.o )
  [  8 of 209] Compiling Graphics.UI.Gtk.Abstract.ContainerChildProperties ( dist/build/Graphics/UI/Gtk/Abstract/ContainerChildProperties.hs, dist/build/Graphics/UI/Gtk/Abstract/ContainerChildProperties.o )
  [  9 of 209] Compiling Graphics.UI.Gtk.Embedding.Types ( dist/build/Graphics/UI/Gtk/Embedding/Types.hs, dist/build/Graphics/UI/Gtk/Embedding/Types.o )
  [ 10 of 209] Compiling Graphics.UI.Gtk.Embedding.Embedding ( dist/build/Graphics/UI/Gtk/Embedding/Embedding.hs, dist/build/Graphics/UI/Gtk/Embedding/Embedding.o )
  [ 11 of 209] Compiling Graphics.UI.Gtk.ModelView.Types ( dist/build/Graphics/UI/Gtk/ModelView/Types.hs, dist/build/Graphics/UI/Gtk/ModelView/Types.o )
  [ 12 of 209] Compiling Graphics.UI.Gtk.Gdk.PixbufData ( Graphics/UI/Gtk/Gdk/PixbufData.hs, dist/build/Graphics/UI/Gtk/Gdk/PixbufData.o )
  [ 13 of 209] Compiling Graphics.UI.Gtk.Gdk.PixbufAnimation ( dist/build/Graphics/UI/Gtk/Gdk/PixbufAnimation.hs, dist/build/Graphics/UI/Gtk/Gdk/PixbufAnimation.o )
  [ 14 of 209] Compiling Graphics.UI.Gtk.Builder ( dist/build/Graphics/UI/Gtk/Builder.hs, dist/build/Graphics/UI/Gtk/Builder.o )
  [ 15 of 209] Compiling Graphics.UI.Gtk.Abstract.Separator ( Graphics/UI/Gtk/Abstract/Separator.hs, dist/build/Graphics/UI/Gtk/Abstract/Separator.o )
  [ 16 of 209] Compiling Graphics.UI.Gtk.Abstract.Scrollbar ( Graphics/UI/Gtk/Abstract/Scrollbar.hs, dist/build/Graphics/UI/Gtk/Abstract/Scrollbar.o )
  [ 17 of 209] Compiling Graphics.UI.Gtk.Abstract.Scale ( dist/build/Graphics/UI/Gtk/Abstract/Scale.hs, dist/build/Graphics/UI/Gtk/Abstract/Scale.o )
  [ 18 of 209] Compiling Graphics.UI.Gtk.Abstract.Object ( dist/build/Graphics/UI/Gtk/Abstract/Object.hs, dist/build/Graphics/UI/Gtk/Abstract/Object.o )
  [ 19 of 209] Compiling Graphics.UI.Gtk.Abstract.Paned ( dist/build/Graphics/UI/Gtk/Abstract/Paned.hs, dist/build/Graphics/UI/Gtk/Abstract/Paned.o )
  [ 20 of 209] Compiling Graphics.UI.Gtk.General.Structs ( dist/build/Graphics/UI/Gtk/General/Structs.hs, dist/build/Graphics/UI/Gtk/General/Structs.o )
  [ 21 of 209] Compiling Graphics.UI.Gtk.Abstract.Range ( dist/build/Graphics/UI/Gtk/Abstract/Range.hs, dist/build/Graphics/UI/Gtk/Abstract/Range.o )
  [ 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:
      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:
      Couldn't match expected type ‘Ptr ()’
                  with actual type ‘Maybe DrawWindow’
      In the second argument of ‘\ (Display arg1) arg2
                                   -&gt; withForeignPtr arg1
                                      $ \ argPtr1 -&gt; gtk_plug_new_for_display argPtr1 arg2’, namely
        ‘(fromNativeWindowId (fromMaybe nativeWindowIdNone socketId))’
      In the second argument of ‘($)’, namely
        ‘(\ (Display arg1) arg2
            -&gt; withForeignPtr arg1
               $ \ argPtr1 -&gt; gtk_plug_new_for_display argPtr1 arg2)
           display
           (fromNativeWindowId (fromMaybe nativeWindowIdNone socketId))’
  
  Graphics/UI/Gtk/Embedding/Plug.chs:151:3:
      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)
            -&gt; withForeignPtr arg1 $ \ argPtr1 -&gt; gtk_plug_get_id argPtr1)
           (toPlug self)’
      In the expression:
        liftM toNativeWindowId
        $ (\ (Plug arg1)
             -&gt; withForeignPtr arg1 $ \ argPtr1 -&gt; gtk_plug_get_id argPtr1)
            (toPlug self)
  cabal: Leaving directory '/var/folders/kr/2w9n7xxd6816d0rmgb05cfm00000gn/T/cabal-tmp-31721/gtk-0.14.5'
  cabal: Error: some packages failed to install:
  gtk-0.14.5 failed during the building phase. The exception was:
  ExitFailure 1
  </code></pre>