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

How to build catkin compatible third party library in catkin workspace? [closed]

asked 2014-08-08 19:39:53 -0600

Matias gravatar image

updated 2022-01-22 16:16:28 -0600

Evgeny gravatar image

I have followed the recommendations for allowing a third-party library (which I maintain) to be built in the ROS ecosystem, by adding the relevant package.xml file and corresponding install target. However, I would like now to build a ros node which depends on this package and therefore would like this third-party library to be built inside my catkin workspace. I have moved my third-party library to the source space of my catkin workspace, but now catkin_make complains:

This workspace contains non-catkin packages in it, and catkin cannot build a non-homogeneous workspace without isolation.

How can I make catkin_make to invoke catkin_make_isolated for these non-catkin packages automatically? Otherwise, what is the usual practice in these cases? I would like to avoid maintaining different catkin workspaces since it complicates the workflow

edit retag flag offensive reopen merge delete

Closed for the following reason the question is answered, right answer was accepted by Matias
close date 2015-06-26 17:26:10.657494

1 Answer

Sort by ยป oldest newest most voted

answered 2014-08-08 19:58:49 -0600

Dirk Thomas gravatar image

You have to use catkin_make_isolated if your workspace contains a non-catkin / plain CMake package.

Rational: catkin_make uses a single CMake invocation for the whole workspace. With a non-catkin package in the workspace that is conceptionally not possible hence you have to build all packages in isolation.

edit flag offensive delete link more


I ended up switching to catkin-tools, which solves this nicely.

Matias gravatar image Matias  ( 2015-06-26 17:25:58 -0600 )edit

Question Tools


Asked: 2014-08-08 19:39:53 -0600

Seen: 1,122 times

Last updated: Aug 08 '14