Ошибка сборки GHC при попытке собрать библиотеку Cabal

StackOverflow https://stackoverflow.com/questions/4413193

  •  08-10-2019
  •  | 
  •  

Вопрос

Я пытаюсь собрать/установить Cabal в своей системе и сталкиваюсь со следующей ошибкой зависимости:

SDGL0990Z464C:Cabal-1.8.0.4 cflynn$ ghc --make Setup
SDGL0990Z464C:Cabal-1.8.0.4 cflynn$ ./Setup configure
Configuring Cabal-1.8.0.4...
Setup: At least the following dependencies are missing:
base >=4 && <3 && >=1 && <5, filepath >=1 && <1.2

У меня установлен GHC 7.0.1, насколько я знаю, GHC 6.6.1 и более поздние версии поставляются с пакетом filepath?И мне неясно, о какой именно «базе» идет речь?

Это было полезно?

Решение

GHC поставляется с определенным набором уже установленных библиотек.Когда вы запускаете приведенную выше команду сборки, Cabal хочет «переустановить» некоторые старые версии библиотек, поставляемых с GHC.Это плохо по понятным причинам.

Если вам действительно нужно это сделать, возможно, стоит использовать cabal-dev вместо Cabal.Кстати, используя Setup.hs вызывает версию Cabal библиотека, поставляемая с вашим компилятором, где при запуске cabal команда вызывает cabal-install программа.

cabal-dev является оберткой вокруг cabal-install (и поэтому Cabal библиотека), которая предоставляет изолированные сборки.Обеспечение безопасности установки программ, которым требуются разные версии библиотек, поставляемых с GHC.Остается вопрос, будут ли эти старые библиотеки построены на базе более новой GHC.Во многих случаях сборка завершится неудачно.

Я настоятельно рекомендую вам использовать cabal-dev для ежедневного создания пакетов вместо cabal-install.Преимущества песочницы многочисленны, и они значительно перевешивают риск cabal-install повреждение базы данных пакетов путем обновления пакета где-то в середине цепочки зависимостей для того, что вы уже установили.

Для получения дополнительной информации об использовании cabal-dev, я рекомендую это пост на реддите.

base представляет собой набор модулей Haskell, которые предоставляют большую часть функциональности, поставляемой с каждой установкой GHC.Это коллекция полезных библиотек, которые понадобятся большинству пользователей Haskell.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top