2016-08-12 6 views
3

Ich habe versucht, die GTK Haskell auf meinem Mac zu installieren. Ich habe this Website verwendet, um es zu installieren. Allerdings scheiterte ich im letzten Schritt mit dem Befehl: sudo cabal install --with-gcc=gcc-4.8 gtkVersuchen Sie, gtk auf dem Mac fehlende Abhängigkeiten zu installieren

das Terminal Antwort lautet:

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. 

Cabal sollte up-to-date sein.

Vielen Dank im Voraus.

EDIT: Nach ErikR Rezept begann es mit dem Befehl cabal install gtk zu installieren. Dies ist die Fehlermeldung, ich habe:

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 
           -> 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: 
    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) 
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 
+0

Welche Versionen von Kabale/ghc sind Sie – epsilonhalbe

+0

mit denen von Welche Rezepte hast du installiert, um gtk auf dieser Seite zu installieren? 1, 2, 3, 4, 5 oder 6? Konnten Sie "GTK-Demo" ausführen? Und welche Version von OS X laufen Sie? – ErikR

+0

Kabale Version 1.24.0.0 und Ghc Version 7.10.3, ich versuchte Rezept 2. und os x Version 10.11.6. Ja, ich konnte die Demo starten –

Antwort

2

Das Problem ist, dass pkg-config die Datei nicht gtk+-2.0.pc finden:

erfordert pkg-config Paket gtk -2,0-any, nicht in der pkg + gefunden -config Datenbank

Schritte zum troublshoot:

  1. Überprüfen Sie, welche pkg-config Verzeichnisse konfiguriert ist, mit für .pc Dateien zu suchen:

    $ pkg-config --variable pc_path pkg-config 
    
  2. Auf meinem System befindet gtk+-2.0.pc in /usr/local/lib/pkgconfig. Ich erweitert den Suchpfad durch die PKG_CONFIG_PATH Umgebungsvariable:

    export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig: 
    
  3. -Test, dass pkg-config kann gtk + -2.0 finden:

    pkg-config gtk+-2.0 --exists && echo Found the library 
    

    Keine Ausgabemittel die .pc Datei wurde nicht gefunden. Ein weiterer Befehl Sie zur Überprüfung verwenden können, ist:

    pkg-config gtk+-2.0 --libs --print-errors 
    

    Entweder wird eine Fehlermeldung oder eine lange Liste von Flags für die C-Compiler sehen, die es sagt, wie mit den GTK-Bibliotheken zu verknüpfen.

  4. Noch ein Tipp die .pc Datei für die Suche ist den locate Befehl zu verwenden (vorausgesetzt, die Locate-Datenbank aktualisiert wurde):

    locate '*.pc' | grep gtk 
    
+0

Vielen Dank für Ihre schnelle Lösung, aber es funktioniert nicht für mich. Ich habe die Variable von PKG_CONFIG_PATH geändert und im nächsten Schritt die Antwort "Found the library" erhalten. Nach einem weiteren fehlgeschlagenen Installationsversuch überprüfte ich die Fehlermeldung (2. Teil von 3) und gab mir viele Flags wie "-L/usr/local/Cellar/gtk +/2.24.29/lib". Wie kann ich diese Flags verknüpfen? –

+0

Nur zu sagen "es funktioniert nicht" ist nicht sehr hilfreich. Bitte aktualisieren Sie Ihre Frage mit dem, was Sie versucht haben und was die Fehlermeldung ist. – ErikR

+0

Laut @ eugenks Kommentar oben: 'cabal install gtk -f have-quartz-gtk' hat das für mich behoben. –