openEuler ROS RPM构建踩坑记

任务动机:ROS没有OpenEuler的二进制安装源,为了方便OpenEuler用户快捷的通过源的方式进行ROS安装,需要制作ROS面向OpenEuler的RPM安装源。

任务描述:通过构建ROS catkin编译工具包,实践OpenEuler上RPM构建方法。构建后的安装包,经安装测试可用。

1. OBS上构建工程,生成RPM包的方法

我做了一个比较详细的过程视频,欢迎大家参考

openEuler构建之OBS使用指导

2. ROS RPM安装

2.1 下载安装包

我已做好了ros-comm的二进制RPM安装包,下载方法如下

wget http://121.36.3.168:82/home:/davidhan:/branches:/openEuler:/Mainline/standard_aarch64/aarch64/catkin-0.7.26-1.oe1.aarch64.rpm

2.2 安装ROS

rpm -ivh catkin-0.7.26-1.oe1.aarch64.rpm.rpm

2.3 验证

安装之后会新建目录/opt/ros/melodic/devel/bin

### 在 OpenEuler 上安装 ROS #### 准备工作 为了确保顺利安装 ROS,在开始之前需确认系统的更新状态并设置必要的环境变量。 ```bash sudo yum update -y ``` 由于ROS官方源主要针对Ubuntu,对于OpenEuler这样的非主流发行版,可能无法直接通过apt-get获取资源。因此建议采用源码编译的方式进行安装[^1]。 #### 安装依赖库 首先需要安装一系列构建工具和其他依赖项: ```bash sudo yum groupinstall "Development Tools" sudo yum install python3-pip wget git cmake pip3 install -U rosdep rospkg catkin_pkg vcstools empy PyYAML pyyaml setuptools netifaces defusedxml pillow numpy mock ``` #### 初始化rosdep Rosdep是一个用于简化解决软件包依赖关系的工具,可以自动处理不同版本间的兼容性问题。 ```bash sudo rosdep init rosdep update ``` #### 下载ROS源代码 使用wstool下载指定分支的ROS元数据文件,并初始化workspace: ```bash mkdir -p ~/ros_catkin_ws/src cd ~/ros_catkin_ws/src wget https://raw.githubusercontent.com/ros/catkin/master/cmake/toplevel.cmake git clone https://github.com/ros/ros.git cd .. rosdep install --from-paths src --ignore-src --rosdistro noetic -y ``` 这里假设选择了Noetic作为目标版本,可根据实际情况调整参数[^2]。 #### 编译与安装 完成上述准备工作之后就可以正式进入编译环节了。 ```bash ./src/catkin/bin/catkin_make_isolated --install -DCMAKE_BUILD_TYPE=Release source ~/ros_catkin_ws/install_isolated/setup.bash echo 'source ~/ros_catkin_ws/install_isolated/setup.bash' >> ~/.bashrc ``` 以上命令会花费较长时间来编译整个ROS框架及其核心组件,具体耗时取决于机器性能以及网络状况等因素影响。 #### 验证安装成果 最后可以通过简单的测试验证是否成功部署了ROS环境。 ```bash roscore & rosservice list ``` 如果一切正常,则说明已经在OpenEuler上完成了ROS的基础搭建工作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值