ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question
0

How to add a new ROS core package without new build of all core package?

asked 2020-10-28 08:09:57 -0600

wiyogo gravatar image

updated 2020-10-28 08:59:07 -0600

I need to build the ROS from the source on Rasbian Buster (R-Pi 4). I followed the instructions from this site.

First I installed the desktop core version with these steps:

rosinstall_generator desktop --rosdistro melodic --deps --tar > melodic-desktop.rosinstall
wstool init -j8 src melodic-desktop-wet.rosinstall
wstool update -j 4 -t src

It works. However, now I need several other packages, such as tf2_eigen. I check the instruction from https://wiki.ros.org/melodic/Installa.... Then, I execute

rosinstall_generator desktop_full --rosdistro melodic --deps --tar > melodic-desktop-full.rosinstall

to see the entries of the tf2_eigen. I inserted the tf2_eigen entry to the file melodic-desktop.rosinstall, that I created for the first time.

Then, I did

wstool merge -t src  melodic-desktop.rosinstall

to merge the new entry, and wstool update -j 4 -t src.

However, after I run this command

sudo ./src/catkin/bin/catkin_make_isolated --install -DCMAKE_BUILD_TYPE=Release --install-space /opt/ros/melodic -j2

to build the tf2_eigen, the command catkin_make_isolated build everything again in the src folder. I costs me two hours to build all the core packages again. How can I build the tf2_eigen only, without building everything again?

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
0

answered 2020-10-28 08:24:21 -0600

Rayman gravatar image

updated 2020-10-28 08:50:30 -0600

I've got a couple of ideas:

  1. Download the ros packages with apt-get, so that you don't have to compile them from source
  2. catkin_make_isolated has several arguments to specify which packages should get build (for example --pkg)
  3. Create an overlay workspace with only your package, this way you only have to build your underlay workspace once: http://wiki.ros.org/catkin/Tutorials/...
edit flag offensive delete link more

Comments

The first idea is not possible, since there is currently no ros-melodic package for raspbian buster. What is overlay workspace? What should I do? If the overlay workspace refers to a new paralel workspace folder, it is not my option. I don't want to have several ros-core workspaces, since I have already several project workspace. The second idea is the suitable solution for me. Thanks @Rayman!

wiyogo gravatar image wiyogo  ( 2020-10-28 08:43:31 -0600 )edit

I've added a link to the overlay workspace tutorial. An overlay workspace adds packages on top of another workspace. This way you can chain two (or more) workspace and prevent recompiling everything. I hope it helps you.

Rayman gravatar image Rayman  ( 2020-10-28 08:52:52 -0600 )edit

Question Tools

1 follower

Stats

Asked: 2020-10-28 08:09:57 -0600

Seen: 269 times

Last updated: Oct 28 '20