openeuler 打包ros-comm

|▌冷眼眸甩不掉的悲伤 提交于 2020-08-11 02:46:25

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常用知识点汇总

 

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!