Cuda 使用主目录中安装的cudnn编译caffe(没有根权限):找不到lcudnn

Cuda 使用主目录中安装的cudnn编译caffe(没有根权限):找不到lcudnn,cuda,caffe,Cuda,Caffe,最近在服务器上编译caffe时遇到问题,提示/usr/bin/ld:not find-lcudnn 由于我没有root权限,我在我的HOME目录中安装了CUDA-8.0,然后下载libcudnn7 dev并手动执行dpkg deb-xv libcudnn dev*.deb以提取deb包,然后转到lib目录,然后运行ar-x libcudn*.a和gcc-shared*.o-o libcudn.so,然后将生成的libcudn.so复制到~/cuda/lib64,然后将~/cuda/lib64添加

最近在服务器上编译caffe时遇到问题,提示
/usr/bin/ld:not find-lcudnn
由于我没有
root权限
,我在我的
HOME
目录中安装了
CUDA-8.0
,然后下载
libcudnn7 dev
并手动执行
dpkg deb-xv libcudnn dev*.deb
以提取deb包,然后转到lib目录,然后运行
ar-x libcudn*.a
gcc-shared*.o-o libcudn.so
,然后将生成的
libcudn.so
复制到
~/cuda/lib64
,然后将
~/cuda/lib64
添加到
LD_LIBRARY\u路径
,但是错误提示,我不知道如何修复,有人能帮忙吗

我不明白为什么它是
/usr/bin/ld:not find-lcudnn
,而不是像
ld\u LIBRARY\u PATH/=:not find-lcudnn

编辑: 我下载了.tgz文件并按照安装指南的说明安装cudnn,但它仍然提示错误,my ~/.bashrc配置为:

export CUDA\u HOME=“~/CUDA”
导出路径=“/home/wangtao/anaconda2/bin:$CUDA_home/bin:$PATH”
export LD_LIBRARY_PATH=“$CUDA_HOME/lib64:$LD_LIBRARY_PATH”

我发现
/etc/ld.so.conf
是这样的:

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

这不是我想要的
~/cuda/lib64
路径,但我不知道如何修改它,因为我在服务器上没有root权限,我已经在本地机器上成功编译,但这似乎很难我们新手需要了解更多,也许其他人有时帮不了你多少,请自便,了解更多!
原来链接不同于动态加载,在动态加载之前进行的链接,
LD_LIBRARY_PATH
可以影响的是动态加载,它给出了库文件路径(例如,
.so.1.0
,而不是
。so
通常是
的符号链接。so.1.0
用于链接器而不是加载程序),因此,将
libcudnn.so
路径添加到
LD_LIBRARY_路径
没有帮助,
/usr/bin/LD
抱怨的是链接器找不到cudnn库,所以我们需要添加
libcudnn.so
路径让链接器找到它,这是
LIBRARY_路径
提供帮助的,只需将它添加到其中,然后链接器可以找到它,有时我们只是方向不对,不要烦人,只是了解更多:)

不知道你做了什么或为什么。从developer.nvidia.com下载CUDNN,并根据其中的说明进行安装。然后,您将拥有一个可以链接的适当libcudnn。您不需要使用
ar
gcc
来创建
.so
库。如果您尚未注册,则需要注册为注册开发者。链接时,此处的链接器是
/usr/bin/ld
,这就是您收到该消息的原因
LD_LIBRARY_PATH
与运行时动态链接器/加载器系统有关,它不涉及编译时链接。谢谢,我没有遵循标准安装过程,因为我没有
root权限来做这件事(因为它涉及没有root就无法安装的deb pkg),您能建议我在哪里添加
libcudnn.so
的路径,以便
/usr/bin/ld
中的链接器可以找到它吗?
/etc/ld.so.conf
就是这个地方吗?(但我没有root权限修改它)您不需要root权限来执行任何操作,也不需要deb包。转到获取(而不是deb)并遵循安装指南说明,特别是“从tar文件安装”部分谢谢,我下载了.tgz文件并按照安装指南说明安装cudnn,但它仍然提示错误,我的
~/.bashrc
配置为:
导出CUDA_HOME=“~/CUDA”导出路径=“/home/wangtao/anaconda2/bin:$CUDA_home/bin:$PATH”导出LD_LIBRARY_PATH=“$CUDA_home/lib64:$LD_LIBRARY_PATH”“
我发现
/etc/ld.so.conf
是这样的:
包括/etc/ld.so.conf.d/*.conf/usr/local/cuda-7.0/lib64
,似乎不对我们不是来帮助你的,我们是来回答你的编程问题的。因此,问一个明确、直截了当的问题,然后你可能会得到一个答案,这有助于你注意到,有了根权限,安装和编译是非常容易的,但我的案例没有权限