尝试在mac缺少依赖项上安装gtk(Try to install gtk on mac missing dependencies)

编程入门 行业动态 更新时间:2024-10-24 07:32:16
尝试在mac缺少依赖项上安装gtk(Try to install gtk on mac missing dependencies)

我试着在我的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 1

I 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 gtk

The 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-config

On 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 library

No output means the .pc file was not found. Another command you can use for checking is:

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

You'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

更多推荐

本文发布于:2023-08-06 14:12:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1451250.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:gtk   mac   install   dependencies   missing

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!