Skip to content
This repository was archived by the owner on Jan 23, 2024. It is now read-only.

Catkin Command Line Tools

Simon Lynen edited this page Mar 13, 2014 · 19 revisions

Note: This is an experimental feature which might not always work.

Short reasoning behind this (just skip):

Catkin can be a little slow for two reasons:

  • Catkin processes the dependencies of your workspace before starting to build the actual packages.
  • Catkin parallelizes the build of object files inside a package, but does not build packages in parallel.

One reason for that is that catkin creates a single make target for all packages in your source space. A new command called catkin-make-isolated builds each package in the workspace individually, calling cmake, make etc (cmi ROS). This can be parallelized better. Parallel-catkin-make-isolated (pcmi) resolves dependencies on the fly and builds packages individually and in parallel can therefore speed up your build times significantly.

pcmi is part of the catkin-tools, which is the preferred way of building catkin workspaces.

Documentation of catkin-tools

Can be found here.

Good to know commands of catkin

  • catkin build: Verb for building a catkin workspace <commands/catkin_build>
  • catkin list: Verb for finding and listing information about catkin packages <commands/catkin_list>

How to install pcmi/catkin as part of catkin-tools:

sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu `lsb_release -sc` main" > /etc/apt/sources.list.d/ros-latest.list'
wget http://packages.ros.org/ros.key -O - | sudo apt-key add -
sudo apt-get update
sudo apt-get install python-catkin-tools
cd /tmp
git clone https://github.com/catkin/catkin_tools.git
cd catkin_tools
sudo python setup.py install

From now on you can issue a parallel catkin_make by using the command catkin build where you have used catkin_make before, e.g.:

cd $CATKIN_WS
catkin build
Clone this wiki locally