У меня такая же ошибка при попытке сегодня вечером установить phooey с ghc 7.4.1 на Debian. Причина в ошибке в пакете wxc-0.90.0.4, и она должна затрагивать все пакеты на основе wxHaskell. Вы можете исправить это, нет необходимости понижать версию пакета wxc...
Самый простой способ воспроизвести это сделать
cabal install wxc
or
cabal install glade
Прежде чем делать это, было бы неплохо убедиться, что все предварительные условия соблюдены. wxc зависит от ряда пакетов cabal и Linux, и все они должны быть установлены и скомпилированы... Я сделал это самым глупым способом, просто запустив
cabal install wxc
и чтение сообщений об ошибках, которые он выплескивает. Эта конфетка обычно говорит вам, чего она хочет... Например, если она жалуется на пакет cabal x
, просто выполните команду cabal install x
. Если он жалуется на пакет Linux y
, используйте менеджер пакетов Linux и установите разрабатываемую версию этого пакета, которая обычно называется lib<y>-dev
в Debian. Так, например, если
cabal install wxc
выдает ошибку о том, что пакет gtk+2.0 отсутствует, вы хотите сделать
apt-get install libgtk2.0-dev
Та же история с cairo,glade2 и другими библиотеками, относящимися к GTK.
Когда вы соберете все предварительные условия, вы захотите установить wxWidgets-2.9, который в настоящее время находится в стадии разработки... так что у него нет двоичных файлов для Linux, и вы должны собрать его самостоятельно. Загрузите исходный код с веб-сайта wxWidgets и соберите его. Это довольно легко сделать, просто:
- распакуйте/разархивируйте исходный код в ваш любимый каталог
- запустить ./config
- запустить ./сделать
Если вы находитесь на wxc-0.90.0.4, в этот момент вы должны столкнуться с нашей маленькой ошибкой... Короче говоря, она находится в файле eljpen.cpp, который вы можете найти в
~/.cabal/packages/hackage.haskell.org/wxc/0.90.0.4/wxc-0.90.0.4.tar.gz
Откройте архив, перейдите на строку 159 в файле и замените *_ref=NULL; с _ref = NULL или что-то еще, что имеет больше смысла. Затем пересоздайте архив на том же месте с исправленным в нем файлом eljpen.cpp.
Теперь это должно работать.
- запустите sudo make install (обычно у вас должны быть привилегии root для библиотеки insatll wxWidgets...).
после того, как это будет сделано, попробуйте сделать
cabal install wx
снова. Теперь он должен работать. Думаю, после этого вы сможете наслаждаться своими reactive-banana-wx, wxHaskell, phooey и т. д.
PS http://sourceforge.net/tracker/index.php?func=detail&aid=3576397&group_id=73133&atid=536845. Почему я не нашел его раньше? :/
person
svetlana
schedule
21.02.2013
ExitFailure 1
, часто раньше в выводе появляется какое-то другое сообщение об ошибке. Если есть, не могли бы вы выложить сюда? Вы также можете просто поместить все выходные данные в hpaste. - person Tikhon Jelvis   schedule 29.07.2012lhc
на данный момент, это еще один компилятор Haskell. Я подозреваю, что у вас не установлены библиотеки разработки для WxWindows, хотя вывод Cabal не говорит об этом. - person stephen tetley   schedule 29.07.2012*-dev
или*-devel
), убедитесь, что у вас также есть g++. У меня не было g++ при попытке собрать какой-нибудь wx, и я получил совершенно не связанное с этим сообщение об ошибке (но не то, которое вы получаете). - person Tikhon Jelvis   schedule 29.07.2012wxc
тоже не удалось взломать. Непонятно, о чем идет речь, наверное, лучше спросить в списке рассылки wx (haskell). - person Daniel Fischer   schedule 29.07.2012wxc
не может быть установлен. - person Heinrich Apfelmus   schedule 30.07.2012