我正在尝试在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行。
答案 0 :(得分:2)
我无法肯定地知道,但我想我会用认为正在进行的事情来回答。
old-time
包中包含一个configure
脚本,这是一个Unix shell脚本,用于(惊奇!)配置包。 Cabal构建系统允许包自动集成configure
,并为它们运行脚本。在POSIX系统上,总有一个易于使用的shell。但是,在Windows上,情况并非如此。我相信这是你遇到的问题。
现在棘手的部分:为什么不你有一个shell?理论上,Haskell平台发布了一个shell。嗯,这是我的猜测:
--no-system-ghc
告诉Stack忽略任何已安装的工具链并管理安装本身,这比使用HP的副本更可靠。cabal install foo
,Cabal将找不到MSYS它会失败。但是,如果没有更多信息,我无法确定是否属实。我的个人建议:卸载Haskell平台,然后使用the recommended Stack installation instructions。在您的情况下,这只是downloading and running the 64-bit Windows installer。
最后:你怀疑的问题实际上不是问题;在Windows上,可以按照您看到的方式压缩长度超过8个字符的路径名(最后使用~1
)。路径显示中没有任何错误。