haskell - 无法编译 xmonad.hs 文件
问题描述
我在基于拱的系统之上使用 xmonad。但是升级后我无法通过编译我的 xmonad.hs 文件
$ xmonad --recompile
我似乎在 xmonad 的每个模块上都遇到了错误,即使 import XMonad 似乎也不起作用。如果有人以某种方式解决了这个问题,请告诉我。
错误信息:
Error detected while loading xmonad configuration file:
/home/arya/.xmonad/xmonad.hs
xmonad.hs:2:1: error:
Could not find module ‘XMonad’
Use -v to see a list of the files searched for.
|
2 | import XMonad
| ^^^^^^^^^^^^^
xmonad.hs:3:1: error:
Could not find module ‘XMonad.Config.Mate’
Use -v to see a list of the files searched for.
|
3 | import XMonad.Config.Mate
| ^^^^^^^^^^^^^^^^^^^^^^^^^
xmonad.hs:5:1: error:
Could not find module ‘XMonad.StackSet’
Use -v to see a list of the files searched for.
|
5 | import qualified XMonad.StackSet as W
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
xmonad.hs:8:1: error:
Could not find module ‘XMonad.Hooks.ManageDocks’
Use -v to see a list of the files searched for.
|
8 | import XMonad.Hooks.ManageDocks
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
xmonad.hs:9:1: error:
Could not find module ‘XMonad.Hooks.EwmhDesktops’
Use -v to see a list of the files searched for.
|
9 | import XMonad.Hooks.EwmhDesktops
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
xmonad.hs:10:1: error:
Could not find module ‘XMonad.Layout.Minimize’
Use -v to see a list of the files searched for.
|
10 | import XMonad.Layout.Minimize
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Please check the file for errors.
[arya@localhost ~]$ Warning: Missing charsets in String to FontSet
conversion
[arya@localhost ~]$
monad.hs:9:1: error:
Could not find module ‘XMonad.Hooks.EwmhDesktops’
Use -v to see a list of the files searched for.
|
9 | import XMonad.Hooks.EwmhDesktops
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
xmonad.hs:10:1: error:
Could not find module ‘XMonad.Layout.Minimize’
Use -v to see a list of the files searched for.
|
10 | import XMonad.Layout.Minimize
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
输出:
$ type -a ghc
ghc is /usr/local/bin/ghc
ghc is /usr/bin/ghc
输出
$ ghc-pkg list
:
/usr/local/haskell/ghc-8.2.2-x86_64/lib/ghc-8.2.2/package.conf.d
Cabal-2.0.1.0
array-0.5.2.0
base-4.10.1.0
binary-0.8.5.1
bytestring-0.10.8.2
containers-0.5.10.2
deepseq-1.4.3.0
directory-1.3.0.2
filepath-1.4.1.2
(ghc-8.2.2)
ghc-boot-8.2.2
ghc-boot-th-8.2.2
ghc-compact-0.1.0.0
ghc-prim-0.5.1.1
ghci-8.2.2
haskeline-0.7.4.0
hoopl-3.10.2.2
hpc-0.6.0.3
integer-gmp-1.0.1.0
pretty-1.1.3.3
process-1.6.1.0
rts-1.0
template-haskell-2.12.0.0
terminfo-0.4.1.0
time-1.8.0.2
transformers-0.5.2.0
unix-2.7.2.2
xhtml-3000.2.2
pacman -Ql xmonad 的输出:
xmonad /usr/
xmonad /usr/bin/
xmonad /usr/bin/xmonad
xmonad /usr/lib/
xmonad /usr/lib/ghc-8.2.2/
xmonad /usr/lib/ghc-8.2.2/site-local/
xmonad /usr/lib/ghc-8.2.2/site-local/xmonad-0.13/
xmonad /usr/lib/ghc-8.2.2/site-local/xmonad-0.13/Paths_xmonad.dyn_hi
xmonad /usr/lib/ghc-8.2.2/site-local/xmonad-0.13/XMonad.dyn_hi
xmonad /usr/lib/ghc-8.2.2/site-local/xmonad-0.13/XMonad/
xmonad /usr/lib/ghc-8.2.2/site-local/xmonad-0.13/XMonad/Config.dyn_hi
xmonad /usr/lib/ghc-8.2.2/site-local/xmonad-0.13/XMonad/Core.dyn_hi
xmonad /usr/lib/ghc-8.2.2/site-local/xmonad-0.13/XMonad/Layout.dyn_hi
xmonad /usr/lib/ghc-8.2.2/site-local/xmonad-0.13/XMonad/Main.dyn_hi
xmonad /usr/lib/ghc-8.2.2/site-local/xmonad-0.13/XMonad/ManageHook.dyn_hi
xmonad /usr/lib/ghc-8.2.2/site-local/xmonad-0.13/XMonad/Operations.dyn_hi
xmonad /usr/lib/ghc-8.2.2/site-local/xmonad-0.13/XMonad/StackSet.dyn_hi
xmonad /usr/lib/libHSxmonad-0.13-K842KXy8eLK2djQHd55ZyZ-ghc8.2.2.so
xmonad /usr/share/
xmonad /usr/share/doc/
xmonad /usr/share/doc/xmonad/
xmonad /usr/share/doc/xmonad/LICENSE
xmonad /usr/share/haskell/
xmonad /usr/share/haskell/register/
xmonad /usr/share/haskell/register/xmonad.sh
xmonad /usr/share/haskell/unregister/
xmonad /usr/share/haskell/unregister/xmonad.sh
xmonad /usr/share/licenses/
xmonad /usr/share/licenses/xmonad/
xmonad /usr/share/licenses/xmonad/LICENSE
xmonad /usr/share/man/
xmonad /usr/share/man/man1/
xmonad /usr/share/man/man1/xmonad.1.gz
xmonad /usr/share/pixmaps/
xmonad /usr/share/pixmaps/xmonad.svg
xmonad /usr/share/xmonad/
xmonad /usr/share/xmonad/man/
xmonad /usr/share/xmonad/man/xmonad.1
xmonad /usr/share/xmonad/man/xmonad.1.html
xmonad /usr/share/xmonad/man/xmonad.hs
xmonad /usr/share/xsessions/
xmonad /usr/share/xsessions/xmonad.desktop
解决方案
稍微相关,
在全新安装的UBUNTU 20.10中,当我通过 apt 安装 xmonad 时遇到了这个问题sudo apt install xmonad
。我认为这也安装了位于此处的 xmonad-contrib,libghc-xmonad-contrib-dev
因为当我尝试安装它以查看它是否已修复时,我已经有了它。最终修复它的是 cabal 使用cabal install xmonad
then安装 xmonad 和 xmonad-contrib cabal install --lib xmonad-contrib
,以及在~/.xmonad/build
.
内容~/.xmonad/build
:
ghc -package xmonad -package xmonad-contrib --make xmonad.hs -i -ilib -main-is main -fforce-recomp -o xmonad
如果有任何帮助,这是我的命令历史记录:
1912 ghc-pkg list # to check the output, just as in the question
1913 cabal install xmonad
1914 xmonad --recompile
1915 cabal install xmonad-contrib
1916 cabal install --lib xmonad-contrib # the previous line gave a warning, so I issued a corrected command.
1917 xmonad --recompile
1918 ghc -package xmonad ~/.xmonad/monad.hs
1919 ghc -package xmonad ~/.xmonad/xmonad.hs # the previous line had a typo, so I had to issue the command again.
1920 xmonad --recompile
1921 nano .xmonad/build # when I tried the previous command, it said something about creating the following file, so I created it.
1922 xmonad --recompile
1923 chmod u+x .xmonad/build # when I tried the previous command, it complained about the file not being executable and recommended those permissions.
1924 xmonad --recompile # worked!!!
推荐阅读
- sql - 从最大值为 Amount 的表中选择日期和 ID
- java - 如何使用方法引用作为未来的回调?
- mysql - MariaDB 10.1.31 上 TIMESTAMP 查询的错误结果
- c# - 如何将对象内的数据表绑定到 XAML 中的数据网格?
- laravel - 获取 403,使用 laravel 广播的私人频道时出错
- ios - 展开可选 IBOutlet 时出现错误(线程 1:致命错误:展开可选值时意外发现 nil)
- flask - 如何在flask-jwt-extended中的redis中存储jwt令牌?
- module - 如何使用自定义模块在产品视图页面上添加新按钮以打开模块 url
- tinymce - tinyMCE 编辑器或 Jsoup 可以修复 html 标记错误吗?
- python - python结构的新手,无法运行基本代码