

$ mkdir -p /disk/scratch/$USER/.cabal (or /tmp/$USER.cabal) (on each machine where you need to run this code, noting the result is undefined if the files go away!) In the case where quota is desperately tight and you are content to restrict your work to a single machine, perhaps just temporarily, the cabal cache can be moved into group space, scratch disk or even /tmp, by editing ~/.cabal/config to set the "remote-repo-cache" variable:

Then, if you've created a local package list for a project: ghc.environment.-), as we're about to destroy them (if they're in your AFS home directory, remember can find these in the Yesterday directory).īefore you proceed, check you have approximately 1Gb free quota, and rebuild the cabal index: You might want to keep a note of the contents of your old ~/.cabal/config files, and any per-project environment settings (files named.

Regardless of the cause, the fix is the same, and it's relatively simple. If you see odd errors about package indexes or databases being unavailable, it's likely that they have become corrupted (perhaps due to running out of disk quota).
CVS HASKELL UPDATE
The cabal update command is expensive, downloading about 800Mb to your home directory at a stroke.
CVS HASKELL INSTALL
You can see which packages are currently installed with:īy default stack installs packages to ~/.cabal and ~/.ghc in your home directory.įor more details see the cabal install page. If your requested package has unmet dependencies, cabal will automatically try to fill them by downloading and compiling if required. You can also install specific libraries for use in one project, but have them installed in your personal cabal cache in your home directory: To install a package first update the local database with: If you don't need a fully partitioned GHC environment and are happy with the installed versions on DICE, cabal might be the simplest way to install the Haskell packages you require. Must be enabled via module (see optional versions on SL7 below libraries vary. Here's a summary of installed versions: VersionĭICE Ubuntu Focal (most teaching machines) The default (as invoked by the ghc, etc.) will usually match the default provided by our upstream DICE distributions, but others are available using various commands. There are usually several versions of the Haskell Compiler available on DICE, though usually only one version of the Haskell Platform.
