This workspace contains non-catkin packages in it and catkin cannot build a non-homogeneous workspace without isolation.
Besides this, I got the warning message related to my moveit packages. Please help me out in this regard.
catkin_make
Base path: /home/lucifer/catkin_ws
Source space: /home/lucifer/catkin_ws/src
Build space: /home/lucifer/catkin_ws/build
Devel space: /home/lucifer/catkin_ws/devel
Install space: /home/lucifer/catkin_ws/install
####
#### Running command: "make cmake_check_build_system" in "/home/lucifer/catkin_ws/build"
####
-- Using CATKIN_DEVEL_PREFIX: /home/lucifer/catkin_ws/devel
-- Using CMAKE_PREFIX_PATH: /home/lucifer/catkin_ws/devel;/home/lucifer/ws_moveit/devel;/opt/ros/melodic
-- This workspace overlays: /home/lucifer/catkin_ws/devel;/home/lucifer/ws_moveit/devel;/opt/ros/melodic
-- Found PythonInterp: /usr/bin/python2 (found suitable version "2.7.17", minimum required is "2")
-- Using PYTHON_EXECUTABLE: /usr/bin/python2
-- Using Debian Python package layout
-- Using empy: /usr/bin/empy
-- Using CATKIN_ENABLE_TESTING: ON
-- Call enable_testing()
-- Using CATKIN_TEST_RESULTS_DIR: /home/lucifer/catkin_ws/build/test_results
-- Found gtest sources under '/usr/src/googletest': gtests will be built
-- Found gmock sources under '/usr/src/googletest': gmock will be built
-- Found PythonInterp: /usr/bin/python2 (found version "2.7.17")
-- Using Python nosetests: /usr/bin/nosetests-2.7
-- catkin 0.7.20
-- BUILD_SHARED_LIBS is on
-- BUILD_SHARED_LIBS is on
-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-- ~~ traversing 34 packages in topological order:
-- ~~ - moveit (metapackage)
WARNING: The CMakeLists.txt of the metapackage 'moveit' contains non standard content. Use the content of the following file instead: /home/lucifer/catkin_ws/build/catkin_generated/metapackages/moveit/CMakeLists.txt
-- ~~ - moveit_planners (metapackage)
WARNING: The CMakeLists.txt of the metapackage 'moveit_planners' contains non standard content. Use the content of the following file instead: /home/lucifer/catkin_ws/build/catkin_generated/metapackages/moveit_planners/CMakeLists.txt
-- ~~ - moveit_plugins (metapackage)
WARNING: The CMakeLists.txt of the metapackage 'moveit_plugins' contains non standard content. Use the content of the following file instead: /home/lucifer/catkin_ws/build/catkin_generated/metapackages/moveit_plugins/CMakeLists.txt
-- ~~ - moveit_ros (metapackage)
WARNING: The CMakeLists.txt of the metapackage 'moveit_ros' contains non standard content. Use the content of the following file instead: /home/lucifer/catkin_ws/build/catkin_generated/metapackages/moveit_ros/CMakeLists.txt
-- ~~ - moveit_runtime (metapackage)
WARNING: The CMakeLists.txt of the metapackage 'moveit_runtime' contains non standard content. Use the content of the following file instead: /home/lucifer/catkin_ws/build/catkin_generated/metapackages/moveit_runtime/CMakeLists.txt
-- ~~ - panda_moveit_config
-- ~~ - geometric_shapes
-- ~~ - beginner_tutorials
-- ~~ - moveit_msgs
-- ~~ - moveit_commander
-- ~~ - rviz_visual_tools
-- ~~ - moveit_core
-- ~~ - chomp_motion_planner
-- ~~ - moveit_chomp_optimizer_adapter
-- ~~ - moveit_ros_occupancy_map_monitor
-- ~~ - moveit_ros_perception
-- ~~ - moveit_ros_planning
-- ~~ - moveit_fake_controller_manager
-- ~~ - moveit_kinematics
-- ~~ - moveit_planners_ompl
-- ~~ - moveit_ros_move_group
-- ~~ - moveit_ros_manipulation
-- ~~ - moveit_ros_robot_interaction
-- ~~ - moveit_simple_controller_manager
-- ~~ - moveit_ros_control_interface
-- ~~ - moveit_visual_tools
-- ~~ - moveit_ros_warehouse
-- ~~ - moveit_ros_benchmarks
-- ~~ - moveit_ros_planning_interface
-- ~~ - moveit_jog_arm
-- ~~ - moveit_planners_chomp
-- ~~ - moveit_ros_visualization
-- ~~ - moveit_setup_assistant
-- ~~ - moveit_tutorials
-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
CMake Error at /opt/ros/melodic/share/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/lucifer/catkin_ws/build/CMakeFiles/CMakeOutput.log".
See also "/home/lucifer/catkin_ws/build/CMakeFiles/CMakeError.log".
Makefile:2336: recipe for target 'cmake_check_build_system' failed
make: *** [cmake_check_build_system] Error 1
Invoking "make cmake_check_build_system" failed
Normally I'm the first to help with a quick comment or answer, but in this case I must ask: did you search for the error message?
I ask because searching with Google turns up around 35 results for me (including multiple answers) with the exact error message. See this query.
I've closed your question as a duplicate, as I believe it is.
If you cannot solve your problem with the answers to one of the duplicates, please post a comment here and we'll see whether we need to re-open this.
Note: closing your question does not mean I dismiss you're running into something you need help with, but we do expect posters here to at least tell us what they've already found and tried.
Yes, I checked this on google first. Though it said that i need to go with catkin build instead. As I have already build the packages with catkin_make using catkin build for my packages isn't possible. Please, help me out on how do I build using catkin build when I have used catkin_make at first.
Thank you.
i am also facing the same problem as i built my package using catkin_make but not by "catkin build".plz clarify how this problem can be eradicated. but the message on terminal suggests to use 'catkin_make_isolated'
You'll have to delete the
build
anddevel
folders which were built with regularcatkin_make
from your Catkin workspace (and anyinstall
folder if it's there).Then you can (re)build your workspace with
catkin_tools
.catkin_make_isolated didn't fix the issues for me. The problem is that moveit packages have manifests which are build using catkin build and not catkin make. The workspace consists of packages as well as manifests and thus building gets impossible. So, the fix here is to make a different workspace and install moveit packages there and build the second workspace. Make sure to add the source to your bashrc file. Delete all moveit packages from the first workspace and then use catkin make. It did the work for me.
while I'm happy for you you found a work-around, this statement does not really make sense.
Manifests are by default always contained in packages. So if there are packages in a workspace, those packages will contain manifests. It's impossible for manifests to just exist in isolation (ie: without being part of a package).
Thanks for the clarification. Actually, I saw a post which said moveit packages had manifest.xml due to which they were built using catkin build and not catkin make. However, my workspace had package.xml and thus catkin_make didn't make any error. And thus building a workspace having both manifest.xml and package.xml wasn't possible if catkin_make was used beforehand. Once again, thanks for the clarification. :D
What i meant by manifest is that, manifest.xml is used in rosbuild build system whereas package.xml is used in catkin.
Those warnings don't change anything here really.
The build fails with the error message reported by the OP, and which he also used as the title for the question.
The only solution is to use a build tool which is capable of building heterogeneous workspaces (ie: workspaces with both Catkin and non-Catkin packages).
That's exactly what all the Q&As which are shown by Google would also tell you.
There is another solution: Make your workspace homogeneous by fixing the metapackages wich are detected as non-catkin packages because of the wrong content of the CMakeLists.txt file.