Не удается установить «диаграммы ihaskell» с помощью Cabal

Когда я пытаюсь

cabal install ihaskell-diagrams

я получаю ошибку

Требуется пакет pkg-config 'glib-2.0', но его не удалось найти.

Что такое glib и как его установить, чтобы он был доступен для Cabal?


Resolving dependencies...
Configuring cairo-0.13.1.0...
Configuring glib-0.13.2.1...
Failed to install cairo-0.13.1.0
Build log ( /Users/Rax/.cabal/logs/cairo-0.13.1.0.log ):
[1 of 2] Compiling SetupWrapper     ( /var/folders/b6/3rk65h797p7407x7d36sqn9c0000gn/T/cabal-tmp-57646/cairo-0.13.1.0/SetupWrapper.hs, /var/folders/b6/3rk65h797p7407x7d36sqn9c0000gn/T/cabal-tmp-57646/cairo-0.13.1.0/dist/setup/SetupWrapper.o )
[2 of 2] Compiling Main             ( /var/folders/b6/3rk65h797p7407x7d36sqn9c0000gn/T/cabal-tmp-57646/cairo-0.13.1.0/dist/setup/setup.hs, /var/folders/b6/3rk65h797p7407x7d36sqn9c0000gn/T/cabal-tmp-57646/cairo-0.13.1.0/dist/setup/Main.o )
Linking /var/folders/b6/3rk65h797p7407x7d36sqn9c0000gn/T/cabal-tmp-57646/cairo-0.13.1.0/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.1.0...
setup: The pkg-config package 'cairo' version >=1.2.0 is required but it could
not be found.
Failed to install glib-0.13.2.1
Build log ( /Users/Rax/.cabal/logs/glib-0.13.2.1.log ):
[1 of 2] Compiling SetupWrapper     ( /var/folders/b6/3rk65h797p7407x7d36sqn9c0000gn/T/cabal-tmp-57647/glib-0.13.2.1/SetupWrapper.hs, /var/folders/b6/3rk65h797p7407x7d36sqn9c0000gn/T/cabal-tmp-57647/glib-0.13.2.1/dist/setup/SetupWrapper.o )
[2 of 2] Compiling Main             ( /var/folders/b6/3rk65h797p7407x7d36sqn9c0000gn/T/cabal-tmp-57647/glib-0.13.2.1/dist/setup/setup.hs, /var/folders/b6/3rk65h797p7407x7d36sqn9c0000gn/T/cabal-tmp-57647/glib-0.13.2.1/dist/setup/Main.o )

Linking /var/folders/b6/3rk65h797p7407x7d36sqn9c0000gn/T/cabal-tmp-57647/glib-0.13.2.1/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 glib-0.13.2.1...
setup: The pkg-config package 'glib-2.0' is required but it could not be
found.
cabal: Error: some packages failed to install:
cairo-0.13.1.0 failed during the configure step. The exception was:
ExitFailure 1
diagrams-cairo-1.3.0.5 depends on glib-0.13.2.1 which failed to install.
glib-0.13.2.1 failed during the configure step. The exception was:
ExitFailure 1
ihaskell-diagrams-0.3.1.0 depends on glib-0.13.2.1 which failed to install.
pango-0.13.1.0 depends on glib-0.13.2.1 which failed to install.

person orome    schedule 04.10.2015    source источник
comment
gilb и cairo являются частью набора инструментов GTK+; поскольку это не-зависимость от Haskell, вам нужно установить ее в вашей системе отдельно (я не знаю, как это сделать в OSX наиболее удобно).   -  person duplode    schedule 04.10.2015
comment
В OS X вы можете установить его с помощью доморощенного   -  person Abizern    schedule 05.10.2015
comment
Я не понимаю, почему за этот вопрос проголосовали.   -  person ErikR    schedule 05.10.2015
comment
Потому что автор явно даже не пытался проводить какие-либо исследования самостоятельно. Простой поиск glib в Google сказал бы им, что это такое, а glib osx рассказал бы им, как установить его на OS X (второй результат для меня — это пост SO, который предлагает brew install glib).   -  person nemequ    schedule 05.10.2015
comment
@nemequ: Плохо. Поиски, которые я проводил (очевидно, нет?) — haskell glib, cabal glib и т. д. — не дали полезных (а иногда и запутанных) результатов.   -  person orome    schedule 05.10.2015
comment
Существуют подробные инструкции по установке Gtk2Hs, включая страницу специально посвященный OSX.   -  person Daniel Wagner    schedule 06.10.2015
comment
@DanielWagner: Это был бы принятый ответ, если бы его немного проработать.   -  person orome    schedule 12.10.2015
comment
@raxacoricofallapatorius Я не буду этого делать, потому что у меня нет Mac, и я не могу проверить, что на самом деле сработало для меня. Но это совершенно хороший этикет — отвечать на свой вопрос, как только вы обнаружили что-то, что работает — поэтому я говорю, напишите ответ, который вы бы приняли, и примите его!   -  person Daniel Wagner    schedule 12.10.2015


Ответы (1)


Путаница здесь возникает из-за, возможно, неясного сообщения об ошибке: отсутствующие компоненты — это не пакеты Cabal, а библиотеки, которые необходимо устанавливать отдельно.

Некоторые из этих библиотек имеют свои собственные зависимости, или их установка может выявить дополнительные отсутствующие пакеты, так что конкретные требования к вашей системе могут отличаться; но в целом, когда вы получаете сообщение об отсутствии «пакета pig-config», вам нужно будет установить его с помощью вашего менеджера пакетов (не Cabal).

Например,

brew install glib
brew install cairo
brew install pango

работай на меня и позволь мне

cabal install ihaskell-diagrams

без дальнейших ошибок.

person orome    schedule 13.10.2015