FastDDS阿里云DDSRouter安装和使用(失败)
本文介绍了在Alibaba Cloud Linux 3系统上源码编译安装DDS Router的详细过程,包括环境准备、依赖安装、源码获取和构建步骤。由于DDS Router依赖较多且部署复杂,作者最终放弃了跨网段通信方案,转而使用MQTT转发,仅在组网内使用FastDDS。文章还分析了当前技术环境下的可行替代方案,指出FastDDS原生TCP+Static Peers可能是更简单可靠的跨网段通信解
文章目录
我选择放弃了,无法使用fastdds进行跨网段通信,部署成本太高,条件不允许,资源有限,还是转为mqtt转发了,组网内使用fastdds吧,哎!
安装 DDS Router
不依赖 Docker、不依赖 GitHub Release、完全源码编译 DDS Router 的方案,严格针对:Alibaba Cloud Linux 3 / x86_64。
DDS Router 的真实依赖关系(关键)
DDS Router ≠ Fast DDS 工具
它是一个独立工程,但依赖:
Fast DDS (已经编成功)
Fast CDR
foonathan_memory
yaml-cpp
👉 前 3 个系统里已经有了
👉 现在只需要:yaml-cpp + DDS Router 源码
安装必要系统依赖(一次性)
dnf install -y \
git \
cmake \
gcc-c++ \
make \
yaml-cpp-devel \
openssl-devel \
libatomic
确认 yaml-cpp:
rpm -qa | grep yaml-cpp

获取 DDS Router 源码(不走 Release)
1️⃣ 克隆源码(走 git,不走 tar.gz)
cd /opt
git clone https://github.com/eProsima/DDS-Router.git
cd DDS-Router
如果 GitHub 访问慢,可用镜像(备用):
git clone https://hub.fastgit.org/eProsima/DDS-Router.git
2️⃣ 切到 稳定版本 2.1.x
git checkout v2.1.0

构建DDSRouter
安装 colcon + vcs(你系统里默认没有)
dnf install -y python3-pip
pip3 install -U colcon-common-extensions vcstool

方案:手动 clone + 本地安装 cmake_utils
单独 clone dev-utils(只拉这一个)
cd /opt
git clone https://github.com/eProsima/dev-utils.git
切换到对应版本(非常重要)
DDS Router v2.1.0 对应 dev-utils v1.4.x
cd /opt/dev-utils
git checkout v1.4.0

进入 cmake_utils 子项目
cd /opt/dev-utils/cmake_utils
确认能看到文件
ls CMakeLists.txt
创建构建目录并执行 cmake(关键)
mkdir -p build
cd build
cmake .. \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/usr/local

编译并安装
make -j$(nproc)
make install

验证是否安装成功
ls /usr/local/share/cmake_utils/cmake

运行依旧失败
说是还缺失cpp_utils,但是获得不到源码
从 2023 年后开始:eProsima 合并 / 内嵌 / 重构 了部分公共库cpp_utils:不再作为独立公开仓库长期维护被内嵌进 DDS Router / Fast DDS 的源码体系但:DDS Router v2.1.0 的 CMakeLists.txt 仍然显式 find_package(cpp_utils)导致:源码版本与仓库状态不一致
然后又推荐我直接用 容器方式运行 DDS Router这是 eProsima 官方当前唯一稳定方案,但是
-
Docker Hub 被墙 / 限速
-
阿里云镜像仓库里
eProsima/ddsrouter是私有仓库requested access to the resource is denied是权限问题
-
DDS Router 源码链条已断(cpp_utils 不存在)
👉 结论:
在当前网络 / 系统条件下,DDS Router 无论“二进制 / docker / 源码”全部不可行
是 环境 + 官方发布策略共同导致的死路。
更多推荐
所有评论(0)