Home | Tutorials | Wiki | Issues
Ask Your Question

working with sources - gazebo 7, 8, sdformat4,4.4.0, sdf5?

asked 2017-11-06 09:27:56 -0500

mhallak gravatar image

Is there a document explaining how all this version<->feature works?

And also some explanation about the branches... I admit that I am losing my sanity trying to figure them out....

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted

answered 2017-11-06 09:35:15 -0500

updated 2017-11-06 10:05:19 -0500

This tutorial has a list with the version combination for dependencies.

In summary, these combinations should work:

  • gazebo7 + sdf4 + ign-math2 + ign-transport2
  • gazebo8 + sdf5 + ign-math3 + ign-transport3 + ign-msgs0

The list of dependencies for gazebo9 (i.e. current default branch) is not fixed yet, but these should work right now (and will certainly change before January 2018).

  • default + sdf5 + ign-math3 + ign-transport3 + ign-msgs0

You also mentioned features, and for that, I recommend you check the Changelog:

Addressing comments below

Ideally, users should be using released versions and shouldn't need to build from source. Building from source is recommended if:

  • You're in a hurry to use a feature which hasn't been released
  • You want to use a feature which for some reason is not present in released packages (this happens for example when it requires optional dependencies)
  • You want to make changes to the source code

It seems to me that you fit the first category, you want to use a feature which has been released with gazebo7 but hasn't been ported to gazebo8. Of course, building from source and figuring the branches out yourself is an option, but as you're seeing, custom branches can be tough to figure out. The ideal solution is to have the feature officially released so you don't need to build from source at all. As a user, the tools at your disposal are:

  • Ticket an issue at the relevant libraries asking for features to be ported, in your case, that would be sdformat and gazebo.
  • Make a pull request porting the changes yourself, so that it is reviewed and eventually officially released. This requires the same knowledge you'd need to use your own custom branches, with the advantage that you get maintainers to help you figure out if there are any issues, and the changes will benefit the whole community.

I hope this makes things clearer for you. In any case, I just made a pull request here porting sdf4 to sdf5. Once that's merged, we'll need a similar pull request porting gazebo7 to gazebo8. Finally, maintainers will need to make a minor/patch release of sdf5.X and gazebo8.X so you don't need to build from source at all.

edit flag offensive delete link more


Thank you for your answer.... What I don't figure out is the meaning of each of the branches and when they are supposed to be merged... There is no point for me to try to merge for example branch sdf4 into sdf5 while I am sure that I don't understand fully the code, while the odds are good that my merge will not make a lot of sense, if the owners of those branches plan to do it tomorrow morning.

mhallak gravatar imagemhallak ( 2017-11-06 09:44:36 -0500 )edit

I addressed this comment on the answer above, and made a PR porting sdf4 to sdf5.

chapulina gravatar imagechapulina ( 2017-11-06 10:06:12 -0500 )edit
Login/Signup to Answer

Question Tools

1 follower


Asked: 2017-11-06 09:27:56 -0500

Seen: 57 times

Last updated: Nov 06 '17