ubuntu上的pycuda安装错误:/ usr / bin / ld:找不到-lcuda

时间:2012-05-11 14:22:03

标签: ubuntu install pycuda

我是初学者并在ubuntu 11.10上安装pycuda2011.2.2,但无法完成它。 Cuda是4.0。

我已经安装了库:

  

$ sudo apt-get install build-essential python-dev python-setuptools   libboost-python-dev libboost-thread-dev -y

像这样调用configure.py:

  

$ ./configure.py --cuda-root = / usr / local / cuda   --cudadrv-lib-dir = / usr / lib --boost-inc-dir = / usr / include --boost-lib-dir = / usr / lib --boost-python-libname = boost_python-mt-py27 - 免 - 加强线程LIBNAME = boost_thread-MT

但是,当我这样做时:

.....@ubuntu:~/pycuda-2011.2.2$ make -j 4 

我收到此错误:

  

/ usr / bin / ld:找不到-lcuda

     

/ usr / bin / ld:在搜索时跳过不兼容的/usr/local/cuda/lib/libcurand.so   for -lcurand

为什么会出现这个错误?

感谢。

2 个答案:

答案 0 :(得分:1)

您需要设置LDFLAGS环境变量,以便 pycuda 设置可以找到libcuda.so,这在ubuntu系统上位于非标准位置({{1 }})。

pycuda 2012.1 的安装完全基于distutils,不涉及/usr/lib/nvidia-current。您可以使用相应的选项Makefile运行./configure.py来安装 pycuda

答案 1 :(得分:0)

如果您使用nvidia卡的一些较新的驱动程序,如nvidia-313(这就是我使用的),那么文件libcuda.so(昵称为lcuda,我不知道为什么)可能不在cuda中安装目录(默认情况下为/ usr / lib / cuda)。 相反,您可能必须自己找到它。 做:

$ find / usr / lib / * / libcuda.so

对我来说,结果是

/usr/lib/nvidia-313-updates/libcuda.so

所以,在安装pycuda时,我会这样做:

$ python configure.py --cuda-root = / usr / lib / nvidia-313-updates

$ make

$ sudo make install

然后,

$ optirun python test / test_driver.py

$ optirun python some_program_which_imports_pycuda.py

应该可以正常工作。