1.在树莓派上安装openeuler:
跟随这罗老师的tutorial配置好ros安装所需要的一些环境,
参考链接:https://gitee.com/yunxiangluo/ros_openeuler?_from=gitee_search
这篇博客目的是在openeuler源码编译ros-comm,然后在将rpm包进行打包,并且验证打包可执行程序
因此着重记录一下跟罗老师tutorial当中需要注意或者说不同的地方
2.下载ros-common源码
在你的workspace当中执行:
rosinstall_generator ros-comm --rosdistro melodic --deps --tar > melodic-ros_comm.rosinstall
这条指令的目的是将ros-comm当中所有的52个pkg的url链接写入到melodic-ros_comm.rosinstall文件当中,里面会包含各个pkg的版本号,后续自己打包的时候,也是需要版本号的
wstool init -j8 src melodic-ros_common.rosinstall
这条指令的目的是,根据melodic-ros_common.rosinstall文件当中的下载链接,将ros-comm当中的源码下载到src目录当中,
然后通过
./src/catkin/bin/catkin_make
进行catkin_make,编译工作区间,用来验证工作区间,来编译各个pkg
在执行catkin_make的时候,可能会出现python-empty这个库,可以通过pip install em来安装
3.将catkin源码打包rpm
构建源码打包的工程

soueces里面存放的是tar.gz结尾的压缩包,例如catkin-0.7.26.tar.gz
将文件夹进行压缩的命令:
tar zcvf catkin-0.7.26.tar.gz catkin-0.7.26/
将文件夹进行解压的命令
tar zxvf catkin-0.7.26.tar.gz catkin-0.7.26/
然后后面就是在SPEC文件夹下面创建catkin.sepc文件
Name: catkin
Version: 0.7.26
Release: 1
Summary: This is ROS melodic Catkin Package
License: GPL
URL: https://github.com/ros-gbp/catkin-release/archive/release/melodic/catkin
Source0: https://github.com/ros-gbp/catkin-release/archive/release/melodic/catkin-0.7.26.tar.gz
BuildRequires: gcc-c++
BuildRequires: cmake
#BuildRequires: python-empy
#BuildRequires: libpng-devel
#BuildRequires: libjpeg-turbo-devel
#BuildRequires: gcc-gfortran
#BuildRequires: openblas-devel
#BuildRequires: sqlite-devel
#BuildRequires: fftw-devel
#BuildRequires: boost-devel
#BuildRequires: python3-devel
#BuildRequires: boost-python3-devel
%description
This is ROS melodic Catkin Package include catkin_make, catkin_init_workspace, and so on.
%prep
%setup -q
#%build
%install
%files
%defattr(-,root,root)
%changelog
* Thu May 28 2020 openEuler Buildteam <buildteam@openeuler.org> - 19.4-1
- Package init
打包城rpm 执行:
rpmbuild -ba catkin.spec
后续就要通过实际打包过程当中会出现那种报错,进行针对性的分析.
4.SPEC常用知识点汇总
来源:oschina
链接:https://my.oschina.net/u/4263001/blog/4326430