Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Haskell linux mint 17上缺少图表cairo的依赖项_Haskell_Charts_Cairo_Gtk2hs - Fatal编程技术网

Haskell linux mint 17上缺少图表cairo的依赖项

Haskell linux mint 17上缺少图表cairo的依赖项,haskell,charts,cairo,gtk2hs,Haskell,Charts,Cairo,Gtk2hs,我正在努力在LinuxMint17上安装GTK/gtk2hs绑定 我第一次遇到这个问题是当我试图在Haskell获得glade的支持时 也有同样的问题,但这纯粹是为了好玩,所以我顺其自然 这一次,我试图用图形来可视化 问题发生在第四步cabal安装图表cairo 我使用的是GHC版本7.6.3、cabal版本1.16.0.2、gtk2hs构建工具版本0.12.4-2ubuntu1(来自包管理器)、gtk2hsC2hs版本0.13.6(这是glade需要>=0.13.8的地方,但我找不到更新的版本

我正在努力在LinuxMint17上安装GTK/gtk2hs绑定

我第一次遇到这个问题是当我试图在Haskell获得glade的支持时

也有同样的问题,但这纯粹是为了好玩,所以我顺其自然

这一次,我试图用图形来可视化

问题发生在第四步
cabal安装图表cairo

我使用的是GHC版本7.6.3、cabal版本1.16.0.2、gtk2hs构建工具版本0.12.4-2ubuntu1(来自包管理器)、gtk2hsC2hs版本0.13.6(这是glade需要>=0.13.8的地方,但我找不到更新的版本)

到目前为止我已经尝试过的事情:

  • 从PackageManager下载gtk2hs构建工具后,我更新了cabal并从命令行安装了这些工具

  • 将“$HOME/.cabal/bin”添加到$PATH的前面(正确安装gtk之后)

  • cabal安装图表cairo收到此错误消息

    Resolving dependencies...    
    [1 of 2] Compiling SetupWrapper     ( /tmp/cairo-0.13.0.2-19862/cairo-0.13.0.2/SetupWrapper.hs, /tmp/cairo-0.13.0.2-19862/cairo-0.13.0.2/dist/setup/SetupWrapper.o )    
    [2 of 2] Compiling Main             ( /tmp/cairo-0.13.0.2-19862/cairo-0.13.0.2/dist/setup/setup.hs, /tmp/cairo-0.13.0.2-19862/cairo-0.13.0.2/dist/setup/Main.o )    
    Linking /tmp/cairo-0.13.0.2-19862/cairo-0.13.0.2/dist/setup/setup ...    
    [1 of 2] Compiling Gtk2HsSetup      ( Gtk2HsSetup.hs, dist/setup-wrapper/Gtk2HsSetup.o )    
    [2 of 2] Compiling Main             ( SetupMain.hs, dist/setup-wrapper/Main.o )    
    Linking dist/setup-wrapper/setup ...    
    Configuring cairo-0.13.0.2...    
    Building cairo-0.13.0.2...    
    Preprocessing library cairo-0.13.0.2...    
    [ 1 of 18] Compiling Graphics.Rendering.Cairo.Matrix ( dist/build/Graphics/Rendering/Cairo/Matrix.hs, dist/build/Graphics/Rendering/Cairo/Matrix.o )    
    [ 2 of 18] Compiling Graphics.Rendering.Cairo.Types ( dist/build/Graphics/Rendering/Cairo/Types.hs, dist/build/Graphics/Rendering/Cairo/Types.o )    
    [ 3 of 18] Compiling Graphics.Rendering.Cairo.Internal.Utilities ( dist/build/Graphics/Rendering/Cairo/Internal/Utilities.hs, dist/build/Graphics/Rendering/Cairo/Internal/Utilities.o )    
    
    Graphics/Rendering/Cairo/Internal/Utilities.chs:24:42:    
        Module `Data.Text.Foreign' does not export `withCStringLen'    
    Failed to install cairo-0.13.0.2    
    cabal: Error: some packages failed to install:    
        Chart-cairo-1.3.2 depends on cairo-0.13.0.2 which failed to install.    
        cairo-0.13.0.2 failed during the building phase. The exception was:    
        ExitFailure 1    
    
  • pkg config cairo--modversion
    告诉我我有版本1.13.1(比0.13.0.2更新?)


  • 我只是自己尝试了一下,遇到了一些我能够克服的障碍。。。。也许你也有同样的问题

    由于某些原因,某些依赖项不会自动安装。不过,手动安装它们很容易。试试这个:

    cabal install alex
    cabal install gtk2hs-buildtools
    cabal install cairo
    cabal install chart-cairo
    
    一般来说,如果你在你的阴谋输出中看到一条错误消息,就像你的帖子中的下面一行

    Failed to install cairo-0.13.0.2   
    
    尝试手动安装是个好主意。虽然依赖关系应该是可以解决的,但我遇到过很多没有解决的情况(我认为这可能与cabal安装命令行工具有关,但我从来没有仔细研究过)。在这个特殊的例子中,我就是这么做的,但我必须向上走4次

  • 正在使用旧版本的
    text
    (也导致阴谋集团选择旧版本的
    cairo
    ,带有坏的
    build deps
    )。尝试将
    --constraint='cairo>=0.13.0.5'
    添加到您的阴谋集团安装中。这也将迫使阴谋集团选择更新版本的
    text

  • pkg config cairo--modversion
    提供实际cairo库的版本。0.13.0.2是包装cairo的Gtk2Hs haskell包的版本(实际包装的cairo版本取决于安装的内容)


  • 我遇到了同样的问题。这是一个迟到的答复,但找到了解决此问题的好资源。在我的Debian系统(Linux Mint)上,我发现:

    sudo apt-get install libghc-gtk-dev
    

    解决了这个问题。但该链接为几种基于Linux的系统以及Windows、BSD和Mac提供了安装建议。

    我尝试从头开始安装所有东西,但不幸的是,它没有帮助。您能告诉我如何手动安装丢失的软件包吗?我的谷歌浏览器根本帮不了我。顺便说一句,“旧”gtk2hsC2hs版本的问题已通过使用root安装gtk2hs buildtools修复,现在出现了一条新的错误消息
    模块数据。Text.Foreign“not export”with cstringlen“未能安装cairo-0.13.0.2
    。在这种情况下,我所做的是上面的几行。。。。您尝试此操作时发生了什么情况?我按照您的顺序执行了这些行,但模块数据出现错误。Test.Foreign…未能安装cairo-0.13.0.2。在安装glade(因此gtk2hs构建工具正在“工作”)之后,它以某种方式成功地安装了chart cairo。glade安装花了相当长的时间,我想我已经看到它下载了gtk风格的东西。但我仍然无法理解为什么,以及这一切如何与运行根这样简单的阴谋集团有关。好吧,我在我的笔记本电脑上尝试了完全相同的步骤,它不会再次安装。除了较新的cabal版本
    1.20.0.3
    ,它的设置与第一篇文章中的设置相同
    sudo cabal安装alex
    sudo cabal安装gtk2hs buildtools
    安装没有问题。
    sudo cabal install cairo
    sudo cabal install chart cairo
    都向我发送了错误消息
    pkg配置包'cairo'version>=1.2.0是必需的,但找不到它。未能安装cairo-0.13.0.5
    。如果我尝试安装gtk或glade,他们都找不到gio/glib/cairo软件包。我知道这是非常通用的信息,但您是否尝试过
    cabal update
    。另外,
    cabal解包cairo
    ,然后cd'ing到dir,然后
    cabal configure
    cabal build
    有时有助于理解问题。