gpt4 book ai didi

haskell - Haskell Cabal : C compiler cannot create executables

转载 作者:行者123 更新时间:2023-12-02 10:45:14 25 4
gpt4 key购买 nike

我正在尝试在Windows/x64上为GHC 8.0.1安装ghc-mod。当我尝试通过ghc-mod安装cabal install ghc-mod时,出现一条错误消息,提示我的C编译器无法正常工作(它使用了ghc附带的c编译器)。

这是输出(我第二次运行命令。基本上是第一个命令说的内容,但简化为错误消息):

C:\Users\******>cabal install ghc-mod
Resolving dependencies...
Configuring old-time-1.1.0.3...
Failed to install old-time-1.1.0.3
Build log ( C:\Users\******\AppData\Roaming\cabal\logs\old-time-1.1.0.3.log ):
Configuring old-time-1.1.0.3...
bash.exe: warning: could not find /tmp, please create!
configure: WARNING: unrecognized options: --with-compiler
checking for gcc... C:\PROGRA~1\Haskell Platform\8.0.1\mingw\bin\gcc.exe
^ I think the error lies here, as you can see the file path is corrupted but I wasn't able to locate the cause for this
checking whether the C compiler works... no
configure: error: in `/cygdrive/c/Users/******/AppData/Local/Temp/cabal-tmp-6084/old-time-1.1.0.3':
configure: error: C compiler cannot create executables
See `config.log' for more details
cabal: Leaving directory 'C:\Users\******\AppData\Local\Temp\cabal-tmp-6084\old-time-1.1.0.3'
cabal: Error: some packages failed to install:
cpphs-1.20.2 depends on old-time-1.1.0.3 which failed to install.
ghc-mod-5.6.0.0 depends on old-time-1.1.0.3 which failed to install.
haskell-src-exts-1.17.1 depends on old-time-1.1.0.3 which failed to install.
hlint-1.9.35 depends on old-time-1.1.0.3 which failed to install.
old-time-1.1.0.3 failed during the configure step. The exception was:
ExitFailure 77

您能否帮助我安装 ghc-mod或提供其他任何安装方式。

由于我刚开始,我已经尝试过重新安装Haskell,但这没有任何区别。
是的,我添加了haskell主页上提供的3行。

最佳答案

我不能确定,但​​以为我会写一份我认为正在发生的事情的答案。
old-time软件包包含一个configure脚本,它是用于(惊奇!)配置该软件包的Unix shell脚本。 Cabal构建系统允许软件包自动集成configure,并将为其运行脚本。在POSIX系统上,总有一个易于使用的 shell 。但是,在Windows上并非如此。我相信这就是您遇到的问题。

现在最棘手的部分:为什么没有 shell ?从理论上讲,Haskell平台附带了一个 shell 。好吧,这是我的猜测:

  • 对于Stack的用法,有a Haskell Platform bug,Stack无法找到MSYS工具,其中包括shell脚本。较新版本的Stack可以解决此错误,但是传入--no-system-ghc会告诉Stack忽略任何已安装的工具链并管理安装本身,这比使用HP的副本更可靠。
  • 对于Cabal,我不太确定。我认为HP团队决定要求您使用特殊的批处理程序来正确设置环境变量,因此,如果仅从常规命令窗口运行cabal install foo,Cabal将找不到MSYS,并且它将失败。但是,如果没有更多信息,我无法确定情况是否如此。

  • 我个人的建议:卸载Haskell Platform,并使用 the recommended Stack installation instructions。在您的情况下,这只是 downloading and running the 64-bit Windows installer

    最后:您怀疑的问题实际上不是问题;在Windows上,可以按您看到的方式压缩长度超过8个字符的路径名(末尾带有 ~1)。该路径显示中没有任何错误。

    关于haskell - Haskell Cabal : C compiler cannot create executables,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40961963/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com