установка реактивного банана-wx или wx в Linux на основе RedHat с ghc 7.0.4

привет, я пытаюсь установить (без обновления или установки последней версии компилятора), reactive-banana-wx и одно из требований не выполняется

cabal install reactive-banana-wx

и вот ошибка

Configuring wxc-0.90.0.4...
setup: failed
cabal: Error: some packages failed to install:
reactive-banana-wx-0.6.0.1 depends on wxc-0.90.0.4 which failed to install.
wx-0.90.0.1 depends on wxc-0.90.0.4 which failed to install.
wxc-0.90.0.4 failed during the configure step. The exception was:
ExitFailure 1
wxcore-0.90.0.3 depends on wxc-0.90.0.4 which failed to install

когда я пытаюсь установить wxcore, wx или wxc, они все говорят, что не удалось, и указывают на то, что требуется wxc.

вот ошибка

cabal install wxc
Resolving dependencies...
[1 of 1] Compiling Main             ( /tmp/wxc-0.90.0.419410/wxc-0.90.0.4/Setup.hs, /tmp/wxc-0.90.0.419410/wxc-0.90.0.4/dist/setup/Main.o )
Linking /tmp/wxc-0.90.0.419410/wxc-0.90.0.4/dist/setup/setup ...
Configuring wxc-0.90.0.4...
setup: failed
cabal: Error: some packages failed to install:
wxc-0.90.0.4 failed during the configure step. The exception was:
ExitFailure 1

вот моя информация о компиляторе, если это будет полезно

ghc -v
Glasgow Haskell Compiler, Version 7.0.4, for Haskell 98, stage 2 booted by GHC version 7.0.4

person pyCthon    schedule 29.07.2012    source источник
comment
Когда вы получаете ExitFailure 1, часто раньше в выводе появляется какое-то другое сообщение об ошибке. Если есть, не могли бы вы выложить сюда? Вы также можете просто поместить все выходные данные в hpaste.   -  person Tikhon Jelvis    schedule 29.07.2012
comment
hpaste.org/72291, в общем, я попытался установить кабалу wxc -v, чтобы получить больше сообщений об ошибках. и он сказал, что не хватает многих пакетов, я попытался установить один с именем lhc, и он так же потерпел неудачу.   -  person pyCthon    schedule 29.07.2012
comment
Вам не нужен lhc на данный момент, это еще один компилятор Haskell. Я подозреваю, что у вас не установлены библиотеки разработки для WxWindows, хотя вывод Cabal не говорит об этом.   -  person stephen tetley    schedule 29.07.2012
comment
Вывод клики может быть... обманчивым. Помимо проверки наличия у вас библиотек разработки (пакетов *-dev или *-devel), убедитесь, что у вас также есть g++. У меня не было g++ при попытке собрать какой-нибудь wx, и я получил совершенно не связанное с этим сообщение об ошибке (но не то, которое вы получаете).   -  person Tikhon Jelvis    schedule 29.07.2012
comment
@TikhonJelvis g++ есть, я использую его все время, это версия 4.7.0   -  person pyCthon    schedule 29.07.2012
comment
Здание wxc тоже не удалось взломать. Непонятно, о чем идет речь, наверное, лучше спросить в списке рассылки wx (haskell).   -  person Daniel Fischer    schedule 29.07.2012
comment
@pyCthon: Похоже, у вас не установлены библиотеки разработки для wxWidgets 2.9.3. Без них пакет wxc не может быть установлен.   -  person Heinrich Apfelmus    schedule 30.07.2012
comment
нет, там установлено, и, как ни странно, я недавно купил ноутбук Mac Book Pro, и с ним возникает та же ошибка, wxWidgets устанавливаются как через репозиторий на Fedora, так и через порты Mac на Mac   -  person pyCthon    schedule 02.09.2012


Ответы (2)


У меня такая же ошибка при попытке сегодня вечером установить 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

Я решил эту проблему на Lubuntu 12.10, поэтому:

sudo cabal информация wx

Synopsis:      wxHaskell
Versions available: 0.11.1.2, 0.12.1.4, 0.12.1.5, 0.12.1.6, 0.13.2,
                    0.13.2.1, 0.13.2.3, 0.90, 0.90.0.1 (and 11 others)

Я выбирал разные версии wxHaskell, но подходящей оказалась только 0.13.2.3.

sudo cabal установить wx-0.13.2.3

... и все скомпилировано и установлено. Тогда я мог бы установить:

sudo cabal установить реактивный-банан-wx -fbuildExamples

Это не зависит от версии вашего компилятора Glasgow Haskell или типа вашего Linux.

person serg    schedule 09.01.2013