我试着在我的mac上安装gtk haskell。 我用这个网站来安装它。 但是我在命令的最后一步失败了: sudo cabal install --with-gcc=gcc-4.8 gtk
终端答案是:
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应该是最新的。
提前致谢。
编辑:执行ErikR配方后,它开始使用命令cabal install gtk 。 这是错误信息,我得到了:
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 1I tried to install the gtk haskell on my mac. I used this site to install it. However I failed at the last step with the command: sudo cabal install --with-gcc=gcc-4.8 gtk
the terminal answer is:
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 should be up-to-date.
Thanks in advance.
EDIT: After doing ErikR recipe, it started to install with the command cabal install gtk. This is the error message, I got:
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最满意答案
问题是pkg-config找不到文件gtk+-2.0.pc :
需要pkg-config软件包gtk + -2.0-any,在pkg-config数据库中找不到
麻烦的步骤:
检查pkg-config配置哪些目录以查找.pc文件:
$ pkg-config --variable pc_path pkg-config在我的系统上, gtk+-2.0.pc驻留在/usr/local/lib/pkgconfig 。 我通过设置PKG_CONFIG_PATH环境变量来扩展搜索路径:
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:测试pkg-config可以找到gtk + -2.0:
pkg-config gtk+-2.0 --exists && echo Found the library没有输出意味着找不到.pc文件。 您可以用于检查的另一个命令是:
pkg-config gtk+-2.0 --libs --print-errors您将看到C编译器的错误消息或一长串标志,告诉它如何链接gtk库。
查找.pc文件的另一个技巧是使用locate命令(假设locate数据库已更新):
locate '*.pc' | grep gtkThe problem is that pkg-config cannot find the file gtk+-2.0.pc:
requires pkg-config package gtk+-2.0-any, not found in the pkg-config database
Steps to troublshoot:
Check which directories pkg-config is configured to look for .pc files with:
$ pkg-config --variable pc_path pkg-configOn my system, gtk+-2.0.pc resides in /usr/local/lib/pkgconfig. I extended the search path by setting the PKG_CONFIG_PATH environment variable:
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:Test that pkg-config can find gtk+-2.0:
pkg-config gtk+-2.0 --exists && echo Found the libraryNo output means the .pc file was not found. Another command you can use for checking is:
pkg-config gtk+-2.0 --libs --print-errorsYou'll either see an error message or a long list of flags for the C compiler which tells it how to link with the gtk libraries.
Another tip for finding the .pc file is to use the locate command (assuming the locate database has been updated):
locate '*.pc' | grep gtk更多推荐
发布评论