2015-06-07 1 views
4

Попытка пройти через всю адронную черту Cabal в 12.04 точную сборку Ubuntu, и я делаю медленный прогресс.Храбрый кабальный ад на Ubuntu 12.04

Моя первая команда Баш cabal install --allow-newer дает следующее сообщение в нижней части длинного списка новых пакетов:

cabal: The following packages are likely to be broken by the 
reinstalls: 
    regex-posix-0.95.1 
    regex-compat-0.95.1 
Use `--force-reinstalls` if you want to install anyway. 

(Примечание:. Сила Переустановка никогда не бежал)

Как я могу исправить эти пакеты и завершить процесс установки cabal? Я должен остаться в 12.04, а cabal обновлен.

cabal install ad --reorder-goals в конечном итоге его установить.

Однако я до сих пор не из Кабал ада, как я теперь приходится иметь дело с:

междусобойчик: По крайней мере, следующие зависимости отсутствуют: эсон -Все, JSON-схемы -любой, monad- logger -any, mtl -any, persistent -any, persistent-postgresql == 2.1.6, постоянный-шаблон -any, rest-core -any, rest-snap -any, snap-core -any, snap-server -any , текст -любой»

при попытке выполнить cabal build

UPDA TE: зависимости требуются список сократилось до: (. Файна имени для Cabal установщика) монады-регистратор, настойчивого, настойчивого-PostGreSQL == 2.1.6 «настойчивого-шаблон покоя стопорного оснастки сердечник оснастки -сервер

Так что в стороне от persistant-postgresql любая версия будет работать.

Обновление 2: Хорошая новость, но sudo apt-get install libghc-zlib-dev Открывает интересный блокпост.

Стараясь как предложено в одном из ответов на этот вопрос: Question

установить libghc-ZLIB-привязок-DEV, который установлен штраф и libghc-ZLIB-DEV.

Злиб - это зависимость, которая сейчас находится на пути. Как только это будет установлено, прогресс будет продолжен.

Текущее предупреждение на libghc-zlib-dev установить попытку:

предупреждение: Пожалуйста, убедитесь, что ваши настройки локали: LANGUAGE = (отключенное), LC_ALL = (отключенное), LANG = «en_US.UTF-8 поддерживаются и установлены на вашей системе.

также

perl: warning: Возврат к стандартному языку («C»).

отображается.

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

Trudge из адского адского черта мы должны.

Довольно уверен, что это место, чтобы посадить красный флаг:

#include "zlib.h"

^

сборник прекращается. setup-Simple-Cabal-1.22.2.0-x86_64-linux-ghc-7.10.1: Отсутствует зависимость от> a зарубежная библиотека: * Отсутствует (или плохо) заголовочный файл: zlib.h * Отсутствует библиотека C: z

Человек Желаю, чтобы у этого сайта было бы автоматически Ctrl-C Ctrl -V, насколько это было бы здорово?

+5

Удалите все ваши пакеты с помощью 'rm -rf ~/.ghc ~/.cabal'. Не устанавливайте глобально пакеты, которые не имеют никаких оснований для установки в глобальном масштабе. Используйте [песочницы] (http://coldwa.st/e/blog/2013-08-20-Cabal-sandbox.html). Используйте ['cabal exec' или' cabal repl'] (https://www.reddit.com/r/haskell/comments/2ywbwy/how_do_i_tell_ghc_that_i_have_a_cabal_sandbox/), чтобы интерактивно запускать ваши программы внутри изолированной среды. И последнее, но не менее важное: использовать [Stackage] (http://www.stackage.org/). –

+0

Или просто отмените регистрацию 'regex-posix-0.95.1' и' regex-compat-0.95.1' и все, что от них зависит, и если вы хотите их сохранить, попробуйте переустановить их одновременно с любым другим пакетом, пытаясь установить. –

+1

Я бы порекомендовал использовать изолированную песочницу, по одному на проект, если у вас случилась недавняя кабала. – 9000

ответ

1

Похоже, вы пытаетесь создать только один пакет, и проблема в том, что он имеет множество зависимостей.

Лучший способ установить все зависимости (поскольку «сборка», в отличие от «установки», не найдет решения для их установки для всех), просто выполните (желательно в песочнице) прогон cabal install --dependencies-only. Это также решит их все одновременно, а не один за другим, где могут быть сделаны несовместимые местные выборы ...

+0

К счастью, теперь у машины 14.04 – hellyale