Как использовать установку cabal для установки пакета регулярного выражения? - PullRequest
0 голосов
/ 27 января 2019

Я работаю через Real World Haskell и пытаюсь установить regex-posix-0.95.2 из пакета untar [ed], просто запустив

cabal install

Затем я вижу:

Text/Regex/Posix/Wrap.hsc:141:1: error:
    Could not find module ‘Text.Regex.Base.RegexLike’
    There are files missing in the ‘regex-base-0.93.2’ package,
    try running 'ghc-pkg check'.
    Use -v to see a list of the files searched for.
    |
141 | import Text.Regex.Base.RegexLike(RegexOptions(..),RegexMaker(..),RegexContext(..),MatchArray)                     

Несмотря на то, что я могу загрузить это в ghci с помощью

Prelude> :module Text.Regex.Base.RegexLike
Prelude Text.Regex.Base.RegexLike> 
Prelude> import Text.Regex.Base.RegexLike(RegexOptions(..),RegexMaker(..),RegexContext(..),MatchArray)
Prelude Text.Regex.Base.RegexLike> 

и увидеть его в модульной системе.

[warrick@warrick-pc regex-posix-0.95.2]$ ghc-pkg find-module Text.Regex.Base.RegexLike
/usr/lib/ghc-8.6.2/package.conf.d
    regex-base-0.93.2

Почему это не удается?

Какие более общие советы и хитрости при попытке отладки ошибок клики вы бы порекомендовали (поскольку это один из примеров многих проблем, которые у меня постоянно возникают с Cabal)?

1 Ответ

0 голосов
/ 28 января 2019

Это проблема с ссылками.Например, в некоторых дистрибутивах, таких как Arch, по умолчанию используется динамическое связывание, без статических библиотек, но без дополнительной настройки, cabal пытается связать статически, что приводит к виду сообщения, которое вы видите.Для получения дополнительной информации: https://wiki.archlinux.org/index.php/Haskell

...