[ros-users] Alternative package dependencies

Dirk Thomas mail at dirk-thomas.net
Tue Nov 22 16:49:39 UTC 2011

>     The point is it might not be possible to install one of the dependencies on some platforms.
>     I.e. when building the ROS GUI we need either PyQt with SIP or PySide with Shiboken.
>     But on "older" Ubuntu versions (before natty?) Shiboken bindings will not compile correctly.
>     So specifying both may lead to errors on some platforms and it would not be clear to the user that those can be ignored in this special case.
> rosdep.yaml files can specify different packages for different operating system versions.  Seems like you could use that to declare a "python-qt-binding" rosdep which installs PyQt on pre-natty Ubuntu
> and PySide on Natty and beyond.

The PySide/Shiboken version available for pre-natty is severely broken.
We had several cases where perfectly valid code was not processed correctly and e.g. led to compile errors.
So, for pre-natty there is no alternative - the user must use PyQt for ROS GUI to work.

So the open questions is - should we:
- either specify no dependencies for several rosgui packages
   (Then the user needs to make sure that at least one of the necessary dependencies is installed, e.g. by calling "rosdep install" on some meta-packages, else an error message can give a hint what 
needs to be done)
- or specify multiple dependencies for several rosgui packages
   (Then the user ends up with redundant packages installed (not such a big deal?) and if one of the dependencies/packages might be unable to compile, the result may still work as the package can fall 
back on a second dependency [very opaque behavior])

What do you think is the "better" behavior for end-users?


More information about the ros-users mailing list