9

I set up a NixOS system on KVM and installed the haskelPlatform package.

Everything works fine, ghci works fine, but cabal dies without any helpful error message:

[michas@nix:~]$ type -a cabal
cabal is /run/current-system/sw/bin/cabal

[michas@nix:~]$ cabal --version
cabal-install version 1.16.0.2
using version 1.16.0 of the Cabal library 

[michas@nix:~]$ cabal update
Downloading the latest package list from hackage.haskell.org
Aborted

[michas@nix:~]$ cabal update -v3
Downloading the latest package list from hackage.haskell.org
Sending:
GET /packages/archive/00-index.tar.gz HTTP/1.1
Host: hackage.haskell.org
User-Agent: cabal-install/1.16.0.2
Creating new connection to hackage.haskell.org
Received:
HTTP/1.1 200 OK
Date: Thu, 19 Sep 2013 17:28:04 GMT
Server: Apache/2.2.9 (Debian) mod_python/3.3.1 Python/2.5.2
Last-Modified: Thu, 19 Sep 2013 16:01:27 GMT
ETag: "1888006-641488-4e6beaa9663c0"
Accept-Ranges: bytes
Content-Length: 6558856
Content-Type: application/x-tar
Content-Encoding: x-gzip
Downloaded
to /home/michas/.cabal/packages/hackage.haskell.org/00-index.tar.gz
Aborted

[michas@nix:~]$ strace cabal update
[...]
close(9)                                = 0
lstat("/home/michas/.cabal/packages/hackage.haskell.org/00-index.tar5861.tmp",
{st_mode=S_IFREG|0644, st_size=104366080, ...}) = 0
rename("/home/michas/.cabal/packages/hackage.haskell.org/00-index.tar5861.tmp",
"/home/michas/.cabal/packages/hackage.haskell.org/00-index.tar") = 0
--- SIGVTALRM {si_signo=SIGVTALRM, si_code=SI_TIMER, si_pid=0,
si_uid=18, si_value=0} --- rt_sigreturn()                          = 0
--- SIGVTALRM {si_signo=SIGVTALRM, si_code=SI_TIMER, si_pid=0,
si_uid=0, si_value=0} --- rt_sigreturn()                          =
139968722321408
stat("/home/michas/.cabal/packages/hackage.haskell.org/00-index.cache",
{st_mode=S_IFREG|0644, st_size=1058094, ...}) = 0
stat("/home/michas/.cabal/packages/hackage.haskell.org/00-index.tar",
{st_mode=S_IFREG|0644, st_size=104366080, ...}) = 0
stat("/home/michas/.cabal/packages/hackage.haskell.org/00-index.cache",
{st_mode=S_IFREG|0644, st_size=1058094, ...}) = 0 --- SIGVTALRM
{si_signo=SIGVTALRM, si_code=SI_TIMER, si_pid=0, si_uid=0, si_value=0}
--- rt_sigreturn()                          = 0
rt_sigprocmask(SIG_UNBLOCK, [ABRT], NULL, 8) = 0 tgkill(5861, 5861,
SIGABRT)             = 0 --- SIGABRT {si_signo=SIGABRT,
si_code=SI_TKILL, si_pid=5861, si_uid=1000} --- +++ killed by SIGABRT
+++ Aborted

[michas@nix:~]$

The VM has no swap, but 2GB of RAM. No hints in dmesg.

Any idea what is going on?

(On another NixOS installation on a VirtualBox-based VM this works without problems.)

1

See: https://stackoverflow.com/questions/3413166/when-does-a-process-get-sigabrt-signal-6

Assuming you did not send the SIGABRT signal, If I had to guess, the compile went bad. I'd try to compile fresh from source.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.