Re: [ros-users] REP 116 pluginlib extension

Top Page
Attachments:
Message as email
+ (text/plain)
Delete this message
Reply to this message
Author: User discussions
Date:  
To: User discussions
Subject: Re: [ros-users] REP 116 pluginlib extension
>>> 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