Home | Tutorials | Wiki | Issues
Ask Your Question

xacro dependency problem while installing gazebo_ros_pkgs on ROS Groovy

asked 2013-09-02 10:51:20 -0500

micpalmia gravatar image

I'm running ROS Groovy on Ubuntu 12.04, and I'm trying to install Gazebo 1.9 from sources, as explained in the online tutorial on the official wiki.

I can clone the repos (including ros_controllers) and update rosdep without problems, but when I get to

rosdep check --from-paths . --ignore-src --rosdistro hydro

I get the following error

ERROR[joint_trajectory_controller]: Cannot locate rosdep definition for [xacro]
    rosdep key : xacro
    OS name    : ubuntu
    OS version : precise
    Data: <no data>

Looking around for solutions, I found out here that the problem is probably that xacro is a dry (rosbuild) package and so it cannot be referenced from a catkin package.

If I ignore the error and go on, after a catkin_make I get

Set xacro_DIR to the directory containing a CMake configuration file for xacro. 
The file will have one of the following names:


Can you suggest any way of dealing with this problem?

edit retag flag offensive close merge delete

3 Answers

Sort by » oldest newest most voted

answered 2013-09-03 23:59:27 -0500

hsu gravatar image

Try the groovy-devel branch, it's currently the same as hydro-devel but without gazebo_ros_control.

git clone -b groovy-devel https://github.com/ros-simulation/gazebo_ros_pkgs.git

Alternatively, try checking out a copy of xacro in your catkin workspace.

edit flag offensive delete link more


gazeboroscontrol is slated for release in hydro, so @hsu's suggestion is a good one. If you are still interested in giving the hydro stuff, use a recent version of rosdep to resolve missing dependencies.

Adolfo Rodríguez T gravatar imageAdolfo Rodríguez T ( 2013-09-04 02:54:06 -0500 )edit

I first removed the references to xacro to build anyway, today I removed the package and downloaded it again using your solution and it worked. Thanks!

micpalmia gravatar imagemicpalmia ( 2013-09-04 09:10:34 -0500 )edit

answered 2013-09-04 06:55:20 -0500

fritz gravatar image

Hey guys..

I faced the same problems and solved them by installing following two packages: 1: first change to following folder: cd ~/catkinws/src then: git clone https://github.com/ros/cmakemodules.git

2: to fix the xacro issue: git clone https://github.com/ros/xacro

If you face another problem i.e. with the addrostestgtest command, the following link might be very helpful ;)


edit flag offensive delete link more


Thank you for the suggestions! I think the solution by @hsu might actually be a bit cleaner, though!

micpalmia gravatar imagemicpalmia ( 2013-09-04 08:37:46 -0500 )edit

I have the same xacro problem. I tried to fix the xacro issue using the code, but it just cannot work. xacro was successfully installed, but the xacro problems continues. And if I reinstall it it will say that xacro already is there. Can you suggest any solution to this problem?

Alex Y. gravatar imageAlex Y. ( 2013-09-09 18:24:05 -0500 )edit

answered 2013-09-03 23:12:09 -0500

philglau gravatar image

updated 2013-09-05 20:27:50 -0500

Getting same exact problem trying to compile for Groovy on Unbuntu 12.04

If I ignore the ERROR[jointtrajectorycontroller]: Cannot locate rosdep definition for [xacro]

and try to compile anyways via:

cd ~/catkin_ws/

I get all sorts of failure errors including: can't find package pcl_conversions; can't find module FindTinyXML; can't find configuration file for package cmake_modules, etc.


I manually installed the dependencies as suggested below and then compiled the groovy-devel version as suggested above. Everything seems to have compiled correctly

edit flag offensive delete link more


I just made the cmake_modules dependency explicit, which is wasn't. Concerning the rosdep failures, could you post the output of rosdep --version?. The current version (0.10.21) successfully resolves all dependencies. Older versions (at least 0.10.14) fail with errors like the ones you mention. You can check if the rosdep database contains a given package by running rosdep db | grep package_name.

Adolfo Rodríguez T gravatar imageAdolfo Rodríguez T ( 2013-09-04 03:56:24 -0500 )edit

Hi philglau, try installing missing dependencies by hand, e.g. sudo apt-get install ros-groovy-pcl_conversions

psei gravatar imagepsei ( 2013-09-05 09:17:50 -0500 )edit
Login/Signup to Answer

Question Tools


Asked: 2013-09-02 10:51:20 -0500

Seen: 1,239 times

Last updated: Sep 05 '13