KVM에 NixOS 시스템을 설정하고 haskelPlatform 패키지를 설치했습니다.
모든 것이 잘 작동하고, ghci도 잘 작동하지만, Cabal은 유용한 오류 메시지 없이 죽습니다:
[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:~]$
VM에는 스왑 영역이 없지만 2GB RAM이 있습니다. 에는 프롬프트가 없습니다 dmesg
.
무슨 일이 일어났는지 아세요?
(VirtualBox 기반 VM의 다른 NixOS 설치에서는 제대로 작동합니다.)
답변1
바라보다:https://stackoverflow.com/questions/3413166/when-does-a-process-get-sigabrt-signal-6
SIGABRT 신호를 보내지 않는다고 가정하면 컴파일이 잘못될 것입니다. 소스에서 다시 컴파일해 보겠습니다.