In attempting to build a rosjava package with dependency on a custom msg which in turn has dependencies on other standard ROS messages (e.g. sensor_msgs
, std_msgs
etc), the build is seen to fail (~90% of the time) the first time a catkin build --this
command is run for the package. All subsequent builds will execute successfully.
The build failure reports the absence of the java binaries for the custom_msg package, which indeed seems to be the case (I can see that no binaries are generated for it in the devel/share/maven
space). However, the java binaries for its dependencies are generated (i.e. the standard ROS message) and seen in the folder stated above. Hence, I am not quite sure why the java binaries for the custom msg package are not generated.
Upon executing another catkin build, the java binaries are now generated for the custom msg package (probably because the java binaries for its dependencies already exist from the previous build operation) and the build executes successfully.
Note that I have cloned the source of standard ROS messages to my ROS workspace, in order to build the jars for these messages on the fly.
Another interesting item of note is that running the same operation on another system with similar specs shows a higher success rate (~90% success) on the first build but does occasionally fail (on the first build after a catkin clean
).