0
$\begingroup$

I tried to build a packages type ros.catkin with colcon on Ubuntu22.04,ROS2 Humble.

$ colcon info
path: .
  type: ros.catkin
  name: rrt_exploration
  dependencies:
    build: catkin geometry_msgs message_generation nav_msgs roscpp rospy std_msgs tf visualization_msgs
    run: geometry_msgs message_runtime nav_msgs roscpp rospy std_msgs tf visualization_msgs
  metadata:
    maintainers: ['Hassan Umari <[email protected]>']
    version: 1.0.0

but,I get the following error.

    CMake Error at CMakeLists.txt:7 (find_package):
  By not providing "Findcatkin.cmake" in CMAKE_MODULE_PATH this project has
  asked CMake to find a package configuration file provided by "catkin", but
  CMake did not find one.

  Could not find a package configuration file provided by "catkin" with any
  of the following names:

    catkinConfig.cmake
    catkin-config.cmake

  Add the installation prefix of "catkin" to CMAKE_PREFIX_PATH or set
  "catkin_DIR" to a directory containing one of the above files.  If "catkin"
  provides a separate development package or SDK, be sure it has been
  installed.

I want colcon to be able to use catkin so I want to build this package. I tried referring to Why qtcreator cannot find catkin packages?[SOLVED], but it doesn't solve the problem. There is no "catkin" folder in /opt/ros/humble.

It was working fine when I did the ROS2 humbleenter link description here and tutorialbot3 tutorials(https://emanual.robotis.com/docs/en/platform/turtlebot3/simulation/#gazebo-simulation). Maybe becauce These packages include packages type:ros.cmake,ros.ament_cmake, but do not include packages type:ros.catkin.

$\endgroup$

1 Answer 1

0
$\begingroup$

catkin is the build system used in ROS 1 - ament replaces it in ROS 2. The package you are trying to build might have a different git branch, or different repo possibly, that is designed for ROS 2. It is also possible that this package just doesn't have a ROS 2 port (yet).

$\endgroup$
3
  • $\begingroup$ Thank you for your answer. I thought catkin is included colcon, but it seems I was wrong. $\endgroup$
    – mawa
    Commented Sep 26, 2023 at 18:15
  • $\begingroup$ I believe there are cases where you can have colcon build catkin (for instance if you are doing ROS 1 to bridge to ROS 2) - but catkin itself requires a ROS 1 installation, and is a sure sign that the package you are trying to build is targeted at ROS 1. $\endgroup$ Commented Sep 26, 2023 at 18:34
  • $\begingroup$ I see. So I will build this package on ROS1 ,or I look for package is designed for ROS2. $\endgroup$
    – mawa
    Commented Sep 26, 2023 at 18:57

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.