2

每当我尝试运行时,cabal install我都会得到以下信息

/var/folders/_3/48klb5054_jbgzrd7xr05_z80000gn/T/32059.c:1:12:
     warning: control reaches end of non-void function [-Wreturn-type]
int foo() {}
           ^
4

1 回答 1

2

在我看来,问题出在 system-filepath 的安装中(这本身可能是查找正确文本包的问题)。顶部的 c 东西似乎只是一个警告,所以你可以忽略它。

通常,当这种情况发生在我身上时,我会执行以下操作来找出问题的根本原因。

  1. 首先尝试直接安装有问题的底层库(这通常不起作用,但有几次它神秘地起作用)。

    cabal 安装系统文件路径

  2. 然后,下载源代码(这真的很容易使用cabal unpack)并尝试手动安装它。

    cabal unpack system-filepath cd system-filepath* cabal configure cabal build cabal install

最后三行可以简化为 just cabal install,但本练习的全部目的是找出问题发生的位置。您几乎肯定会从收到的消息中了解更多有关该问题的信息。通常问题是缺少 OS c 库或其标头。

  1. 如果您仍然有问题,请尝试更激烈的事情(如果您有胆量:))。清空您的 ~/.cabal/ 和/或 ~/.ghc/ 子目录(实际上,只需将它们移动到安全的地方,以防您决定将它们放回原处)。您可能需要保留 ~/.cabal/bin/ 的内容,但您不需要其他任何内容。再次尝试安装。

  2. 如果您仍然迷路,请回到这里,但这次更新您从该过程中学到的信息。这些新信息可能会为我们提供解决问题所需的信息。

于 2014-03-05T07:24:47.430 回答