Ask Your Question
1

How to make only one package,not all packages ?

asked 2013-07-11 21:05:07 -0500

li-an gravatar image

My OS is ubuntu 12.10 64bit and using ROS groovy.

I only want to compile output_h_w package,but it will compile other packages in catkin workspace together. Output_h_w is my own package. I have some package with problems in my catkin workspace. Therefore, I don't want them to be compiled together, only compile Output_h_w package and skip others.

My Commond:catkin_make --pkg output_h_w

I get the same result when using catkin_make.

When I use catkin_make --pkg,I get the following message:

lian@lian:~/code/ros_groovy$ catkin_make --pkg output_h_w
Base path: /home/lian/code/ros_groovy
Source space: /home/lian/code/ros_groovy/src
Build space: /home/lian/code/ros_groovy/build
Devel space: /home/lian/code/ros_groovy/devel
Install space: /home/lian/code/ros_groovy/install
####
#### Running command: "make cmake_check_build_system" in "/home/lian/code/ros_groovy/build"
####
-- Using CATKIN_DEVEL_PREFIX: /home/lian/code/ros_groovy/devel
-- Using CMAKE_PREFIX_PATH: /home/lian/code/ros_groovy/devel;/opt/ros/groovy
-- This workspace overlays: /home/lian/code/ros_groovy/devel;/opt/ros/groovy
-- Found gtest sources under '/usr/src/gtest': gtests will be built
-- Using CATKIN_TEST_RESULTS_DIR: /home/lian/code/ros_groovy/build/test_results
-- catkin 0.5.65
-- BUILD_SHARED_LIBS is on
-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-- ~~  traversing 3 packages in topological order:
-- ~~  - output_h_w
-- ~~  - pr2_moveit_generated
-- ~~  - sam_move_head_down
-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-- +++ processing catkin package: 'output_h_w'
-- ==> add_subdirectory(output_h_w)
-- +++ processing catkin package: 'pr2_moveit_generated'
-- ==> add_subdirectory(pr2_moveit_generated)
-- +++ processing catkin package: 'sam_move_head_down'
-- ==> add_subdirectory(sam_move_head_down)
CMake Error at /opt/ros/groovy/share/catkin/cmake/catkinConfig.cmake:72 (find_package):
  Could not find a package configuration file provided by
  "pr2_controllers_msgs" with any of the following names:

    pr2_controllers_msgsConfig.cmake
    pr2_controllers_msgs-config.cmake

  Add the installation prefix of "pr2_controllers_msgs" to CMAKE_PREFIX_PATH
  or set "pr2_controllers_msgs_DIR" to a directory containing one of the
  above files.  If "pr2_controllers_msgs" provides a separate development
  package or SDK, be sure it has been installed.
Call Stack (most recent call first):
  sam_move_head_down/CMakeLists.txt:7 (find_package)

-- Configuring incomplete, errors occurred!
make: *** [cmake_check_build_system] Error 1
Invoking "make cmake_check_build_system" failed

When I use catkin_make,I get the following message:

lian@lian:~/code/ros_groovy$ catkin_make 
Base path: /home/lian/code/ros_groovy
Source space: /home/lian/code/ros_groovy/src
Build space: /home/lian/code/ros_groovy/build
Devel space: /home/lian/code/ros_groovy/devel
Install space: /home/lian/code/ros_groovy/install
####
#### Running command: "make cmake_check_build_system" in "/home/lian/code/ros_groovy/build"
####
-- Using CATKIN_DEVEL_PREFIX: /home/lian/code/ros_groovy/devel
-- Using CMAKE_PREFIX_PATH: /home/lian/code/ros_groovy/devel;/opt/ros/groovy
-- This workspace overlays: /home/lian/code/ros_groovy/devel;/opt/ros/groovy
-- Found gtest sources under '/usr/src/gtest': gtests will be built
-- Using CATKIN_TEST_RESULTS_DIR: /home/lian/code/ros_groovy/build/test_results
-- catkin 0.5.65
-- BUILD_SHARED_LIBS is on
-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-- ~~  traversing 3 packages in topological order:
-- ~~  - output_h_w
-- ~~  - pr2_moveit_generated
-- ~~  - sam_move_head_down
-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-- +++ processing catkin package: 'output_h_w'
-- ==> add_subdirectory(output_h_w)
-- +++ processing catkin package: 'pr2_moveit_generated'
-- ==> add_subdirectory(pr2_moveit_generated)
-- +++ processing catkin package: 'sam_move_head_down'
-- ==> add_subdirectory(sam_move_head_down)
CMake Error at /opt/ros/groovy/share/catkin/cmake/catkinConfig.cmake:72 (find_package):
  Could not find a package configuration file provided by
  "pr2_controllers_msgs" with any of the following names:

    pr2_controllers_msgsConfig.cmake
    pr2_controllers_msgs-config.cmake

  Add the installation prefix of "pr2_controllers_msgs" to CMAKE_PREFIX_PATH
  or set "pr2_controllers_msgs_DIR" to a directory containing one of the
  above files.  If "pr2_controllers_msgs ...
(more)
edit retag flag offensive close merge delete

Comments

Also, please stop opening duplicate questions.

William gravatar image William  ( 2013-07-11 21:24:44 -0500 )edit

1 Answer

Sort by ยป oldest newest most voted
4

answered 2013-07-11 21:17:44 -0500

William gravatar image

With catkin_make all of the packages in a workspace are built with a single cmake and make invocation. The --pkg option will run make on the package specified, but it must run cmake on all of the packages, that is why you are getting the same error even with the --pkg option. If you don't want particular packages (packages with known problems) to be processed then you can delete them from the workspace or add a CATKIN_IGNORE file in the package's directory.

If you want a little more control over which packages get built when, then you can also try catkin_make_isolated which is capable of running cmake and make for only one package at a time.

edit flag offensive delete link more

Comments

1

Also, consider making a separate workspace for your own packages that overlays the system versions.

joq gravatar image joq  ( 2013-07-12 05:38:41 -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

Stats

Asked: 2013-07-11 21:05:07 -0500

Seen: 2,721 times

Last updated: Jul 11 '13