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

Catkin_make error: Workspace contains non-catkin packages in it

asked 2017-05-11 14:27:32 -0600

Oh233 gravatar image

updated 2017-05-11 17:04:24 -0600

I first followed the tutorials of moveit and everything was fine. I could run the demo.launch for pr2. Then I replaced src folder with my own and tried to compile it. After solved some problems like can't find urdfdomConfig.cmake, now I don't know how to solve this problem.

Here is my result for catkin_make:

Base path: //home/ruinianxu/ws_moveit
Source space: //home/ruinianxu/ws_moveit/src
Build space: //home/ruinianxu/ws_moveit/build
Devel space: //home/ruinianxu/ws_moveit/devel
Install space: //home/ruinianxu/ws_moveit/install
####
#### Running command: "make cmake_check_build_system" in "//home/ruinianxu/ws_moveit/build"
####
-- Using CATKIN_DEVEL_PREFIX: //home/ruinianxu/ws_moveit/devel
-- Using CMAKE_PREFIX_PATH: /home/ruinianxu/ws_moveit/devel;/opt/ros/indigo
-- This workspace overlays: /home/ruinianxu/ws_moveit/devel;/opt/ros/indigo
-- Using PYTHON_EXECUTABLE: /usr/bin/python
-- Using Debian Python package layout
-- Using empy: /usr/bin/empy
-- Using CATKIN_ENABLE_TESTING: ON
-- Call enable_testing()
-- Using CATKIN_TEST_RESULTS_DIR: /home/ruinianxu/ws_moveit/build/test_results
-- Found gtest sources under '/usr/src/gtest': gtests will be built
-- Using Python nosetests: /usr/bin/nosetests-2.7
-- catkin 0.6.19
-- BUILD_SHARED_LIBS is on
-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-- ~~  traversing 75 packages in topological order:
-- ~~  - genmsg
-- ~~  - gencpp
-- ~~  - genlisp
-- ~~  - genpy
-- ~~  - cmake_modules
-- ~~  - cpp_common
-- ~~  - message_generation
-- ~~  - message_runtime
-- ~~  - mk
-- ~~  - moveit_planners (metapackage)
-- ~~  - moveit_plugins (metapackage)
-- ~~  - moveit_pr2 (metapackage)
-- ~~  - moveit_resources
-- ~~  - moveit_ros (metapackage)
-- ~~  - ompl (plain cmake)
-- ~~  - pr2_moveit_config
-- ~~  - ros (metapackage)
-- ~~  - ros_comm (metapackage)
-- ~~  - rosbash
-- ~~  - rosboost_cfg
-- ~~  - rosbuild
-- ~~  - rosclean
-- ~~  - roscpp_traits
-- ~~  - roscreate
-- ~~  - rosgraph
-- ~~  - roslang
-- ~~  - rosmake
-- ~~  - rosmaster
-- ~~  - rosmsg
-- ~~  - rospack
-- ~~  - roslib
-- ~~  - rosparam
-- ~~  - rospy
-- ~~  - rosservice
-- ~~  - rostime
-- ~~  - roscpp_serialization
-- ~~  - roslaunch
-- ~~  - rosunit
-- ~~  - rosconsole
-- ~~  - roslz4
-- ~~  - rosbag_storage
-- ~~  - rostest
-- ~~  - std_msgs
-- ~~  - rosgraph_msgs
-- ~~  - std_srvs
-- ~~  - moveit_msgs
-- ~~  - xmlrpcpp
-- ~~  - roscpp
-- ~~  - rosout
-- ~~  - message_filters
-- ~~  - rosnode
-- ~~  - rostopic
-- ~~  - roswtf
-- ~~  - topic_tools
-- ~~  - rosbag
-- ~~  - srdfdom
-- ~~  - moveit_core
-- ~~  - moveit_controller_manager_example
-- ~~  - moveit_fake_controller_manager
-- ~~  - moveit_ros_perception
-- ~~  - moveit_ros_planning
-- ~~  - moveit_ros_move_group
-- ~~  - moveit_ros_manipulation
-- ~~  - moveit_ros_robot_interaction
-- ~~  - moveit_simple_controller_manager
-- ~~  - pr2_moveit_plugins
-- ~~  - pr2_moveit_tests
-- ~~  - moveit_ros_warehouse
-- ~~  - moveit_ros_benchmarks
-- ~~  - moveit_ros_planning_interface
-- ~~  - moveit_commander
-- ~~  - moveit_ros_visualization
-- ~~  - moveit_ros_benchmarks_gui
-- ~~  - moveit_setup_assistant
-- ~~  - pr2_moveit_tutorials
-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
CMake Error at src/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:63 (catkin_workspace)


-- Configuring incomplete, errors occurred!
See also "/home/ruinianxu/ws_moveit/build/CMakeFiles/CMakeOutput.log".
See also "/home/ruinianxu/ws_moveit/build/CMakeFiles/CMakeError.log".
make: *** [cmake_check_build_system] Error 1
Invoking "make cmake_check_build_system" failed

I checked some similar problems but still don't know how to solve it. I found that someone said I can move the noncatkin packages out and build a second workspace for it to install it. But I don't know what package is noncatkin package. I also want to know whether there is difference if I change to use catkin_make_isolated? I compiled successfully by catkin_make_isolated but when I tried to launch demo.launch for pr2, my rviz always stopped to work suddenly.

edit retag flag offensive close merge delete

Comments

1

Please use the preformatted text button when inserting code (101010 button)

jarvisschultz gravatar image jarvisschultz  ( 2017-05-11 17:07:55 -0600 )edit

Hi,

 I also encountered the same problem, have you solve the problem? Can you share your solution?
chengwei gravatar image chengwei  ( 2017-05-22 20:50:54 -0600 )edit

At least now I found that is due to you add package like ompl in your workspace and try to catkin_make the whole workspace. You can find tutorial about how to install source ompl library with moveit. Actually they use catkin build that I just know is similar to catkin_make isolated.

Oh233 gravatar image Oh233  ( 2017-05-22 21:52:39 -0600 )edit

when I tried to launch demo.launch for pr2, my rviz always stopped to work suddenly.

Although that sounds like a separate issue, please at least provide the system output of it if you think it's related to what you're originally asking.

130s gravatar image 130s  ( 2019-03-11 23:36:02 -0600 )edit

3 Answers

Sort by ยป oldest newest most voted
0

answered 2019-06-25 06:32:59 -0600

nunuwin gravatar image

It is because of catkin_isolated, I think. I also encountered the same problem, but I solve easy way(not good way) I clear the isolated packages (bcoz, these packages are not use at that time) again I do catkin_make. So, I don't know about that case "how to solve" . I can say only cause of that error is by isolated_catkin.

edit flag offensive delete link more
0

answered 2020-12-09 14:55:32 -0600

canderson gravatar image

In my case, using an old docker container caused this issue. Simply running

apt-get update && apt-get upgrade -y

fixed the issue

edit flag offensive delete link more
0

answered 2019-07-17 11:17:07 -0600

Alan8 gravatar image

I have this same problem. No clue WHICH packages are "non-catkin". Looks like many other people have had this SAME PROBLEM over the years. Why hasn't this bug been fixed??

What finally worked (after two days of cargo-cult "programming") was eliminating the build/devel/install folders, doing catkin_make_isolated --install (in the catkin_ws folder), then source devel_isolated/setup.bash.

edit flag offensive delete link more

Comments

This is not a bug. The workspace just really contains non-Catkin packages, and only catkin_make_isolated and catkin_tools can build those workspaces.

There is nothing to fix.

gvdhoorn gravatar image gvdhoorn  ( 2019-07-17 13:15:25 -0600 )edit

@gvdhoom: The bug is that there's no clue how to fix this problem; look at all the people who have been stuck on this over the years. At a minimum, the framework should LIST the non-Catkin packages. Even better would be to automatically do a make_isolated in this situation.

Alan8 gravatar image Alan8  ( 2019-07-17 13:23:21 -0600 )edit
2

We're getting into semantics here, but what you describe is not a bug. It's not something that is broken or doesn't work as intended.

You're essentially posting an enhancement request. It's a legitimate one, but this is not the place to do it. Might be better to post it over at ros/catkin (but with the focus on colcon these days it's probably going to require a PR to get it in).

Even better would be to automatically do a make_isolated in this situation.

catkin_make_isolated and catkin_make are separate tools. It makes little sense to me to have one call the other.

gvdhoorn gravatar image gvdhoorn  ( 2019-07-17 13:41:58 -0600 )edit

Ok, an enhancement request. But from the user's point of view, it's indistinguishable from a bug; the user said "make" and the system didn't make. The fact that the make process is split between two tools is an implementation detail. It seems to me that a more user-friendly approach would be one tool that handled both situations.

Alan8 gravatar image Alan8  ( 2019-07-17 13:58:16 -0600 )edit
2

the user said "make" and the system didn't make.

if you run make on non-Makefile projects, make is also going to complain. We don't call that a bug, but logical behaviour. It's the same with catkin_make and heterogeneous workspaces.

But it doesn't matter: unless an enhancement request is posted on the correct tracker, and a PR submitted, this will not change.

ROS is a community project. Without contributions from the community, things will either not change, or very slowly. There's no point in complaining about something on ROS Answers.

gvdhoorn gravatar image gvdhoorn  ( 2019-07-17 14:13:40 -0600 )edit

Question Tools

1 follower

Stats

Asked: 2017-05-11 14:27:32 -0600

Seen: 6,572 times

Last updated: Dec 09 '20