我正在尝试安装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
但这种方式也失败了。
关于我接下来应该尝试什么的任何建议?
答案 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