sbin/ldconfig.real: /usr/local/cuda/lib64/libcudnn.so.7 不是符号链接
时间: 2023-06-13 09:02:19 浏览: 366
这个错误通常是由于在使用 CUDA 和 cuDNN 库时出现的问题。可以尝试以下几种方法解决:
1. 确保您已正确安装 CUDA 和 cuDNN 库,并且版本匹配。您需要使用与您的 CUDA 版本兼容的 cuDNN 版本。
2. 检查您的 LD_LIBRARY_PATH 环境变量是否正确设置,指向正确的 CUDA 和 cuDNN 库路径。
3. 查看您的 libcudnn.so 文件是否是正确的符号链接。如果不是,请尝试删除它并重新安装 cuDNN 库。
4. 确保您的系统已正确配置,可以使用 nvcc 命令编译和运行 CUDA 代码。
如果上述方法仍然无法解决问题,建议您尝试重新安装 CUDA 和 cuDNN 库,或者咨询相关技术支持。
相关问题
/sbin/ldconfig.real: /usr/local/cuda/targets/x86_64-linux/lib/libcudnn.so.8 不是符号链接
这个错误信息表明,/usr/local/cuda/targets/x86_64-linux/lib/libcudnn.so.8 这个文件不是一个符号链接。符号链接是一种特殊的文件类型,它可以指向另一个文件或目录,相当于一个快捷方式。在这个错误信息中,ldconfig.real 期望找到一个符号链接,但实际上找到的是一个普通文件。这可能会导致一些程序无法正常工作,因为它们期望找到一个符号链接。要解决这个问题,你需要将这个文件替换为一个符号链接,或者修改程序的配置文件,以便它们可以找到正确的文件。
yyh@yyh:~$ sudo apt install libmodbus5 libmodbus-dev -y 正在读取软件包列表... 完成 正在分析软件包的依赖关系树 正在读取状态信息... 完成 下列【新】软件包将被安装: libmodbus-dev libmodbus5 升级了 0 个软件包,新安装了 2 个软件包,要卸载 0 个软件包,有 62 个软件包未被升级。 需要下载 111 kB 的归档。 解压缩后会消耗 313 kB 的额外空间。 获取:1 http://mirrors.tuna.tsinghua.edu.cn/ubuntu focal/universe amd64 libmodbus5 amd64 3.1.6-2 [23.5 kB] 获取:2 http://mirrors.tuna.tsinghua.edu.cn/ubuntu focal/universe amd64 libmodbus-dev amd64 3.1.6-2 [87.6 kB] 已下载 111 kB,耗时 7秒 (17.0 kB/s) 正在选中未选择的软件包 libmodbus5:amd64。 (正在读取数据库 ... 系统当前共安装有 185694 个文件和目录。) 准备解压 .../libmodbus5_3.1.6-2_amd64.deb ... 正在解压 libmodbus5:amd64 (3.1.6-2) ... 正在选中未选择的软件包 libmodbus-dev:amd64。 准备解压 .../libmodbus-dev_3.1.6-2_amd64.deb ... 正在解压 libmodbus-dev:amd64 (3.1.6-2) ... 正在设置 libmodbus5:amd64 (3.1.6-2) ... 正在设置 libmodbus-dev:amd64 (3.1.6-2) ... 正在处理用于 man-db (2.9.1-1) 的触发器 ... 正在处理用于 libc-bin (2.31-0ubuntu9.17) 的触发器 ... /sbin/ldconfig.real: /usr/local/cuda/targets/x86_64-linux/lib/libcudnn_adv_train .so.8 is not a symbolic link /sbin/ldconfig.real: /usr/local/cuda/targets/x86_64-linux/lib/libcudnn_cnn_infer .so.8 is not a symbolic link /sbin/ldconfig.real: /usr/local/cuda/targets/x86_64-linux/lib/libcudnn_ops_infer .so.8 is not a symbolic link /sbin/ldconfig.real: /usr/local/cuda/targets/x86_64-linux/lib/libcudnn_adv_infer .so.8 is not a symbolic link /sbin/ldconfig.real: /usr/local/cuda/targets/x86_64-linux/lib/libcudnn.so.8 is n ot a symbolic link /sbin/ldconfig.real: /usr/local/cuda/targets/x86_64-linux/lib/libcudnn_cnn_train .so.8 is not a symbolic link /sbin/ldconfig.real: /usr/local/cuda/targets/x86_64-linux/lib/libcudnn_ops_train .so.8 is not a symbolic link yyh@yyh:~$ 安装成功了吗
从您提供的日志来看,`libmodbus5` 和 `libmodbus-dev` 已经成功安装。以下是详细解析:
---
### 日志分析
1. **软件包安装**:
- 系统明确指出了新安装的两个软件包:`libmodbus5` 和 `libmodbus-dev`。
- 它们分别对应 Modbus 协议的核心库以及开发所需的头文件和静态链接库。
2. **下载与解压过程**:
- 总共需要下载约 111 KB 的内容,并且已顺利完成了下载和解压步骤。
3. **配置阶段**:
- 安装完成后还触发了一些相关的后续任务,包括更新动态链接库缓存 (`ldconfig`) 和生成帮助手册索引(`man-db`)。
4. **警告信息**:
- 最后几行显示了关于 CUDA 相关路径下一些共享库不是符号链接的警告消息。但这只是 ldconfig 在扫描所有可能包含 .so 文件目录时发现的问题,并不影响本次 modbus 库的正常部署结果。
> 注释:如果您并未主动维护 NVIDIA CUDA 开发环境,则上述 cuda 部分的内容无需关注过多;它们仅作为次要提示存在而无实际关联影响范围局限于此特定上下文中。
综上所述,您的命令执行完毕并且达到了预期效果 —— libmodbus 成功就位可供进一步开发调用了!
---
### 后续验证方法
为了确认是否真正可用,您可以运行以下测试脚本来检查基本功能连接状况:
```bash
# 创建简单的 C 测试程序 test_modbus.c
cat <<EOF>test_modbus.c
#include <stdio.h>
#include <stdlib.h>
#include <modbus/modbus.h>
int main(void){
printf("Modbus library version %s\n", modbus_get_version());
return EXIT_SUCCESS;
}
EOF
# 使用 gcc 编译该示例并加载必要模块
gcc -o check_modbus test_modbus.c -lmodbus
# 执行编译出的小工具查看输出值
./check_modbus
```
如果一切正常的话屏幕上应当打印类似 "Modbus library version x.x.x" 字样的字符串表示 API 接口正确接入系统内部架构之中可以开始着手项目具体需求实现了!
---
阅读全文
相关推荐
















