Troubleshooting: Rosbuild to Catkin migration

Migrating from Rosbuild to Catkin can be accomplished using the ros-industrial catkinize script as described in Quickly migrating from Rosbuild to Catkin. Although this script attempts to replace rosbuild commands with catkin ones, some errors arise when compiling using the catkin_make command.

Update messages and services

  • If your package includes messages, update the add_msg_files(...) and generate_messages(...) commands in the CMakeLists.txt files. Make sure that the associated package.xml file also contains the messages. Also ensure that the message_generation package is included in your find_package(...) call in the CMakeLists.txt file.
  • If your package includes services, update the add_service_files(...) command in the CMakeLists.txt file.

Update maintainers, dependencies and libraries

  • Ensure that all maintainers in the package.xml file have a valid email address.
  • Install any missing package dependencies.
  • Ensure that you first call add_executable(...) then target_link_libraries(...) in the CMakeLists.txt file.
  • Make sure the catkin path can be found by adding include_directories(include ${catkin_INCLUDE_DIRS}) to the CMakeLists.txt file.
  • Make sure the catkin libraries can be found by adding target_link_libraries(${catkin_LIBRARIES}) to the CMakeLists.txt file.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

w

Connecting to %s