奇怪的haskell堆栈构建出口失败:cairo是否需要cairo?

时间:2018-11-26 07:42:50

标签: cairo haskell-stack

在尝试使用Haskell使用堆栈工具通过增强Main.hs中的new-template代码来构建gtk + gui时,如下所示:

module Lib
    ( someFunc
    ) where

import Control.Monad
import Control.Monad.IO.Class
import Data.IORef
import Graphics.UI.Gtk hiding (Action, backspace)

someFunc :: IO ()
someFunc = do
    void initGUI
    window <- windowNew

    widgetShowAll window
    mainGUI

我遇到以下奇怪的错误,目标似乎正在搜索自身的更高版本:

>stack build

glib-0.13.6.0: configure
cairo-0.13.5.0: configure
Progress 2/6

--  While building package cairo-0.13.5.0 using:
      /tmp/stack3691/cairo-0.13.5.0/.stack-work/dist/x86_64-linux/Cabal-2.2.0.1/setup/setup --builddir=.stack-work/dist/x86_64-linux/Cabal-2.2.0.1 configure --with-ghc=/home/gd/.stack/programs/x86_64-linux/ghc-8.4.4/bin/ghc --with-ghc-pkg=/home/gd/.stack/programs/x86_64-linux/ghc-8.4.4/bin/ghc-pkg --user --package-db=clear --package-db=global --package-db=/home/gd/.stack/snapshots/x86_64-linux/lts-12.19/8.4.4/pkgdb --libdir=/home/gd/.stack/snapshots/x86_64-linux/lts-12.19/8.4.4/lib --bindir=/home/gd/.stack/snapshots/x86_64-linux/lts-12.19/8.4.4/bin --datadir=/home/gd/.stack/snapshots/x86_64-linux/lts-12.19/8.4.4/share --libexecdir=/home/gd/.stack/snapshots/x86_64-linux/lts-12.19/8.4.4/libexec --sysconfdir=/home/gd/.stack/snapshots/x86_64-linux/lts-12.19/8.4.4/etc --docdir=/home/gd/.stack/snapshots/x86_64-linux/lts-12.19/8.4.4/doc/cairo-0.13.5.0 --htmldir=/home/gd/.stack/snapshots/x86_64-linux/lts-12.19/8.4.4/doc/cairo-0.13.5.0 --haddockdir=/home/gd/.stack/snapshots/x86_64-linux/lts-12.19/8.4.4/doc/cairo-0.13.5.0 --dependency=Cabal=Cabal-2.2.0.1 --dependency=array=array-0.5.2.0 --dependency=base=base-4.11.1.0 --dependency=bytestring=bytestring-0.10.8.2 --dependency=gtk2hs-buildtools=gtk2hs-buildtools-0.13.4.0-DsVNfQpDbxJKtQSA2HZlGY --dependency=mtl=mtl-2.2.2 --dependency=text=text-1.2.3.1 --dependency=utf8-string=utf8-string-1.0.1.1-LRSjvSC6FZkKPp48Qszoj8
    Process exited with code: ExitFailure 1
    Logs have been written to: /home/gd/Projects/hgtk/.stack-work/logs/cairo-0.13.5.0.log

    [1 of 2] Compiling Main             ( /tmp/stack3691/cairo-0.13.5.0/Setup.hs, /tmp/stack3691/cairo-0.13.5.0/.stack-work/dist/x86_64-linux/Cabal-2.2.0.1/setup/Main.o )
    [2 of 2] Compiling StackSetupShim   ( /home/gd/.stack/setup-exe-src/setup-shim-mPHDZzAJ.hs, /tmp/stack3691/cairo-0.13.5.0/.stack-work/dist/x86_64-linux/Cabal-2.2.0.1/setup/StackSetupShim.o )
    Linking /tmp/stack3691/cairo-0.13.5.0/.stack-work/dist/x86_64-linux/Cabal-2.2.0.1/setup/setup ...
    Configuring cairo-0.13.5.0...
    setup: The pkg-config package 'cairo' version >=1.2.0 is required but it could
    not be found.

在此先感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

cairo-0.13.5.0似乎是对cairo C库的haskell绑定(只是一个猜测)。 cairo C库的当前版本为1.16,并且多年来“超过1.0”。所以是的,确实,开罗需要开罗。但这是“ haskell cairo绑定需要cairo C库”。