【发布时间】:2012-02-11 23:39:21
【问题描述】:
我正在尝试使用 Cygwin 在 Windows 上安装以下 Haskell 包:HaskellCuda
您可以使用“cabal install cuda”安装该软件包。
这是我得到的输出(您可能必须先“cuda install c2hs”):
$ cabal install
Configuring cuda-0.4.0.2...
checking for gcc... C:\Haskell\2011.4.0.0\mingw\bin\gcc.exe
checking for C compiler default output file name...
configure: error: C compiler cannot create executables
See `config.log' for more details.
Resolving dependencies...
cabal.exe: Error: some packages failed to install:
cuda-0.4.0.2 failed during the configure step. The exception was:
ExitFailure 77
日志文件中的相关部分是:
configure:1758: checking for gcc
configure:1785: result: C:\Haskell\2011.4.0.0\mingw\bin\gcc.exe
configure:2022: checking for C compiler version
configure:2029: C:\Haskell\2011.4.0.0\mingw\bin\gcc.exe --version >&5
configure: line 2030: C:\Haskell\2011.4.0.0\mingw\bin\gcc.exe: command not found
configure:2035: $? = 127
configure:2042: C:\Haskell\2011.4.0.0\mingw\bin\gcc.exe -v >&5
configure: line 2043: C:\Haskell\2011.4.0.0\mingw\bin\gcc.exe: command not found
configure:2045: $? = 127
configure:2052: C:\Haskell\2011.4.0.0\mingw\bin\gcc.exe -V >&5
configure: line 2053: C:\Haskell\2011.4.0.0\mingw\bin\gcc.exe: command not found
configure:2055: $? = 127
configure:2078: checking for C compiler default output file name
configure:2105: C:\Haskell\2011.4.0.0\mingw\bin\gcc.exe -fno-stack-protector conftest.c >&5
configure: line 2106: C:\Haskell\2011.4.0.0\mingw\bin\gcc.exe: command not found
configure:2108: $? = 127
configure:2146: result:
configure: failed program was: [source elided]
如果我去 Cygwin 并输入
gcc --version
我得到了一些合理的东西。这个问题似乎更多地与我猜的路径有关,但我不确定什么/如何解决它。我还应该注意,使用此软件包的旧版本“cabal install cuda-0.2.2”,我可以通过此步骤(但稍后会出现不同的错误)。
要进行复制,请确保将 Haskell 平台安装在没有空格的路径中,否则您可能会收到不同的错误。到目前为止,这是我唯一想到的。
非常感谢您对此的任何帮助,到目前为止,我已经花了大约一周的时间,但还没有得到任何帮助。
编辑:
$PATH = C:\Haskell\2011.4.0.0\mingw\bin;
C:\Haskell\2011.4.0.0\lib\extralibs\bin;
C:\Haskell\2011.4.0.0\bin;
C:\CUDA\v4.0\bin\;
C:\cygwin\bin\;
...
【问题讨论】:
-
可执行文件“C:\Haskell\2011.4.0.0\mingw\bin\gcc.exe”是否存在?
-
是的。这也是我成功测试 --version 的 gcc 副本。
-
如果您在 Windows 上使用 FFI 绑定,您真的想使用正确安装的 MinGW / MSYS(不是 GHC 附带的迷你版本)。仅当您绑定到现有的 DLL(如 SDL)时,您才应该使用 Cygwin。
-
您指的是我正在使用的实际 gcc.exe 文件吗?就像我说的,Haskell 附带的副本支持 --version 命令。另外,我不知道如何告诉 autoconf 使用不同的 gcc.exe。