为CUDA设置LD_LIBRARY_PATH


12

安装CUDA工具包会导致将以下说明打印到控制台。

请确保用于64位Linux发行版的LD_LIBRARY_PATH包含/usr/local/cuda-5.0/lib64:/usr/local/cuda-5.0/lib

要么

对于64位Linux发行版,将/usr/local/cuda-5.0/lib64和/usr/local/cuda-5.0/lib添加到/etc/ld.so.conf中,并以root身份运行ldconfig

以下代码/etc/profile无效。

if [ -z "$LD_LIBRARY_PATH" ]; then    
  LD_LIBRARY_PATH=/usr/local/cuda-5.0/lib64:/usr/local/cuda-5.0/lib
else
  LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-5.0/lib64:/usr/local/cuda-5.0/lib
fi
export LD_LIBRARY_PATH

也就是说,重新引导和发行echo $LD_LIBRARY_PATH显示该变量未定义。

为了尝试其他建议,我在文件中添加了两行,/etc/ld.so.conf因此我的文件如下所示

include /etc/ld.so.conf.d/*.conf 
/usr/local/cuda-5.0/lib64
/usr/local/cuda-5.0/lib

然后我发出:

sudo ldconfig

然后

echo $LD_LIBRARY_PATH

仍然没有设置环境变量。我如何遵守上面显示的CUDA安装说明?


1
ldconfig没有设置LD_LIBRARY_PATH,它以不同的方式包含库。
w4etwetewtwet

Answers:


17

添加一个.conf扩展名为的文件,/etc/ld.so.conf.d/ 其中包含库的路径,然后运行ldconfig。请确保设置文件的权限和所有权以匹配目录中的其他文件。

与修改.bashrc的用户特定解决方案相反,这是系统范围的解决方案。

在我的系统中,我制作nvidia.conf/etc/ld.so.conf.d/。该文件包含以下行:

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

如果您以这种方式创建文件,sudo那么您的权限应该很好,但是我nvidia.conf是所有者/组根目录和rw-r--r-(或644)。


1
这似乎不起作用。ldconfig没有设置$ LD_LIBRARY_PATH。
尼克

1
我的理解是,它以无需设置path变量的方式解决了问题。因此,如果“无效”表示未设置变量,请确定。如果“不起作用”表示CUDA不起作用,则需要更多有关您的问题的信息,因为这将在我的设置中启用(并继续启用)CUDA开发。
洛根·梅菲尔德,2015年

我确定它可以在某些方面起作用,我尝试编译的程序想使用$ LD_LIBRARY_PATH,这可能不是最好的做法,这意味着我需要进行设置!
尼克

10

将以下内容放入.bashrc

if [ -z $LD_LIBRARY_PATH ]; then
  LD_LIBRARY_PATH=/usr/local/cuda-5.0/lib64:/usr/local/cuda-5.0/lib
else
  LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-5.0/lib64:/usr/local/cuda-5.0/lib
fi
export LD_LIBRARY_PATH

我认为首选方法是创建一个.conf文件。我在下面的答案中对此进行了描述。
Logan Mayfield
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.