Ask Your Question

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

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

Matias 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 -0500

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 -0500 )edit

Question Tools


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

Seen: 896 times

Last updated: Aug 08 '14