1. 问题背景与现象分析
最近在Ubuntu 20.04上配置Intel RealSense深度相机时,遇到了一个典型的依赖冲突问题。当尝试编译基于ROS1的realsense-ros驱动包时,CMake报出以下关键错误信息:
code复制Found package configuration file:
/usr/lib/x86_64-linux-gnu/cmake/realsense2/realsense2Config.cmake
but it set realsense2_FOUND to FALSE so package "realsense2" is considered to be NOT FOUND.
Reason given by package:
The following imported targets are referenced, but are missing: fastcdr fastrtps
CMake Error at realflight_modules/realsense-ros/realsense2_camera/CMakeLists.txt:48 (message):
Intel RealSense SDK 2.0 is missing, please install it from https://github.com/IntelRealSense/librealsense/releases
这个错误表面看是缺少RealSense SDK,但实际隐藏着更深层次的版本兼容性问题。通过分析错误日志可以发现两个关键线索:
- 系统确实找到了realsense2的配置文件(realsense2Config.cmake),但该文件主动声明自己"NOT FOUND"
- 缺失的依赖项fastcdr和fastrtps是ROS2的通信中间件组件
这种现象通常出现在混合了ROS1和ROS2组件的开发环境中。最新版的librealsense(2.56.5)默认适配ROS2环境,而我们需要的是兼容ROS1的版本。
2. 根因诊断与解决方案选择
经过在开发者社区的深入排查(参考[GitHub Issue #3406](https://github.com/realsenseai/realsense-ro
