![](/img/trans.png)
[英]After installing CUDA on Tegra Tx1 and sourcing the bashrc it will not find NVCC
[英]NVCC CUDA cross compiling cannot find “-lcudart”
我已經在我的 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
我試圖研究這個問題並遇到了這個鏈接: 在搜索 -lcudart 時跳過不兼容的 libcudart.so
所以我遵循了該鏈接上提供的建議並添加了
/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$
但是問題依然存在,請大家幫忙。
CUDA 5.5是第一個支持 ARM v7 的 CUDA 版本。 您安裝的 CUDA 5.0 工具包沒有支持,這就是它找不到正確版本的 CUDA 運行時庫的原因。
事實證明,我從 NVIDIA 使用的 CUDA 安裝程序不允許我為我的 CARMA 板交叉編譯,但必須從制造商 SECO 下載它。
可能是,這是 Cuda Toolkits 的問題。 第一個 Cuda Toolkit 5.0 不支持 Arm。 第二個Cuda Toolkit 6.5 交叉編譯丟失了libcudart.so。 我解決了這個問題是從 Arm 的 Cuda Toolkit 6.5 復制 libcudart.so。
在 ~/.bashrc 中添加以下內容
導出路徑=/usr/local/cuda-5.0/bin:$PATH
導出 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
添加 /etc/ld.so.conf 這個:
/usr/local/cuda-5.0/lib /usr/local/cuda-5.0/lib64
並運行命令:ldconfig 你的編譯會找到 cudart lib
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.