New comment by jchook on void-packages repository https://github.com/void-linux/void-packages/issues/6414#issuecomment-760547883 Comment: According to the [cabal docs](https://cabal.readthedocs.io/en/3.4/developing-packages.html#kinds-of-package-cabal-vs-ghc-vs-system) > Library packages have to be registered with GHC for them to be available in GHCi or to be used when compiling other programs or packages. > When you build and install a Cabal package containing a library then it gets registered with GHC automatically. This automatic registration **does not appear to happen** on Void, whether installed via XBPS or a `ghcup`. Cabal silently fails(?) to add libraries to the package database, even when I explicitly specify a package db. `ghc-pkg recache` did not help. I did get some hopeful output by passing the cabal package.db to ghc-pkg, e.g. ```sh ghc-pkg --package-db=$HOME/.cabal/store/ghc-8.8.4/package.db ``` I'm not sure where the disconnect is between cabal and ghc-pkg. In `~/.ghc/x86_64-linux-8.8.4/environments/default` it clearly sets the package-db to the cabal package.db, and starting xmonad claims to load that environment. Following https://github.com/haskell/cabal/issues/6262#issuecomment-733919670, I successfully installed xmonad using `cabal v1-install xmonad`, and it properly registered in a new package known to `ghc-pkg list`. However the package installs "hidden" by default. `ghc-pkg expose xmonad` exposed it, but running `xmonad --recompile` still fails with all the same errors. *sigh*. - Void glibc Linux 5.9.16 x86_64 - GHC v8.8.4 - Cabal v3.2.0.0