Отсутствующие зависимости для диаграммы-каира в Linux Mint 17

Я изо всех сил пытаюсь установить привязку GTK/gtk2hs к Linux Mint 17.

Впервые я столкнулся с этой проблемой, когда пытался получить поддержку Glade в Haskell.

Были те же проблемы, но это было чисто для развлечения, поэтому я оставил это как есть.

На этот раз я пытался визуализировать график с помощью Haskell Chart.

Проблема возникла на четвертом шаге cabal install chart-cairo

Я использую GHC версии 7.6.3, cabal версии 1.16.0.2, gtk2hs-buildtools версии 0.12.4-2ubuntu1 (из менеджера пакетов), gtk2hsC2hs версии 0.13.6 (здесь необходимо, чтобы у поляны было >=0.13.8 , но я не могу найти более новую версию)

Вещи, которые я пробовал до сих пор:

  1. После загрузки gtk2hs-buildtools из диспетчера пакетов я обновил кабалу и установил инструменты из командной строки.

  2. Добавлен «$HOME/.cabal/bin» перед $PATH (после того, как gtk установился правильно)

  3. cabal install chart-cairo выдает мне это сообщение об ошибке

    Resolving dependencies...    
    [1 of 2] Compiling SetupWrapper     ( /tmp/cairo-0.13.0.2-19862/cairo-0.13.0.2/SetupWrapper.hs, /tmp/cairo-0.13.0.2-19862/cairo-0.13.0.2/dist/setup/SetupWrapper.o )    
    [2 of 2] Compiling Main             ( /tmp/cairo-0.13.0.2-19862/cairo-0.13.0.2/dist/setup/setup.hs, /tmp/cairo-0.13.0.2-19862/cairo-0.13.0.2/dist/setup/Main.o )    
    Linking /tmp/cairo-0.13.0.2-19862/cairo-0.13.0.2/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.0.2...    
    Building cairo-0.13.0.2...    
    Preprocessing library cairo-0.13.0.2...    
    [ 1 of 18] Compiling Graphics.Rendering.Cairo.Matrix ( dist/build/Graphics/Rendering/Cairo/Matrix.hs, dist/build/Graphics/Rendering/Cairo/Matrix.o )    
    [ 2 of 18] Compiling Graphics.Rendering.Cairo.Types ( dist/build/Graphics/Rendering/Cairo/Types.hs, dist/build/Graphics/Rendering/Cairo/Types.o )    
    [ 3 of 18] Compiling Graphics.Rendering.Cairo.Internal.Utilities ( dist/build/Graphics/Rendering/Cairo/Internal/Utilities.hs, dist/build/Graphics/Rendering/Cairo/Internal/Utilities.o )    
    
    Graphics/Rendering/Cairo/Internal/Utilities.chs:24:42:    
        Module `Data.Text.Foreign' does not export `withCStringLen'    
    Failed to install cairo-0.13.0.2    
    cabal: Error: some packages failed to install:    
        Chart-cairo-1.3.2 depends on cairo-0.13.0.2 which failed to install.    
        cairo-0.13.0.2 failed during the building phase. The exception was:    
        ExitFailure 1    
    
  4. pkg-config cairo --modversion говорит мне, что у меня версия 1.13.1 (которая новее 0.13.0.2?)


person Cirquit    schedule 02.12.2014    source источник


Ответы (3)


Я только что попробовал это сам и столкнулся с некоторыми проблемами, которые мне удалось преодолеть .... Возможно, у вас такая же проблема.

По какой-то причине некоторые зависимости не устанавливались автоматически. Однако установить их вручную несложно. Попробуй это:

cabal install alex
cabal install gtk2hs-buildtools
cabal install cairo
cabal install chart-cairo

В общем, если вы видите сообщение об ошибке в своем выводе клики, подобное следующей строке в вашем посте

Failed to install cairo-0.13.0.2   

рекомендуется попробовать установить вручную. Хотя предполагается, что зависимости должны быть проработаны, я сталкивался со многими случаями, когда это не так (я думаю, что это может быть связано с установкой инструментов командной строки кликой, но я никогда не изучал это полностью). В данном конкретном случае я так и сделал, но мне пришлось подняться по цепочке 4 раза....

person jamshidh    schedule 02.12.2014
comment
Я пытался установить все с нуля, но, к сожалению, это не помогло. Подскажите, пожалуйста, как установить недостающие пакеты вручную? Мой гугл-фу мне вообще не помог. Кстати, проблема со старой версией gtk2hsC2hs была исправлена ​​путем установки gtk2hs-buildtools с правами root, и теперь появилось новое сообщение об ошибке Module Data.Text.Foreign' does not export 'withCStringLen' Failed to install cairo-0.13.0.2. - person Cirquit; 03.12.2014
comment
В этом случае я сделал строки выше... Что произошло, когда вы попробовали это? - person jamshidh; 03.12.2014
comment
Я сделал строки в вашем заказе, и там была указанная ошибка с Module Data.Test.Foreign...Failed to install cairo-0.13.0.2. После установки Glade (следовательно, gtk2hs-buildtools работает) каким-то образом успешно установился chart-cairo. Установка Glade заняла довольно много времени, и я думаю, что видел, как он загружал что-то в стиле gtk. Но я до сих пор не могу понять, почему и как все это должно делать что-то такое простое, как запуск клики от имени пользователя root. - person Cirquit; 03.12.2014
comment
Ну, я попробовал те же самые шаги на своем ноутбуке, и он больше не устанавливается. В нем те же настройки, что и в первом посте, кроме более новой версии кабалы 1.20.0.3. sudo cabal install alex и sudo cabal install gtk2hs-buildtools установились без проблем. И sudo cabal install cairo, и sudo cabal install chart-cairo получили сообщение об ошибке The pkg-config package 'cairo' version >=1.2.0 is required but it could not be found. Failed to install cairo-0.13.0.5. Если я попытаюсь установить gtk илиglade, они оба не смогут найти пакеты gio/glib/cairo. - person Cirquit; 03.12.2014
comment
Я знаю, что это довольно общая информация, но пробовали ли вы cabal update. Кроме того, cabal unpack cairo, затем cd'ing в директорию, затем cabal configure, cabal build иногда помогает понять проблему. - person jamshidh; 03.12.2014
comment
Большое спасибо за ваше время, которое вы потратили, чтобы помочь мне! Опубликованные вами команды, безусловно, помогли лучше понять проблему. К сожалению, единственное, что сработало, — это найти пакет libghc-cairodev через диспетчер программного обеспечения. Итак, диаграммы работают прямо сейчас, но gtk по-прежнему пропускает другие пакеты (я не смог найти pango в списке), и мне нужно найти другой способ. - person Cirquit; 03.12.2014

  1. Используется старая версия text (что также приводит к тому, что клика выбирает старую версию cairo с плохим build-deps). Попробуйте добавить --constraint='cairo>=0.13.0.5' в установку клики. Это также должно заставить клику выбрать более новую версию text.

  2. pkg-config cairo --modversion дает версию фактической библиотеки cairo. 0.13.0.2 — это версия пакета Gtk2Hs haskell, который является оберткой для cairo (фактическая версия cairo зависит от того, что установлено)

person Hamish Mackenzie    schedule 03.12.2014

Я столкнулся с той же проблемой. Это поздний ответ, но хороший ресурс по этой проблеме можно найти здесь. В моей системе Debian (Linux Mint) я обнаружил, что делаю:

sudo apt-get install libghc-gtk-dev

решил проблему. Но ссылка содержит рекомендации по установке для нескольких систем на базе Linux, а также для Windows, BSD и Mac.

person AsymLabs    schedule 23.11.2015