ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | Q&A
Ask Your Question

catkin_make - non homogeneous package - how to figure which package is the culprit

asked 2020-03-10 16:22:57 -0500

phil123456 gravatar image

updated 2020-03-10 17:12:08 -0500


catkin_make suddenly complains about a package, but does not say which one is non homogeneous

how can I figure which one is causing the issue ? quiet an obvious feature

I checked the logs, but nothing there

CMake Error at catkin/cmake/catkin_workspace.cmake:95 (message):
  This workspace contains non-catkin packages in it, and catkin cannot build
  a non-homogeneous workspace without isolation.  Try the
  'catkin_make_isolated' command instead.
Call Stack (most recent call first):
  CMakeLists.txt:67 (catkin_workspace)

-- Configuring incomplete, errors occurred!
See also "/home/pi/ros_catkin_ws/build/CMakeFiles/CMakeOutput.log".
See also "/home/pi/ros_catkin_ws/build/CMakeFiles/CMakeError.log".
Invoking "cmake" failed



find command :

find src -name package.xml -exec grep -L -E 'buildtool_depend.*>catkin' {} \;

edit retag flag offensive close merge delete


rplidar_ros that compiles fine with catkin_make does not compile anymore with catkin_make_isolated

please do not do this (ie: posting additional / follow-up questions in posts about something else entirely).

This is not a forum, but an AskBot instance. Similar to Stack Overflow/Exchange, it works best when there is a 1-to-1 ratio of questions-to-answers.

Editing in other questions after you've received an answer to your current question is considered bad form and will not help in getting answers.

gvdhoorn gravatar image gvdhoorn  ( 2020-03-10 17:02:05 -0500 )edit

ok but it's all related, I'll create a new question

phil123456 gravatar image phil123456  ( 2020-03-10 17:06:04 -0500 )edit

so the culprit package is catkin itself ? I dont get it

phil123456 gravatar image phil123456  ( 2020-03-10 17:07:04 -0500 )edit

1 Answer

Sort by ยป oldest newest most voted

answered 2020-03-10 16:36:10 -0500

gvdhoorn gravatar image

updated 2020-03-10 16:58:42 -0500

This finds any package.xml which does not state a buildtool_depend on catkin, which would be packages which cannot be built using catkin_make:

find /path/to/your/catkin_ws/src -name package.xml -exec grep -L -E 'buildtool_depend.*>catkin' {} \;

or, alternatively:

find . -name package.xml -exec grep -l 'build_type' {} \;

(though technically it's OK for a package to export a build_type with catkin as a value, no packages I know do this)

edit flag offensive delete link more


And tbh: I would use catkin_tools for building large sets of packages. It does not have the same limitation.

gvdhoorn gravatar image gvdhoorn  ( 2020-03-10 16:43:54 -0500 )edit

I'll have a look, tutorials never mention catkin_tools

phil123456 gravatar image phil123456  ( 2020-03-10 16:46:11 -0500 )edit

No, because it is considered to be a somewhat more advanced tool.

Users just starting out are probably better served by sticking with catkin_make.

gvdhoorn gravatar image gvdhoorn  ( 2020-03-10 16:48:46 -0500 )edit

something odd, rplidar_ros can compile fine with catkin_make but fails to find ' std_srvs/Empty.h' when using catkin_make_isoalted

phil123456 gravatar image phil123456  ( 2020-03-10 16:49:20 -0500 )edit

I unchecked the answer since the 'find..' command finds a lot of packages that compile fine with catkin make

phil123456 gravatar image phil123456  ( 2020-03-10 16:51:25 -0500 )edit

It's going to be very difficult to say anything about that unless you provide some more information. For instance: which packages does it list for you?

Also: please show a verbatim copy-paste of the command you executed.

gvdhoorn gravatar image gvdhoorn  ( 2020-03-10 16:53:26 -0500 )edit

I updated the question

phil123456 gravatar image phil123456  ( 2020-03-10 16:55:32 -0500 )edit

I've updated the command. Some packages have additional attributes which didn't match the regex.

gvdhoorn gravatar image gvdhoorn  ( 2020-03-10 16:55:39 -0500 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

1 follower


Asked: 2020-03-10 16:22:57 -0500

Seen: 240 times

Last updated: Mar 10 '20