Я начал устанавливать потолочный ящик через стек (а не каббал, это нормально? https://wiki.haskell.org/ThreadScope). threadscope требует cairo.Стек установки cairo для точечного
$ stack install cairo
cairo-0.13.3.1: configure
-- While building package cairo-0.13.3.1 using:
/home/username/.stack/programs/x86_64-linux/ghc-8.0.1/bin/ghc --make -odir /tmp/stack13291/cairo-0.13.3.1/.stack-work/dist/x86_64-linux/Cabal-1.24.2.0/setup -hidir /tmp/stack13291/cairo-0.13.3.1/.stack-work/dist/x86_64-linux/Cabal-1.24.2.0/setup -i -i. -package=Cabal-1.24.2.0 -clear-package-db -global-package-db -package-db=/home/username/.stack/snapshots/x86_64-linux/lts-7.10/8.0.1/pkgdb /tmp/stack13291/cairo-0.13.3.1/Setup.hs /home/username/.stack/setup-exe-src/setup-shim-mPHDZzAJ.hs -main-is StackSetupShim.mainOverride -o /tmp/stack13291/cairo-0.13.3.1/.stack-work/dist/x86_64-linux/Cabal-1.24.2.0/setup/setup -threaded
Process exited with code: ExitFailure 1
Logs have been written to: /home/username/.stack/global-project/.stack-work/logs/cairo-0.13.3.1.log
[1 of 2] Compiling Main (/tmp/stack13291/cairo-0.13.3.1/Setup.hs, /tmp/stack13291/cairo-0.13.3.1/.stack-work/dist/x86_64-linux/Cabal-1.24.2.0/setup/Main.o)
/tmp/stack13291/cairo-0.13.3.1/Setup.hs:8:29: error:
• Couldn't match expected type ‘Distribution.Simple.UserHooks.UserHooks’
with actual type ‘Cabal-1.24.1.0:Distribution.Simple.UserHooks.UserHooks’
NB: ‘Cabal-1.24.1.0:Distribution.Simple.UserHooks.UserHooks’
is defined in ‘Distribution.Simple.UserHooks’
in package ‘Cabal-1.24.1.0’
‘Distribution.Simple.UserHooks.UserHooks’
is defined in ‘Distribution.Simple.UserHooks’
in package ‘Cabal-1.24.2.0’
• In the first argument of ‘defaultMainWithHooks’, namely
‘gtk2hsUserHooks’
In the expression: defaultMainWithHooks gtk2hsUserHooks
In an equation for ‘main’:
main = defaultMainWithHooks gtk2hsUserHooks
И чеканка дальше, я попытался установить GTK сборку инструменты:
$ stack install gtk2hs-buildtools
Copying from /home/username/.stack/snapshots/x86_64-linux/lts-7.10/8.0.1/bin/gtk2hsC2hs to /home/username/.local/bin/gtk2hsC2hs
Copying from /home/username/.stack/snapshots/x86_64-linux/lts-7.10/8.0.1/bin/gtk2hsHookGenerator to /home/username/.local/bin/gtk2hsHookGenerator
Copying from /home/username/.stack/snapshots/x86_64-linux/lts-7.10/8.0.1/bin/gtk2hsTypeGen to /home/username/.local/bin/gtk2hsTypeGen
Copied executables to /home/username/.local/bin:
- gtk2hsC2hs
- gtk2hsHookGenerator
- gtk2hsTypeGen
я продолжал получать ту же ошибку для установки каира. Я бегу Ubuntu 14.04 и не имеют libcairo2-dev
установлены: версия
$ stack install threadscope
glib-0.13.4.1: configure
cairo-0.13.3.1: configure
Progress: 2/6
-- While building package cairo-0.13.3.1 using:
/home/username/.stack/programs/x86_64-linux/ghc-8.0.1/bin/ghc --make -odir /tmp/stack20456/cairo-0.13.3.1/.stack-work/dist/x86_64-linux/Cabal-1.24.2.0/setup -hidir /tmp/stack20456/cairo-0.13.3.1/.stack-work/dist/x86_64-linux/Cabal-1.24.2.0/setup -i -i. -package=Cabal-1.24.2.0 -clear-package-db -global-package-db -package-db=/home/username/.stack/snapshots/x86_64-linux/lts-7.10/8.0.1/pkgdb /tmp/stack20456/cairo-0.13.3.1/Setup.hs /home/username/.stack/setup-exe-src/setup-shim-mPHDZzAJ.hs -main-is StackSetupShim.mainOverride -o /tmp/stack20456/cairo-0.13.3.1/.stack-work/dist/x86_64-linux/Cabal-1.24.2.0/setup/setup -threaded
Process exited with code: ExitFailure 1
Stack:
$ stack --version
Version 1.3.2, Git revision 3f675146590da4f3edf768b89355f798229da2a5 (4395 commits) x86_64 hpack-0.15.0
Cabal версия:
$ stack exec cabal -- --version
cabal-install version 1.24.0.1
compiled using version 1.24.1.0 of the Cabal library
Другие версии:
$ sudo apt-get install libgtk2.0-dev libpango1.0-dev libglib2.0-dev libcairo2-dev libghc-gtk-dev
Reading package lists... Done
Building dependency tree
Reading state information... Done
libcairo2-dev is already the newest version.
libglib2.0-dev is already the newest version.
libglib2.0-dev set to manually installed.
libgtk2.0-dev is already the newest version.
libgtk2.0-dev set to manually installed.
libpango1.0-dev is already the newest version.
libpango1.0-dev set to manually installed.
libghc-gtk-dev is already the newest version.
0 upgraded, 0 newly installed, 0 to remove
причина, по которой я се это здесь, а не суперпользователем или убунту является то, что эта ошибка:
• Couldn't match expected type ‘Distribution.Simple.UserHooks.UserHooks’
with actual type ‘Cabal-1.24.1.0:Distribution.Simple.UserHooks.UserHooks’
ли, кажется, предполагают, что есть что-то в стиле фанк с кодом пакета Haskell сам ожидал, что это будет в пределах модуля, который как-то один уровень глубже, внутри междусобойчик -*:, правильно?
Другие ссылки, которые не очистили его:
- Building project dependent on gtk2hs fails on lts-7.8 and later
- https://github.com/commercialhaskell/stack/issues/2924
- https://github.com/commercialhaskell/stack/issues/2230
- https://github.com/commercialhaskell/stack/issues/2795
- Missing dependencies for chart-cairo on linux mint 17
Можете ли вы попробовать установить версию разработки Stack (через «обновление стека --git - только для источников»)? В новейшей версии есть поддержка нового материала для настройки в Cabal. Кроме того, 'stack setup --upgrade-cabal' может помочь, предоставив последнюю библиотеку Cabal, но, вероятно, не требуется. –
Спасибо, @MichaelSnoyman. Есть ли документация для нового материала для настройки? Googling только дал мне сообщения об ошибках github. Кроме того, первая ошибка, которую я получил после выполнения обновления стека --git --source-only, была 'Предупреждение файла Cabal в /tmp/stack-upgrade25291/stack/stack.cabal: Игнорирование типа неизвестного раздела: custom-setup', который не сулит ничего хорошего. – Mittenchops
@MichaelSnoyman, я установил «обновление стека» - только «источник» и все еще получаю те же ошибки при установке cairo, threadscope и gtk2hs-buildtools. – Mittenchops