【问题标题】:pycuda installation error on ubuntu: /usr/bin/ld: cannot find -lcudaubuntu 上的 pycuda 安装错误:/usr/bin/ld: 找不到 -lcuda
【发布时间】:2012-05-20 03:50:15
【问题描述】:

我是初学者并在 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 - -boost-thread-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 对于 -lcurand

为什么会出现这个错误?

谢谢。

【问题讨论】:

    标签: ubuntu installation pycuda


    【解决方案1】:

    如果你为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

    $ 制作

    $ sudo make install

    那么,

    $ optirun python test/test_driver.py

    $ optirun python some_program_which_imports_pycuda.py

    应该可以正常工作。

    【讨论】:

      【解决方案2】:

      您需要设置LDFLAGS 环境变量,以便pycuda 安装程序可以找到libcuda.so,它在ubuntu 系统上位于非标准位置(/usr/lib/nvidia-current)。

      pycuda 2012.1 的安装完全基于 distutils,不涉及 Makefile。您可以通过运行./configure.py 来安装pycuda,并使用适当的选项,然后是LDFLAGS=/usr/lib/nvidia-current python setup.py install

      【讨论】:

        猜你喜欢
        • 2018-10-01
        • 1970-01-01
        • 1970-01-01
        • 2021-05-07
        • 2015-08-24
        • 1970-01-01
        • 2020-04-21
        • 2016-01-31
        • 1970-01-01
        相关资源
        最近更新 更多