前言
在运行darknet时遇到了libcudart.so.8.0找不到的问题, 一般地,解决cuda动态库找不到得问题 是在~/.bashrc添加该库所在的路径,并执行source ~/.bashrc来使得路径生效。
问题
不过我遇到的问题不一样,因为~/.bashrc里面显然已经指定了cuda库路径,而且是cuda-9.1版本。此外,darknet的Makefile里面也指定的是cuda-9.1的路径。但是运行时死活都要去链接libcudart.so.8.0这个较低版本。如下所示。
通过nvcc -V命令可以知道 我的cuda安装版本是9.1,而我的显卡驱动版本是384,如下图所示
后来通过网上查看才知道,显卡驱动和cuda版本有一个对应的问题。也就是说,对于某个cuda版本,它都有一个对应的最低版本显卡驱动(如下图所示)。如果实际安装的显卡驱动要低于要求的最低版本驱动,那么会出现意想不到的错误。从下图中的红框可以看到,cuda9.1要安装到390以上的显卡驱动,而对于384显卡驱动,最高不能超过cuda9.0版本。
所以,到这里问题很清楚了,那就是要卸掉cuda9.1来安装cuda9.0。 后面再重新编译darknet,最后运行就不会去link cuda8.0的库了。
目录