linux - 无法在 64 位 Linux 上安装 Haskell CUDA

标签 linux haskell cuda cabal

<分区>

我在 64 位 Arch Linux 上使用 cabal 安装/构建 haskell-cuda 时遇到问题。据我所知,我具备所有先决条件(即 cuda 运行时库、nvcc 编译器等)。

我得到的错误如下:

cabal install cuda
[all tests pass]
Building cuda-0.5.1.1...
Preprocessing library cuda-0.5.1.1...
[ 1 of 27] Compiling Foreign.CUDA.Driver.Error ( dist/build/Foreign/CUDA/Driver/Error.hs, dist/build/Foreign/CUDA/Driver/Error.o )
[ 2 of 27] Compiling Foreign.CUDA.Internal.Offsets ( dist/build/Foreign/CUDA/Internal/Offsets.hs, dist/build/Foreign/CUDA/Internal/Offsets.o )
[ 3 of 27] Compiling Foreign.CUDA.Internal.C2HS ( Foreign/CUDA/Internal/C2HS.hs, dist/build/Foreign/CUDA/Internal/C2HS.o )
[ 4 of 27] Compiling Foreign.CUDA.Driver.Utils ( dist/build/Foreign/CUDA/Driver/Utils.hs, dist/build/Foreign/CUDA/Driver/Utils.o )

Foreign/CUDA/Driver/Utils.chs:35:23:
    Illegal type signature: `IO (Status, Int) cuDriverGetVersion'
      Perhaps you intended to use -XScopedTypeVariables
    In a pattern type-signature
Failed to install cuda-0.5.1.1
cabal: Error: some packages failed to install:
cuda-0.5.1.1 failed during the building phase. The exception was:
ExitFailure 1

据我所知,这是 Hackage 上的源代码错误,但我可能误解了,这是我机器的错误。无论哪种方式,我应该如何修复它?

最佳答案

好吧,看来(基于 this )问题实际上是 c2hs 程序的错误,版本为 0.16.6

解决方案是降级到版本 0.16.5,然后从那里再次尝试安装 CUDA。

cabal install c2hs-0.16.5
cabal install cuda

降级后,安装完美!

关于linux - 无法在 64 位 Linux 上安装 Haskell CUDA,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22515447/

相关文章:

java - 在java中执行git blame命令

arrays - 为什么这个数组检查 key 失败?

linux - 错误 : gdal-config not found while installing R dependent packages whereas gdal is installed

Haskell:从 getLine 中计算字数,不带 "do"符号

Haskell Parsec - 优化 int 解析

c++ - 如何通过openGL访问cuda上的数据?

c - 使用 CUBLAS/CUSPARSE 操作将统一数组的元素设置为 0 是否安全?

linux - 最后字节验证不适用于 bash 中的 IP

haskell - Lisp 能否以不可变的函数式方式轻松使用?

c++ - 如何将这种嵌套的 for 循环转换为 CUDA C++ 以进行并行编程?