pon*_*nir 3 command-line nvidia bash environment-variables mate
我已经在 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
Run Code Online (Sandbox Code Playgroud)
但是,重新启动后,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:~$
Run Code Online (Sandbox Code Playgroud)
但是export LD_LIBRARY_PATH=/usr/local/cuda-7.5/lib64:/usr/lib/nvidia-361:$LD_LIBRARY_PATH在终端中执行后,我可以获得该变量。
可能是什么问题?谢谢。
注意:您只能在交互式 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
Run Code Online (Sandbox Code Playgroud)
在.conf此处创建带有扩展名的文件
sudo nano cuda.conf
Run Code Online (Sandbox Code Playgroud)
将路径添加为两行
/usr/local/cuda-7.5/lib64
/usr/lib/nvidia-361
Run Code Online (Sandbox Code Playgroud)
保存并退出。检查ls -l该文件是否与目录中的其他文件具有相同的所有权和权限,它们应该是:
-rw-r--r-- 1 root root
Run Code Online (Sandbox Code Playgroud)
然后运行
ldconfig
Run Code Online (Sandbox Code Playgroud)
这不会设置 env 变量,但会适当地包含库以便 CUDA 工作