Я пытаюсь установить Threadscope в Windows 8, чтобы следовать книге «Параллельное и параллельное программирование в Haskell».
Я успешно установил пакет GTK+, а затем попытался установить threadscope через Cabal. Установка завершилась со следующей информацией:
cabal: Error: some packages failed to install:
gio-0.12.5.0 failed during the building phase. The exception was:
ExitFailure 1
gtk-0.12.5.0 depends on pango-0.12.5.0 which failed to install.
pango-0.12.5.0 failed during the building phase. The exception was:
ExitFailure 1
threadscope-0.2.2 depends on pango-0.12.5.0 which failed to install.
Значит, что-то случилось с GIO и pango.
Оглядываясь назад на то, что произошло, консоль была заполнена такими сообщениями:
Not in scope: type constructor or class `CULLong'
Эти сообщения следовали, когда компилировались и GIO, и pango, например:
Linking dist/setup-wrapper\setup.exe ...
Configuring gio-0.12.5.0...
Building gio-0.12.5.0...
Preprocessing library gio-0.12.5.0...
[ 1 of 24] Compiling System.GIO.Signals ( dist\build\System\GIO\Signals.hs, dist\build\System\GIO\Signals.o )
[ 2 of 24] Compiling System.GIO.Types ( dist\build\System\GIO\Types.hs, dist\build\System\GIO\Types.o )
System\GIO\Types.chs:1027:31:
Not in scope: type constructor or class `CULLong'
Perhaps you meant `CULong' (imported from Foreign.C.Types)
...
и,
Linking dist/setup-wrapper\setup.exe ...
Configuring pango-0.12.5.0...
Building pango-0.12.5.0...
Preprocessing library pango-0.12.5.0...
[ 1 of 14] Compiling Graphics.Rendering.Pango.Types ( dist\build\Graphics\Rendering\Pango\Types.hs, dist\build\Graphics\Rendering\Pango\Types.o )
Graphics\Rendering\Pango\Types.chs:256:29:
Not in scope: type constructor or class `CULLong'
Perhaps you meant `CULong' (imported from Foreign.C.Types)
...
Я пытался искать, но я не могу найти ничего, связанного с этим. Помощь приветствуется!
CULLong' Perhaps you meant
CULong' (импортирован из Foreign.C.Types). Я проверил модульSystem.GIO.Types
и в нем есть строкаimport Foreign.C.Types (CULong(..), CUInt(..))
. Этот модуль генерируется автоматически, поэтому какой бы инструмент ни сгенерировал этот файл, он не ожидает, что вам понадобитсяunsigned long long
, но когда запускается c2hs, он решает, что ему нуженunsigned long long
. Это может быть много работы, но пробовали ли вы добавитьCULLong
в список импорта? - person user2407038   schedule 04.01.2014CULLong(..)
к импорту, затемcabal configure
иcabal install
в корневой каталог пакета (папка, содержащая файл .cabal) - person user2407038   schedule 04.01.2014CULLong(..)
в строкуForeign.C.Types
–import. Затем я запустилcabal configure
иcabal install
в каталоге с .cabal-файлом, как вы сказали. Но потом я столкнулся с теми же ошибками. Странно то, что сообщения об ошибках выводятся со строки начиная с 1027, как вSystem\GIO\Types.chs:1027:31: ...
, но файл Types.chs имеет длину 1025 строк — там нет вхождений CULLong. - person funky_vodka   schedule 04.01.2014long long
заменяется наlong
. - person user2407038   schedule 04.01.2014