Странный сбой при выходе из сборки стека haskell: Каир требует Каира? - PullRequest
0 голосов
/ 26 ноября 2018

При экспериментировании с Haskell с использованием Stack Tool для создания gtk + gui путем улучшения кода Main.hs из new-template следующим образом:

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 голосов
/ 30 ноября 2018

cairo-0.13.5.0, по-видимому, является привязками haskell к библиотеке cairo C (только предположение).Текущая версия библиотеки Cairo C - 1.16, и она уже "за 1.0" уже много лет.Так что да, действительно, Каир требует Каира.Но это «для привязок haskell cairo требуется библиотека cairo C».

...