我在 Ubuntu Mate 16.04 中安装了 nVidia CUDA 7.5。但是,我在设置环境变量时遇到了问题。
这是nvidia-settings.sh
我文件夹中的文件/etc/profile.d
:
export PATH=/usr/local/cuda-7.5/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-7.5/lib64:/usr/lib/nvidia-361:$LD_LIBRARY_PATH
export LIBRARY_PATH=/usr/lib/nvidia-361:/usr/local/cuda-7.5/lib64:$LIBRARY_PATH
但是,重启后LD_LIBRARY_PATH
环境不会自动可用。以下是显示该问题的终端输出:
ponir@mate:~$ echo $LD_LIBRARY_PATH
ponir@mate:~$ echo $LIBRARY_PATH
/usr/lib/nvidia-361:/usr/local/cuda-7.5/lib64:
ponir@mate:~$ export LD_LIBRARY_PATH=/usr/local/cuda-7.5/lib64:/usr/lib/nvidia-361:$LD_LIBRARY_PATH
ponir@mate:~$ echo $LD_LIBRARY_PATH
/usr/local/cuda-7.5/lib64:/usr/lib/nvidia-361:
ponir@mate:~$
但export LD_LIBRARY_PATH=/usr/local/cuda-7.5/lib64:/usr/lib/nvidia-361:$LD_LIBRARY_PATH
在终端执行后我可以得到该变量。
可能是什么问题?谢谢。
答案1
注意:您只能在交互式 shell 中设置此环境变量。[即终端] 自 Ubuntu 9.04 Jaunty Jackalope 以来,LD_LIBRARY_PATH 无法在 $HOME/.profile、/etc/profile 或 /etc/environment 文件中设置。您必须使用 /etc/ld.so.conf.d/*.conf 配置文件。有关更多信息,请参阅 Launchpad 错误 #366728。
如何修复:
cd /etc/ld.so.conf.d
.conf
在此处创建一个扩展名的文件
sudo nano cuda.conf
将路径添加为两行
/usr/local/cuda-7.5/lib64
/usr/lib/nvidia-361
保存并退出。检查ls -l
该文件是否具有与目录中其他文件相同的所有权和权限,它们应该是:
-rw-r--r-- 1 root root
然后运行
ldconfig
这不会设置环境变量,但会适当地包含库,以便 CUDA 可以正常工作
答案2
首先,您应该已经通过 apt-get 安装了 cuda。
话虽如此,当您从源代码编译此类内容时,您通常需要运行以下命令:
sudo ldconfig
如果没有理由安装编译版本,并且 apt-get 提供的版本足以满足您的需求,我建议卸载编译版本并安装 apt-get 提供的版本。
运行以下命令获取更多信息:
sudo apt-get update
apt-cache search cuda | grep -i cuda