Не могу перекомпилировать xmonad из-за более новой версии GHC

Я получаю это сообщение при запуске xmonad --recompile

xmonad.hs:10:8:
    Could not find module ‘XMonad’
    Perhaps you meant
      Monad (needs flag -package haskell98-2.0.0.3)
      DsMonad (needs flag -package ghc-7.8.4)
    Use -v to see a list of the files searched for.

xmonad.hs:14:18:
    Could not find module ‘XMonad.StackSet’
    Use -v to see a list of the files searched for.

Please check the file for errors.

Ну, действительно, когда я бегу ghc xmonad.hs в ~/.xmonad, но сообщения те же, за исключением того, что это не дает странного вывода для некоторых символов. Сейчас я подозреваю, что проблема связана с моей текущей версией GHC, которая, на мой взгляд, отличается от того, когда я последний раз запускал xmonad --recompile,

1 ответ

Решение

Я установил GHC 7.8.4 некоторое время назад, установив его из исходного кода - мне нужна была более свежая версия, чем та, которую я смог получить с помощью apt-get. У меня также была установлена ​​версия 7.4.3 GHC или что-то подобное, что, казалось, затмевало мой новый GHC. Поэтому я удалил эту версию, используя apt-get. Так что, возможно, проблема в том, что команда xmonad --recompile пытается использовать ghc Команда, которая теперь является более новым GHC? Я использовал GHC для перекомпиляции моего файла конфигурации раньше, и в то время я, вероятно, использовал apt-get Установлен GHC.

Давайте попробуем посмотреть, что произойдет, если я установлю xmonad.

my-machine:~$ sudo apt-get remove xmonad
[...]
0 upgraded, 0 newly installed, 1 to remove and 0 not upgraded.
After this operation, 2,654 kB disk space will be freed.
Do you want to continue [Y/n]? y

Только ~2,5 МБ для удаления.

Теперь давайте попробуем переустановить.

my-machine:~$ sudo apt-get install xmonad
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
ghc ghc-doc ghc-haddock libghc-mtl-dev libghc-mtl-doc libghc-random-dev libghc-syb-dev libghc-transformers-dev libghc-transformers-doc libghc-utf8-string-dev libghc-x11-dev
libghc-x11-doc libghc-x11-xft-dev libghc-x11-xft-doc libghc-xmonad-contrib-dev libghc-xmonad-contrib-doc libghc-xmonad-dev libghc-xmonad-doc
Suggested packages:
ghc-prof haskell-doc llvm-3.0 libghc-mtl-prof libghc-random-doc libghc-random-prof libghc-syb-doc libghc-syb-prof libghc-transformers-prof libghc-utf8-string-doc
libghc-utf8-string-prof libghc-x11-prof libghc-x11-xft-prof libghc-xmonad-contrib-prof libghc-xmonad-prof
The following NEW packages will be installed:
ghc ghc-doc ghc-haddock libghc-mtl-dev libghc-mtl-doc libghc-random-dev libghc-syb-dev libghc-transformers-dev libghc-transformers-doc libghc-utf8-string-dev libghc-x11-dev
libghc-x11-doc libghc-x11-xft-dev libghc-x11-xft-doc libghc-xmonad-contrib-dev libghc-xmonad-contrib-doc libghc-xmonad-dev libghc-xmonad-doc xmonad
0 upgraded, 19 newly installed, 0 to remove and 0 not upgraded.
Need to get 0 B/66.2 MB of archives.
After this operation, 428 MB of additional disk space will be used.
Do you want to continue [Y/n]? y

Много *ghc* зависимости и требование в 428 МБ по сравнению с освобождением всего ~2,5 МБ при удалении xmonad.

Сейчас ghc указывает на ghc, установленный apt-get, как указано runnnig ghc --version

The Glorious Glasgow Haskell Compilation System, version 7.4.1

И сейчас xmonad --recompile работает.

Другие вопросы по тегам