DeepStream启动报错:缺失libyaml-cpp.so.0.7依赖求助
解决DeepStream启动时
libyaml-cpp.so.0.7缺失问题 问题背景
在x86_64架构Ubuntu 24.04(CUDA 12.6)环境下,按NVIDIA官方指南部署DeepStream后,启动deepstream-app时报错:
deepstream-app: error while loading shared libraries: libyaml-cpp.so.0.7: cannot open shared object file: No such file or directory
前置修复:解决dpkg依赖异常
你提到重装依赖时出现大量dpkg文件列表缺失警告,先修复系统依赖环境:
- 配置未完成的dpkg包:
sudo dpkg --configure -a - 修复损坏的apt依赖:
sudo apt --fix-broken install - 更新软件源并升级系统:
sudo apt update && sudo apt upgrade -y
核心解决方案:安装对应版本的libyaml-cpp库
libyaml-dev是开发头文件包,并非运行时所需的共享库,且Ubuntu 24.04默认源中的libyaml-cpp版本通常高于0.7,需手动安装0.7.x版本:
方案1:源码编译安装(推荐)
- 安装编译依赖:
sudo apt install cmake git build-essential -y - 下载yaml-cpp 0.7.0版本的源码压缩包并解压,进入解压后的目录,切换到对应版本分支:
git checkout yaml-cpp-0.7.0 - 编译并安装:
mkdir build && cd build cmake .. -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=ON make -j$(nproc) sudo make install - 更新系统库缓存:
sudo ldconfig
方案2:软链接兼容(应急用,不推荐长期使用)
若系统已安装更高版本的libyaml-cpp(如0.8.x),可临时创建软链接兼容:
- 查找已安装的libyaml-cpp库:
sudo find / -name libyaml-cpp.so.* - 假设找到
/usr/lib/x86_64-linux-gnu/libyaml-cpp.so.0.8,创建软链接:sudo ln -s /usr/lib/x86_64-linux-gnu/libyaml-cpp.so.0.8 /usr/lib/x86_64-linux-gnu/libyaml-cpp.so.0.7 - 更新库缓存:
sudo ldconfig
验证环境变量配置
确保DeepStream的库路径被系统识别:
- 临时生效:
export LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu:/opt/nvidia/deepstream/deepstream/lib:$LD_LIBRARY_PATH - 永久生效(添加到
~/.bashrc):echo "export LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu:/opt/nvidia/deepstream/deepstream/lib:\$LD_LIBRARY_PATH" >> ~/.bashrc source ~/.bashrc
测试启动
重新运行deepstream-app验证问题是否解决:
deepstream-app
内容的提问来源于stack exchange,提问作者Maxim Ledovskoy
相关产品推荐
相关产品推荐

