Ask Your Question
0

ackermann_vehicle_description does not contain the URDF file [closed]

asked 2015-07-28 01:22:53 -0500

Jim Rothrock gravatar image

updated 2015-07-28 01:51:16 -0500

gvdhoorn gravatar image

I distributed the ros-indigo-ackermann-vehicle, ros-indigo-ackermann-vehicle-description, and ros-indigo-ackermann-vehicle-gazebo Ubuntu packages months ago. It's been brought to my attention that when these packages are installed, most of their files are missing. For example, /opt/ros/indigo/share/ackermann_vehicle_description contains only package.xml and a cmake directory. I think that distribution of ackermann_vehicle as Ubuntu packages used to work. Here is a link to my ackermann_vehicle and ackermann_vehicle-release Git repositories: https://github.com/wunderkammer-labor... . I'd appreciate it if someone could let me know why correct Ubuntu packages are not being built.

edit retag flag offensive reopen merge delete

Closed for the following reason the question is answered, right answer was accepted by Jim Rothrock
close date 2015-08-24 17:55:54.608522

1 Answer

Sort by » oldest newest most voted
0

answered 2015-07-28 01:32:21 -0500

gvdhoorn gravatar image

updated 2015-07-28 01:53:01 -0500

Looking at the CMakeLists.txt of ackerman_vehicle_description, there seem to be no install(..) rules. Without those, no files will be, well, installed.

For ackerman_vehicle_description, something like:

install(DIRECTORY launch urdf
  DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION})

should do.

See catkin 0.6.14 documentation » How to do common tasks » Building and installing targets for more information (and examples) of how to do this.

I think that distribution of ackermann_vehicle as Ubuntu packages used to work

Looking at the history of the CMakeLists.txt in ackerman_vehicle_description that seems unlikely, as there has only ever been one version of that file, and it never contained the required install(..) statements.


Edit: I'd also suggest adding the architecture_independent tag to the export section of your package.xml, as ackerman_vehicle_description does not contain any artefacts that will need to be rebuild for different processor architectures (ie: x86 vs x64, etc). That saves the buildfarm some effort, and results in your packages becoming available sooner. Just add the following to the end of your manifest:

<export>
  <architecture_independent />
</export>
edit flag offensive delete link more

Comments

Looking at the history of the CMakeLists.txt in ackerman_vehicle_description that seems unlikely

I think what has been happening is that users have been forking the Github repository, so I've never noticed the CMakeLists.txt problem.

Jim Rothrock gravatar image Jim Rothrock  ( 2015-08-05 11:19:39 -0500 )edit

I'd also suggest adding the architecture_independent tag to the export

Only the metapackage package.xml doesn't have such a tag. I didn't think it was intended for metapackages, but http://www.ros.org/reps/rep-0140.html... says otherwise. I'll add the tag.

Jim Rothrock gravatar image Jim Rothrock  ( 2015-08-05 11:41:32 -0500 )edit

Only the metapackage package.xml doesn't have such a tag.

I think I looked at the repository at the time of the last commit to CMakeLists.txt. There it doesn't have an export section. But you're right, it is there now.

gvdhoorn gravatar image gvdhoorn  ( 2015-08-05 12:04:44 -0500 )edit

Question Tools

2 followers

Stats

Asked: 2015-07-28 01:22:53 -0500

Seen: 102 times

Last updated: Jul 28 '15