-
Notifications
You must be signed in to change notification settings - Fork 948
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
compatibility to urdfdom < 0.4 #317
compatibility to urdfdom < 0.4 #317
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good to me except small requests
@@ -25,12 +25,12 @@ | |||
<build_depend>eigen_conversions</build_depend> | |||
<build_depend>eigen_stl_containers</build_depend> | |||
<build_depend>libfcl-dev</build_depend> | |||
<build_depend version_gte="0.5.1">geometric_shapes</build_depend> | |||
<build_depend version_gte="0.5.2">geometric_shapes</build_depend> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
can we just remove the version for geometric_shapes at this point?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why should we? This explicitly states our requirements.
Sure, by default, in Kinetic this requirement should be met. But what about people building from source? Where do they find the required version?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sure, but you could extend that argument to all of MoveIt's many dependencies - why do we need to explicitly specify it for this package? I thought the assumption is always if its missing an API call, get the latest version
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Indeed, I would argue to specify the exact version everywhere ;-)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ok, i concede. out of curiosity, does the version_gte
throw an error when building from source in a catkin workspace? that would be useful
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sadly it does not :(
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Unfortunately, catkin only throws a warning:
catkin_package() version mismatch: the package.xml of 'moveit_core'
build_depends on 'geometric_shapes >= 0.5.2', but 'geometric_shapes 0.5.1' found
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
well a warning is fine, too. i always fix warnings asap.
@@ -0,0 +1,78 @@ | |||
/********************************************************************* |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Does not seem like this belongs in the root folder of moveit_core
, how about moveit_core/macros/include/moveit/macros/
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This file is not a usual include, but it's a template to generate the actual include. Hence, it should reside together with the CMakeLists.txt.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I disagree based on other instances of these .h.in
files: moveit_resources, moveit_core, geometric_shapes - none have it in their root.
How about you put it in moveit_core/version
since this is related to having the wrong version of urdfdom in Wily? I just don't like having a header file in the root of a package. Or if you don't like, a .cmake/
folder?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
OK. I will put it into moveit_core/version.
find_package(urdfdom_headers 0.4 REQUIRED) | ||
find_package(urdfdom_headers REQUIRED) | ||
|
||
### Maintain compatibility to old urdfdom_headers (version < 4.0) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"Remove after Ubuntu Wily support has ended for Kinetic"
* POSSIBILITY OF SUCH DAMAGE. | ||
*********************************************************************/ | ||
|
||
/* Robert Haschke */ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"Remove after Ubuntu Wily support has ended for Kinetic"
Travis error in
|
I think, the whole commit 8a87c13 should be reverted after Wily support has ended. |
Sounds good to me - as usual creating an issue would be appropriate to track Wily support |
I can only think of testing this on Wily on virtual machine on this weekend at earliest, if that works. |
@130s does a prerelease test tell us if it builds on Wily? We'll need it to build on Xenial first through (Travis failed) |
@wjwwood suggested to apply this PR more upstream, in the |
What is the benefit in removing this "after Wily support is dropped in Kinetic"? Why not remove it in Lunar? If you remove this code (or the equivalent now that most of it will be moved to |
As of today I believe ROS prerelease test doesn't have an option to test PRs (it only tests merged commits from devel branch ros-infrastructure/prerelease_website#31).
+1 |
I finally fixed the travis issue. Running a prerelease test for Wily now. |
Let's try to support Jessie too. There's no need to keep compatibility with only one version of each system dependency. |
I'm sorry, but I have put the changes and it doesn't compile from sources in a Debian Jessie. I got:
Any idea? |
Sorry, I got an error. I comment the line:
because 'urdf_world/types.h doesn't exist in liburdfdom-headers-dev 0.3.0-1 that it's the version shipped in Debian Jessie. If I put that line it doesn't build on Jessie because that file is not shipped. Maybe it could be better to provide a backport of liburdfdom-headers-dev (and liburdf) for Jessie? |
I'm still working on those issues. I've got a wily-docker container to test... Latest commit looks promising in wily. Hopefully, it doesn't break xenial. |
It worked for me on Jessie. I'm having another issue, but it's a bout fcl. Thanks for work on this. |
Are you planning on still keeping the compatibility header in this PR, as well as ros/robot_model#160? |
To speedup Kinetic release, we could go with our own compatibility workaround for now. As soon as ros/robot_model#160 is released, I can file another PR reverting current changes and proposing simpler ones. |
I tested this in a Docker container, built successfully |
Similar patch as moveit/srdfdom#25 for MoveIt. Hopefully solves #18 (comment).
@130s Can you give it a try on Wily? I tested locally on Xenial with manually downgrading urdfdom to 0.3.