Cabal: проблемы с установкой пакетов и обновлением - PullRequest
1 голос
/ 30 марта 2020

Я пытался установить пакет нитей, используя cabal, но получил ошибку об слишком устаревшем cabal:

cabal: Error: some packages failed to install:
cairo-0.13.8.0 failed during the configure step. The exception was:
user error (The package 'cairo' requires Cabal library version -any && >=1.24
but no suitable version is installed.)
gio-0.13.8.0 depends on glib-0.13.8.0 which failed to install.
glib-0.13.8.0 failed during the configure step. The exception was:
user error (The package 'glib' requires Cabal library version -any && >=1.24
but no suitable version is installed.)
gtk-0.14.7 depends on glib-0.13.8.0 which failed to install.
pango-0.13.8.0 depends on glib-0.13.8.0 which failed to install.
threadscope-0.2.11.1 depends on glib-0.13.8.0 which failed to install.

, но когда я пытаюсь установить cabal, cabal-install я получаю:

Resolving dependencies...
Configuring Cabal-3.0.0.0...
Failed to install Cabal-3.0.0.0
Build log ( /home/ignacio/.cabal/logs/Cabal-3.0.0.0.log ):
cabal: Error: some packages failed to install:
Cabal-3.0.0.0 failed during the configure step. The exception was:
user error ('/usr/bin/ghc' exited with an error:

/tmp/cabal-tmp-19678/Cabal-3.0.0.0/Distribution/Parsec.hs:134:0:
error: missing binary operator before token "("
#if !(MIN_VERSION_base(4,13,0))
^
)
cabal-install-3.0.0.0 depends on Cabal-3.0.0.0 which failed to install.
hackage-security-0.5.3.0 depends on Cabal-3.0.0.0 which failed to install.

Я нахожусь на Ubuntu 16.04

cabal-install версия 1.22.6.0 с использованием версии 1.22.5.0 библиотеки Cabal

Я был бы очень благодарен, если бы вы могли оказать любую помощь. (Извините, если я написал что-то странное, engli sh не является моим родным языком, и я немного новичок в Ubuntu)

Ответы [ 2 ]

0 голосов
/ 02 апреля 2020

Ошибка, которую вы видели ...

error: missing binary operator before token "("
#if !(MIN_VERSION_base(4,13,0))
^
)

... упоминается один из макросов MIN_VERSION_ CPP] (https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/phases.html#standard - cpp -macros ), которые доступны только для GH C 8 и выше. Предположительно у вас была более старая версия в вашей системе, поэтому обновление решило проблему. Для аналогичного отчета в другом месте, см. Cabal Issue # 4092 .

0 голосов
/ 01 апреля 2020

Проблема была в том, что я использовал устаревшую версию gh c, переустановил все, чтобы обновить его, и теперь он работает.

...