当前位置: 首页 > 知识库问答 >
问题:

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

狄安歌
2023-03-14

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

我已经安装了库:

$ sudo apt-get install build-essential python-dev python-setup tools 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 dirs=/user/lib--boost python libname=boost\u python-mt-py27--boost thread libname=boost\u thread-mt

但是,当我这样做时:

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

我得到这个错误:

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

/usr/bin/ld:跳过不兼容的/usr/local/cuda/lib/libcurand。所以在搜索-lcurand时

为什么会出现这种错误?

谢了。

共有2个答案

姜胤
2023-03-14

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

$查找 /usr/lib/*/libcuda.so

对我来说,结果是

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

因此,在安装pycuda时,我会:

$ python configure . py-cuda-root =/usr/lib/NVIDIA-313-更新

$make

$sudo make安装

然后

$ optirun python test/test _ driver . py

或者

$ optirun python some_program_which_imports_pycuda.py

应该可以正常工作。

龙永逸
2023-03-14

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

pycuda 2012.1的安装完全基于distutils,不涉及Makefile。您可以通过运行./configure来安装pycuda。py</code>,后面是<code>LDFLAGS=/usr/lib/nvidia当前的python设置。py安装

 类似资料:
  • 问题内容: 我正在尝试编译我的程序,它返回此错误: 在我的makefile文件中,我使用命令并链接到我的库,这是到我的库的另一个目录的符号链接。 是否可以添加选项以使其正常工作? 问题答案: 如果您的图书馆名称是say 并且位于路径上,请说: 然后将其链接到您的程序:

  • 问题内容: 我正在尝试使用Python 2.7安装MySQLdb。我收到的错误如下所示: 显然,它找不到Python 2.7。展望我看到: 该符号是什么意思?谁能建议对此错误采取补救措施? 问题答案: 它找不到Python库,而不是可执行文件。运行以查看Python库的位置,然后将其添加到库路径(例如,如果位于中,则要调用)。 该符号意味着该文件是一个符号链接; 表示它是可执行文件(这些文件由产生

  • 因此,我试图使用make-f Makefile编译一个程序,但我得到了以下错误/usr/bin/ld:not find-lgd 生成文件: 替换(libgd.a libgd.la libgd.so libgd.so.2 libgd.so.2.0.0)后,我收到以下错误:

  • 我试图编译我的程序,它返回这个错误: 在我的makefile中,我使用命令并链接到我的库,这是一个符号链接到我位于其他目录上的库。 是否有一个选项添加,使其工作,请?

  • 我试着编译这段代码一段时间。具体来说,我正在尝试使用给定的mac编译avx2代码。然而,我总是遇到以下错误。我查了很多资料,但找不到解决办法。如果你能帮我找到解决办法,我将非常高兴。 /usr/bin/ld: 找不到 -lc collect2:错误:ld返回1个退出状态 : *** [测试/test_kyber]错误1 gcc版本 全球合作委员会 (GCC) 4.8.5 20150623(红帽 4

  • 我正在按照帮助中的coder教程进行操作。使用时,出现如下错误: /usr/bin/ld:找不到-lstdc Collect2:ld返回1退出状态 但是在 中都有库