Cuda 使用主目录中安装的cudnn编译caffe(没有根权限):找不到lcudnn
最近在服务器上编译caffe时遇到问题,提示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添加
/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
,似乎不对我们不是来帮助你的,我们是来回答你的编程问题的。因此,问一个明确、直截了当的问题,然后你可能会得到一个答案,这有助于你注意到,有了根权限,安装和编译是非常容易的,但我的案例没有权限