我正在运行 Ubuntu 10.10、ghc 6.12.1、gcc 4.4.5。
我正在尝试安装妮基和机器人。
当我cabal install
这样做时,无法安装 Cabal-1.8.0.2。Cabal-1.8.0.2 已存在于~/.cabal/lib
。如果我运行 cabal install --dry-run -v
,它会说:
In order, the following would be installed:
Cabal-1.8.0.2 (reinstall) changes: unix-2.4.0.0 -> 2.4.2.0
cabal-macosx-0.1.1 (new package)
nikki-0.2.20 (new package)
Cabal 安装失败:
/home/tyr/.cabal/lib/unix-2.4.2.0/ghc-6.12.1/libHSunix-2.4.2.0.a(Signals.o): In function `spzw_info':
(.text+0x4d14): undefined reference to `rtsTimerSignal'
collect2: ld returned 1 exit status
cabal: Error: some packages failed to install:
Cabal-1.8.0.2 failed during the configure step. The exception was:
ExitFailure 1
我该如何解决?
我尝试重命名.cabal 文件夹以强制重新安装,但仍然失败。
答案1
您的编译器设置似乎有问题。您引用的符号应该在libHSrts_thr.a
(或变体,例如非线程)。我建议您下载并使用新版 GHC,最好是 7.0.3。
如果您确实想调查更多内容,请在输出rtsTimerSignal
中grep objdump -t libHSrts*.a
。此外,您可以尝试使用线程 rts ( ghc -threaded
) 或非线程,具体取决于此处哪个失败。