[ros-users] REP 116 pluginlib extension

Dirk Thomas mail at dirk-thomas.net
Thu Nov 24 20:29:39 UTC 2011


>>> I have one question regarding the version numbers:
>>> How can I check in my code (at compile time) which pluginlib version is
>>> available and conditionally use the new functionality?
>>
>> It looks like that this is not yet possible or have I missed something
>> obvious?
>>
>> The CMake macro "rosbuild_make_distribution" does nothing and the pluginlib
>> does not specific any version number in C++ code.
>> Using the ROS version is no alternative since
>> a) a program does not (necessarily) depend on roscpp and
>> b) both packages (roscpp and pluginlib) does not need to be updated at the
>> same time - so the ROS version is not related to the pluginlib version.
>>
>> Since many parts of ROS are currently refactored into separately usable
>> libraries I would propose that each of them should specify the version
>> number in a form that makes it available for compile time conditional
>> checks.
>>
>
> Yes.  Going further, I'd suggest that the checks not stop at compile
> time:   sonames on shared libraries and perhaps an ABI compatibility
> checking mechanism a-la
> http://people.willowgarage.com/straszheim/bydate/110816.abi_compatibility.html
> would be good to integrate.

I think both features would be great to implement as they are somehow orthogonal.

An ABI version alone would not be sufficient, since it might be necessary to distinguish the feature set of two versions A and B - even if they are ABI compatible / having the same ABI version.

Dirk



More information about the ros-users mailing list