NVCC CUDA交叉编译找不到“-lcudart”

时间:2015-06-08 04:30:07

标签: linux cuda ld nvcc

我在我的Ubuntu虚拟机上安装了CUDA 5.0和NVCC,并且在编译基本的CUDA C程序时遇到了问题。错误如下:

user@ubuntu:~/CUDA$ nvcc helloworld.cu -o helloworld.o -target-cpu-arch=ARM -ccbin=/usr/bin/arm-linux-gnueabi-gcc-4.6 --machine=32
/usr/lib/gcc/arm-linux-gnueabi/4.6/../../../../arm-linux-gnueabi/bin/ld: skipping incompatible /usr/local/cuda-5.0/bin/../lib/libcudart.so when searching for -lcudart
/usr/lib/gcc/arm-linux-gnueabi/4.6/../../../../arm-linux-gnueabi/bin/ld: skipping incompatible /usr/lib/libcudart.so when searching for -lcudart
/usr/lib/gcc/arm-linux-gnueabi/4.6/../../../../arm-linux-gnueabi/bin/ld: cannot find -lcudart
collect2: ld returned 1 exit status

我试图研究这个问题并遇到了这个链接:skipping incompatible libcudart.so when searching for -lcudart

所以我按照该链接提供的建议添加了

 /usr/local/cuda-5.0/lib64 

/usr/local/cuda-5.0/lib 

到我的LD_LIBRARY_PATH环境变量,现在这是

的结果
  user@ubuntu:~/CUDA$ echo $LD_LIBRARY_PATH 
  /usr/local/cuda-5.0/lib:/usr/local/cuda-5.0/lib64
  user@ubuntu:~/CUDA$ 

然而,问题仍然存在,请帮忙。

5 个答案:

答案 0 :(得分:1)

CUDA 5.5是第一个支持ARM v7的CUDA版本。您安装的CUDA 5.0工具包没有支持,这就是它无法找到正确版本的CUDA运行时库的原因。

答案 1 :(得分:0)

事实证明,我在NVIDIA上使用的CUDA安装程序不允许我为我的CARMA板交叉编译,但必须从制造商SECO下载。

答案 2 :(得分:0)

可能是,这是Cuda Toolkits的一个问题。 第一个Cuda Toolkit 5.0不支持Arm。 第二个Cuda Toolkit 6.5交叉编译丢失了libcudart.so。我解决了这个问题是从Cuda Toolkit 6.5 by Arm。复制libcudart.so。

答案 3 :(得分:0)

在〜/ .bashrc中添加以下内容

  

export PATH = / usr / local / cuda-5.0 / bin:$ PATH

     

export LD_LIBRARY_PATH = / usr / local / cuda-5.0 / lib64:$ LD_LIBRARY_PATH

在以下文件中-> /etc/ld.so.conf.d/cuda.conf

  

/usr/local/cuda-5.0/lib64

运行:sudo ldconfig

答案 4 :(得分:-3)

添加/etc/ld.so.conf:

/usr/local/cuda-5.0/lib /usr/local/cuda-5.0/lib64

并运行命令:ldconfig 你的编译将找到cudart lib

相关问题