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

Jenkins build error on documentation

asked 2014-02-28 02:27:43 -0600

Pi Robot gravatar image

Hello,

I have a meta package called ros_arduino_bridge which I have indexed for documentation for ROS Electric, Fuerte, Groovy and Hydro. Every once in awhile I receive an error report from Jenkins that looks like the report on this page/message_generation_failure_class/message_generation_failureErrorOrFailure/) and I reproduce below:

Stacktrace

Failed to generate messages by calling cmake for ['catkin_workspace for repository'].
Look in the console for cmake failures, search for "CMake Error"

Also, are you sure that the rosinstall files are pulling from the right branch for hydro? Check the repos below,
you can update information the ros_arduino_bridge.rosinstall and ros_arduino_bridge-depends.rosinstall files by submitting a pull request at
https://github.com/ros/rosdistro/hydro

Documentation rosinstall:
- git:
    local-name: ros_arduino_bridge
    uri: https://github.com/hbrobotics/ros_arduino_bridge.git
    version: hydro-devel


Depends rosinstall:
[]

In my fork of rosdistro I have the following entry in the distribution.yaml file for hydro:

ros_arduino_bridge:
  doc:
    type: git
    url: https://github.com/hbrobotics/ros_arduino_bridge.git
    version: hydro-devel

So I'm not sure what the problem is. Can anybody help?

Thanks!
patrick

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
2

answered 2014-02-28 05:42:58 -0600

Dirk Thomas gravatar image

The fast answer first: because your package.xml file lacks the necessary build dependencies.

If you go to the console output of the job ( http://jenkins.ros.org/job/doc-hydro-... ) and search for the "CMake Error" you will find the following error message:

CMake Error at /opt/ros/hydro/share/catkin_basic/cmake/catkin_basicConfig.cmake:67 (add_message_files):
  Unknown CMake command "add_message_files".

This is because genmsg (which you find_package() in order to generate messages) is not declared as a build dependency in your package.xml. The buildfarm will therefore not install it for your doc job (which does some weird optimization of yuor CMakeLists file to avoid a lot of compilation). Anyway your release build would fail for the same reason - probably with a better error message.

You need to at least add the following to your package.xml:

<build_depend>genmsg</build_depend>

But there is more stuff missing in your package.xml and CMakeLists.txt. You should follow the tutorials / documentation on how to write a package which contains messages and correctly export these information for other packages to use your messages: http://docs.ros.org/api/catkin/html/h... E.g. the usage of genmsg is discouraged - use message_generation instead.

edit flag offensive delete link more

Comments

Thank you Dirk. Someone else actually did the initial catkinization of the ros_arduino_bridge package, but that is no excuse. :-) I should be able to clean it up based on your suggestions.

Pi Robot gravatar image Pi Robot  ( 2014-02-28 07:44:40 -0600 )edit

After incorporating your suggested changes, the documentation builds without error now on Jenkins. Thanks again.

Pi Robot gravatar image Pi Robot  ( 2014-03-02 02:37:16 -0600 )edit

Question Tools

1 follower

Stats

Asked: 2014-02-28 02:27:43 -0600

Seen: 605 times

Last updated: Feb 28 '14