安装cuda模块无法找到cuda驱动程序库

时间:2012-03-10 17:44:56

标签: haskell cuda gpu nvidia

我正在尝试安装Manuel Chakravarty的加速模块,但在cuda依赖方面遇到了一些麻烦。

我已经从nvidia安装了CUDA开发人员驱动程序和CUDA工具包。即:

ludflu@beefy ~/Downloads $ nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2011 NVIDIA Corporation
Built on Thu_Jan_12_14:41:45_PST_2012
Cuda compilation tools, release 4.1, V0.2.1221

安装cuda cabal模块失败了:

cabal  install cuda
Resolving dependencies...
[1 of 1] Compiling Main             ( /tmp/cuda-0.4.1.07892/cuda-0.4.1.0/Setup.hs, /tmp/cuda-0.4.1.07892/cuda-0.4.1.0/dist/setup/Main.o )
Linking /tmp/cuda-0.4.1.07892/cuda-0.4.1.0/dist/setup/setup ...
Configuring cuda-0.4.1.0...
...
checking for library containing cuDriverGetVersion... no
configure: error: could not find CUDA driver library
********************************************************************************

The configuration process failed to locate your CUDA installation. Ensure that
you have installed the driver and developer toolkit, available from:

  http://developer.nvidia.com/cuda-downloads

Then make sure that "nvcc" is available in your PATH, or set the appropriate
directories with --extra-include-dirs and --extra-lib-dirs.

********************************************************************************
cabal: Error: some packages failed to install:
cuda-0.4.1.0 failed during the configure step. The exception was:
ExitFailure 1

所以我尝试指定路径:

cabal --extra-include-dirs=/usr/local/cuda/include --extra-lib-dirs=/usr/local/cuda/lib install cuda

但这种方式也失败了。

关于我接下来应该尝试什么的任何建议?

3 个答案:

答案 0 :(得分:4)

此错误通常表示configure无法找到CUDA库对象。具体而言,除了使用LD_LIBRARY_PATH--extra-include_dirs之外,您可能还必须设置--extra-lib-dirs。请尝试以下方法,

env LD_LIBRARY_PATH=/usr/local/cuda/lib cabal --extra-include-dirs=/usr/local/cuda/include --extra-lib-dirs=/usr/local/cuda/lib install cuda

您没有指定您使用的系统。如果您使用的是64位Linux系统,则可能必须使用/usr/local/cuda/lib64而不是/usr/local/cuda/lib

答案 1 :(得分:1)

答案对我来说在Ubuntu 13.10上没有用,但是下面做了(似乎很大程度上取决于如何安装nvidia驱动程序,在我的情况下通过nvidia-319软件包)

env LD_LIBRARY_PATH=/usr/lib/nvidia-319 cabal --extra-include-dirs=/usr/local/cuda/include --extra-lib-dirs=/usr/lib/nvidia-319/ install accelerate-cuda

当然是YMMV,理想情况下,安装程序会被修改为查看cuda库所在的位置。

答案 2 :(得分:-1)

构建为libary

  

右键单击 - >属性 - >构建 - >设置 - 构建工件 - >下拉列表以选择共享/静态库

共享/静态库之间的区别

现在要包含这个库,将库复制到你想要的项目,并将它放在与src级别相同级别的libs文件夹中。注意,我假设你有一个src文件夹。

在这个项目上

  

右键单击 - >属性 - >构建 - >设置 - >库 - >

    -l区域中
  • 添加不带前缀lib且没有后缀.so

  • 的库名称
  • -L区域添加../libs,请记住其 2点,因为当前文件夹为src项目的根源:) YEAH,我尝试了./libs 1小时后再尝试../libs