简体   繁体   中英

Could not find module `XMonad` when attempting to compile

I see a couple other people with the same issue however none of the solutions worked for me. The following commands+outputs are mainly what I have tried. I am posting 1) because I have been stuck on this for some time and 2) I wanted to leave a comment on another post but I have no reputation :(

I have reinstalled my os (arch linux), keeping only my home files however I deleted .stack, .ghc, and .cabal folders.

yay -S xmonad xmonad-contrib
stack install xmonad xmonad-contrib sudo ghc-pkg recache

xmonad --recompile :

XMonad will use ghc to recompile, because "/home/trey/.xmonad/build" does not exist.
Error detected while loading xmonad configuration file: /home/trey/.xmonad/xmonad.hs

xmonad.hs:7:1: error:
    Could not find module `XMonad'
    There are files missing in the `xmonad-0.15' package,
    try running 'ghc-pkg check'.
    Use -v to see a list of the files searched for.
  |
7 | import XMonad
  | ^^^^^^^^^^^^^

... applies to all xmonad related modules

ghc-pkg check :

Warning: haddock-interfaces: /usr/share/doc/xmonad/html/xmonad.haddock doesn't exist or isn't a file
Warning: haddock-html: /usr/share/doc/xmonad/html doesn't exist or isn't a directory
Warning: haddock-interfaces: /usr/share/doc/xmonad-contrib/html/xmonad-contrib.haddock doesn't exist or isn't a file
Warning: haddock-html: /usr/share/doc/xmonad-contrib/html doesn't exist or `

... returns about 800 lines or so of Warnings like these however am unable to copy these as for some reason it doesn't pipe well. If you do need to see the whole output I will find a solution.

ghc-pkg list :

/usr/lib/ghc-8.6.5/package.conf.d
    Cabal-2.4.0.1
    Glob-0.10.0
    HTTP-4000.3.14
    Only-0.1
    StateVar-1.1.1.1
    X11-1.9.1
    X11-xft-0.3.1
    aeson-1.4.6.0
    annotated-wl-pprint-0.7.0
    ansi-terminal-0.9.1
    ansi-wl-pprint-0.6.9
    array-0.5.3.0
    asn1-encoding-0.9.6
    asn1-parse-0.9.5
    asn1-types-0.3.3
    async-2.2.2
    attoparsec-0.13.2.3
    attoparsec-iso8601-1.0.1.0
    auto-update-0.1.6
    base-4.12.0.0
    base-compat-0.10.5
    base-orphans-0.8.1
    base-prelude-1.3
    base16-bytestring-0.1.1.6
    base64-bytestring-1.0.0.2
    basement-0.0.11
    bifunctors-5.5.6
    binary-0.8.6.0
    bindings-uname-0.1
    bitarray-0.0.1.1
    blaze-builder-0.4.1.0
    blaze-html-0.9.1.2
    blaze-markup-0.8.2.3
    byteable-0.1.1
    bytestring-0.10.8.2
    case-insensitive-1.2.1.0
    cereal-0.5.8.1
    clock-0.8
    cmdargs-0.10.20
    colour-2.3.5
    comonad-5.0.6
    conduit-1.3.1.2
    conduit-extra-1.3.4
    connection-0.3.1
    constraints-0.11.2
    containers-0.6.0.1
    contravariant-1.5.2
    cookie-0.4.5
    cryptohash-sha256-0.11.101.0
    cryptonite-0.26
    cryptonite-conduit-0.2.2
    data-default-0.7.1.1
    data-default-class-0.1.2.0
    data-default-instances-containers-0.0.1
    data-default-instances-dlist-0.0.1
    data-default-instances-old-locale-0.0.1
    deepseq-1.4.4.0
    digest-0.0.1.2
    directory-1.3.3.0
    distributive-0.6.1
    dlist-0.8.0.7
    easy-file-0.2.2
    echo-0.1.3
    ed25519-0.0.5.0
    edit-distance-0.2.2.1
    either-5.0.1.1
    enclosed-exceptions-1.0.3
    exceptions-0.10.3
    extensible-exceptions-0.1.1.4
    extra-1.6.18
    fast-logger-3.0.0
    file-embed-0.0.11.1
    filelock-0.1.1.4
    filepath-1.4.2.1
    fsnotify-0.3.0.1
    generic-deriving-1.12.4
    (ghc-8.6.5)
    ghc-boot-8.6.5
    ghc-boot-th-8.6.5
    ghc-compact-0.1.0.0
    ghc-heap-8.6.5
    ghc-prim-0.5.3
    ghci-8.6.5
    githash-0.1.3.3
    hackage-security-0.5.3.0
    haddock-library-1.7.0
    hashable-1.2.7.0
    haskeline-0.7.4.3
    hi-file-parser-0.1.0.0
    hinotify-0.4
    hourglass-0.2.12
    hpack-0.33.0
    hpc-0.6.0.3
    http-api-data-0.4.1.1
    http-client-0.6.4
    http-client-tls-0.3.5.3
    http-conduit-2.3.7.3
    http-download-0.1.0.0
    http-types-0.12.3
    infer-license-0.2.0
    integer-gmp-1.0.2.0
    integer-logarithms-1.0.3
    libiserv-8.6.3
    libyaml-0.1.1.1
    lifted-async-0.10.0.4
    lifted-base-0.2.3.12
    megaparsec-7.0.5
    memory-0.14.18
    microlens-0.4.11.2
    microlens-th-0.4.3.2
    mime-types-0.1.0.9
    mintty-0.1.2
    monad-control-1.0.2.3
    monad-logger-0.3.31
    monad-loops-0.4.3
    mono-traversable-1.0.13.0
    mtl-2.2.2
    mustache-2.3.0
    neat-interpolation-0.3.2.5
    network-2.8.0.0
    network-uri-2.6.1.0
    old-locale-1.0.0.7
    old-time-1.1.0.3
    open-browser-0.2.1.0
    optparse-applicative-0.14.3.0
    optparse-generic-1.3.0
    optparse-simple-0.1.1.2
    pantry-0.1.1.1
    parsec-3.1.13.0
    parser-combinators-1.2.1
    path-0.6.1
    path-io-1.4.2
    path-pieces-0.2.1
    pem-0.2.4
    persistent-2.10.4
    persistent-sqlite-2.10.5
    persistent-template-2.7.3
    pretty-1.1.3.6
    primitive-0.6.4.0
    process-1.6.5.0
    profunctors-5.5.1
    project-template-0.2.0.1
    random-1.1
    regex-applicative-0.3.3.1
    regex-applicative-text-0.1.0.1
    resolv-0.1.1.1
    resource-pool-0.2.3.2
    resourcet-1.2.2
    retry-0.8.1.0
    rio-0.1.12.0
    rio-orphans-0.1.1.0
    rio-prettyprint-0.1.0.0
    rts-1.0
    safe-0.3.18
    safe-exceptions-0.1.7.0
    scientific-0.3.6.2
    semigroupoids-5.3.3
    setlocale-1.0.0.9
    shelly-1.8.1
    silently-1.2.5.1
    socks-0.6.1
    split-0.2.3.3
    stack-2.1.3
    stm-2.5.0.0
    stm-chans-3.0.0.4
    streaming-commons-0.2.1.1
    syb-0.7.1
    system-fileio-0.3.16.4
    system-filepath-0.4.14
    tagged-0.8.6
    tar-0.5.1.1
    tar-conduit-0.3.2
    template-haskell-2.14.0.0
    temporary-1.3
    terminal-size-0.3.2.1
    terminfo-0.4.1.2
    text-1.2.3.1
    text-metrics-0.3.0
    th-abstraction-0.3.1.0
    th-expand-syns-0.4.5.0
    th-lift-0.8.0.1
    th-lift-instances-0.1.14
    th-orphans-0.13.9
    th-reify-many-0.1.9
    th-utilities-0.2.3.1
    time-1.8.0.2
    time-compat-1.9.2.2
    tls-1.4.1
    transformers-0.5.6.2
    transformers-base-0.4.5.2
    transformers-compat-0.6.5
    type-equality-1
    typed-process-0.2.6.0
    unicode-transforms-0.3.6
    unix-2.7.2.2
    unix-compat-0.5.2
    unix-time-0.4.7
    unliftio-0.2.12
    unliftio-core-0.1.2.0
    unordered-containers-0.2.10.0
    utf8-string-1.0.1.1
    uuid-types-1.0.3
    vector-0.12.0.3
    vector-algorithms-0.8.0.3
    void-0.7.3
    x509-1.7.5
    x509-store-1.6.7
    x509-system-1.6.6
    x509-validation-1.6.11
    xhtml-3000.2.2.1
    xmonad-0.15
    xmonad-contrib-0.16
    yaml-0.11.2.0
    zip-archive-0.4.1
    zlib-0.6.2.1

Sounds like an issue with cabal - I think there are some packaging difficulties on Arch Linux.

As an alternative, you can manually build a Haskell project with your specific xmonad config, once you know this builds correctly, you can create a ~/.xmonad/build shell file, and in here trigger a build to your xmonad config/application.

So the contents of build might be:

#!/usr/bin/env bash
set -e
cd ~/MyXmonadProject/
stack build # or cabal build?

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM