如何解决 pycuda 安装错误“/usr/bin/ld:无法找到 -lcuda”?

如何解决 pycuda 安装错误“/usr/bin/ld:无法找到 -lcuda”?

我在 ubuntu 11.10 上安装 pycuda2011.2.2,但无法完成。Cuda 是 4.0。当我这样做时:

$ make -j 4 

我收到此错误:

/usr/bin/ld: cannot find -lcuda 
/usr/bin/ld: skipping incompatible /usr/local/cuda/lib/libcurand.so when searching for -lcurand

为什么会出现此错误?我认为 cuda 在 64 位机器上是 32 位。但我看不出它是 32 位还是 64 位。

此外,有人可以分享代码以使“gcc 4.4”成为优先级,仅适用于我的帐户而不是所有帐户吗?

答案1

我不明白为什么你会想要make在构建 pycuda 时运行——它甚至没有Makefile(除了文档)。

您安装比库达./configure.py通过使用适当的选项然后运行LDFLAGS=-L/usr/lib/nvidia-current python setup.py install

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

如果你真的想问编译 CUDA SDK(在这种情况下你一定要编辑你的问题!),请参阅我的回复在 NVIDIA 论坛上

答案2

那么-lcuda从中删除Makefile呢?上次我检查工具包和 sdk 时,找不到文件libcuda.so

编译器的严格性也发生了变化,因此-lcuda必须位于依赖它的目标文件和其他库之后。您可能必须移至-lcuda行末$(CC)(或使用的任何编译器命令)。

相关内容