Here is what cabal update outputs:
Downloading the latest package list from hackage.haskell.org
cabal: out of memory (requested 2097152 bytes)
The reason may be shortage of memory. What about tail 00-index.cache?
pkg: charade 0.1 b# 46384
pkg: charset 0.0 b# 46390
pkg: charset 0.1 b# 46393
pkg: charset 0.2.0 b# 46396
pkg: charset 0.2.1 b# 46399
pkg: charset 0.2.2 b# 46402
pkg: charset 0.2.3 b# 46405
pkg: charset 0.3 b# 46408
pkg: charset 0.3.0.1 b# 46412
I can have 00-index.tar.gz downloaded easily and have 00-index.tar untared. However, because of out of memory, I cannot generate the cache file! Can cabal generate 00-index.cache locally in an cheap way?
cabal --version
cabal-install version 1.16.0.2
using version 1.16.0 of the Cabal library
I ran into a similar problem running a micro instance on AWS (not running cabal update, but compiling my own program). I followed the suggestions in this link to create a swap space and it did the trick.
From the link:
> dd if=/dev/zero of=/tmp/swap bs=1M count=1024
> mkswap /tmp/swap
> swapon /tmp/swap
The dd command creates a swap file with the name “swap” under the /tmp directory with a size of 1024MB (1GB).
Make this file as a swap file using the mkswap command.
Enable the newly created swapfile using the swapon command.
This link has more information about swap spaces.
You can just put 00-index.cache in the appropriate place, and cabal-install will use it just fine. To find out where to put it, look at the value of remote-repo-cache and remote-repo in ~/.cabal/config; the cache should go in a directory named after the remote repo's nick inside the remote-repo-cache directory. For example, here's a snippet of my config:
remote-repo: hackage.haskell.org:http://hackage.haskell.org/packages/archive
remote-repo-cache: /home/dmwit/.cabal/packages
and my cache is in /home/dmwit/.cabal/packages/hackage.haskell.org/00-index.cache.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With