Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

rmw_get_topic_endpoint_info doesn't exist on Dashing #91

Merged
merged 2 commits into from
Jan 31, 2020

Conversation

eboasson
Copy link
Collaborator

... and this PR avoids trying to compile them on Dashing, similarly to how other RMW interface changes have been dealt with in the Cyclone DDS RMW layer so far.

Signed-off-by: Erik Boasson eb@ilities.com

Signed-off-by: Erik Boasson <eb@ilities.com>
@charvi-077
Copy link

I was also facing the same issue while building . Now its resolved, thanks @eboasson .

Copy link
Member

@ivanpauno ivanpauno left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Left a question about versioning.

@@ -12,6 +12,10 @@
// See the License for the specific language governing permissions and
// limitations under the License.

#include "rmw_cyclonedds_cpp/rmw_version_test.hpp"

#if RMW_VERSION_GTE(0, 8, 1)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The missing functions weren't part of release 0.8.1, so 0.8.1 shouldn't be included. The problem is that we usually bump the version when releasing and not when developing.

I see that Dashing is using master branch (1), while eloquent is using it's own branch (2). Why the incosistence?
If there weren't such inconsistency, including the new functions in 0.8.1 would be a problem.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok, I saw this comment about development versions ros2/rmw#188 (comment), and also this:
https://github.com/ros2/rmw/blob/a3774531e9b7289574501275aafbc3f93120360e/rmw/CMakeLists.txt#L66.

I'm not pretty sure about how it should be used, but I think that should be considered in this PR.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@ivanpauno, thanks for looking into it. The 0.8.1 comes straight from the Foxy build settings. I guess that one should have been bumped then.

Unless I am mistaken, I'm the one who asked for the rmw versioning stuff to work nicely so that I could have a single source for multiple versions without having to deal with backporting things. That used to be perfectly viable, but I have a feeling ros2/design#250 is going to happen, and that will be too big a change to handle with a bit of conditional compilation. Therefore, it seems multiple branches are likely to become unavoidable.

Since it turns out a branch had already been created for eloquent, I guess we now should retroactively give dashing a branch as well. Then this PR can simply be closed.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@ivanpauno, thanks for looking into it. The 0.8.1 comes straight from the Foxy build settings. I guess that one should have been bumped then.

mmm, it wasn't bumped. The eloquent version of rmw is indicating 0.8.1: https://github.com/ros2/rmw/blob/eloquent/rmw/package.xml.
I'm unsure how the versioning was supposed to be used.
@wjwwood @dirk-thomas can you clarify?

Unless I am mistaken, I'm the one who asked for the rmw versioning stuff to work nicely so that I could have a single source for multiple versions without having to deal with backporting things

Yes, that's true. I agree that mantaining similar versions from the same source is desired.

Since it turns out a branch had already been created for eloquent, I guess we now should retroactively give dashing a branch as well. Then this PR can simply be closed.

I guess that probably was an error, if it's easier to mantain eloquent and dashing from the same branch it would be reasonable to merge them again.

That used to be perfectly viable, but I have a feeling ros2/design#250 is going to happen, and that will be too big a change to handle with a bit of conditional compilation. Therefore, it seems multiple branches are likely to become unavoidable.

Yeah, I agree that after that change it will be easier to branch that to mantain all the versions from the same branch.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm unsure how the versioning was supposed to be used.

Whenever the API is broken in rmw it should declare that by bumping the dev version to the next upcoming version number: e.g. ros2/rmw@688e53a

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, we should have updated it when merging that. I forgot to do so. It's tricky to remember to do that when pull requests span releases, but we'll just have to be more diligent about it.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm working on a pull request to fix it.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the PR @wjwwood !
@eboasson it should be greater or equal than 0.8.2 then, LGTM with that update.

@dirk-thomas
Copy link
Member

@eboasson What is the status on this? It would be nice to get the Dashing builds passing again.

@eboasson
Copy link
Collaborator Author

In my understanding it requires me (or someone) to change the #if RMW_VERSION_GTE(0, 8, 1) to #if RMW_VERSION_GTE(0, 8, 2) and merge it. I've been buried a bit, I am afraid, and doing it now would be too risky ...

@dirk-thomas
Copy link
Member

While I understand the problem of having little time for many tasks I just want to point out that building Dashing from source using CycloneDDS has been broken since the other PR was merged 16 days ago. That does look bad for ADLINK as well as ROS 2 as a whole. So I would think it is in ADLINKs interest to address such a major regressions earlier than later. (More than two weeks sounds already way to long to me.)

Signed-off-by: Erik Boasson <eb@ilities.com>
@eboasson eboasson merged commit ee35a6c into ros2:master Jan 31, 2020
eboasson added a commit that referenced this pull request Mar 12, 2020
* rmw_get_topic_endpoint_info doesn't exist on Dashing

Signed-off-by: Erik Boasson <eb@ilities.com>

* get_topic_endpoint_info got added in RMW 0.8.2

Signed-off-by: Erik Boasson <eb@ilities.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants