[ros-users] best practice for own but ROS-independant libraries

Ken Conley kwc at willowgarage.com
Wed Jan 12 10:01:48 UTC 2011


2011/1/12 Stéphane Magnenat <stephane.magnenat at mavt.ethz.ch>:
> Hello,
>
> It happens often that one has a ROS-independent library and a campanion
> ROS wrapper. Ideally, one would like a seamless integration of this
> library with ROS while still allowing people without ROS to compile the
> library. In your opinion, what is the best practice? Is it to have a
> library in its own repository and the ROS wrapper to fetch it locally,
> or should the library be in the ROS stack with a parallel build system
> for ROSless usage? The former is a bit complex but the later requires
> two build paths for the library, and obfuscates the build for people not
> using ROS.

The former is the more common practice in use and best understood.
While it is complex in forcing separation of the wrapper and the
library, it does have its benefits.  In particular, it decouples
versioning issues.  In a ROS package, you generally are trying to
track a ROS distribution version.  This may mean that you need to
decouple releases of the standalone library from the ROS package in
order to maintain compatibility.  The ROS package may track an older
version of the standalone library, for example.

In the long-term, we are moving towards making the ROS build system
smaller and closer to CMake proper so as to not have as much of a gap
between 'ROS' and 'ROSless' usage.  For ROS Diamondback, the 'ros'
package will be just be ~5 megabytes.  An install target would also
bring us much closer to this goal and is in the works for ROS E
Turtle.

HTH,
Ken

> Thank you, kind regards,
>
> Stéphane
>
> --
> Dr Stéphane Magnenat
> http://stephane.magnenat.net
> _______________________________________________
> ros-users mailing list
> ros-users at code.ros.org
> https://code.ros.org/mailman/listinfo/ros-users
>



More information about the ros-users mailing list