-
Notifications
You must be signed in to change notification settings - Fork 76
Dependencies on fcl->octomap #299
Comments
We certainly need the kinetic-devel branch of MoveIt! to work with the version of FCL and octomap included in ROS Kinetic. I do not think many of us have spent much time working with Kinetic yet but keep us updated if you figure out the necessary fixes. Thanks for reporting! |
FCL isn't included in ROS Kinetic, at least not yet. But it takes their newest version to work with octomap 1.8 which is in Kinetic. The problem does seem to be that all of FCL's constructors and function calls now require c++11 things instead of the boost things that currently exist in moveit collision_detection_fcl |
Which version of FCL are you talking about? And that one works fine even with indigo-devel over here. |
I'm referring to their latest commit, after they merged in the code to be compatible with octomap 1.8. Link to the PR above. |
To me it makes no sense to start supporting "kinetic" by depending
on a git revision of fcl. As it stands now libfcl 0.3.2 is provided in xenial
and osrf already packaged octomap 1.8 in kinetic, so osrf will have to
package a current version of fcl on their mirrors in kinetic.
I think it's a good idea to ask the fcl maintainers to release 0.4.1
that officially supports octomap 1.8 and allow osrf to package a released version,
before we make/merge changes that might or might not work with "kinetic's fcl".
@tfoote: what's your stance on releasing an octomap-1.8 compatible libfcl into kinetic?
|
octomap is released by @ahornung from what I see it does not depend on fcl: https://github.com/OctoMap/octomap/blob/devel/octomap/package.xml fcl just needed to be compatible with the same build flags. In general our policy is to use upstream versions by default. There is already a rosdep rule: https://github.com/ros/rosdistro/blob/master/rosdep/base.yaml#L1433-L1436 0.3.* is available on wily, xenial, and jessie: @scpeters you added the libfcl-dev rule to rosdep. Do you know if it's in use yet? |
Yes, |
I could add, though, that |
just a note - i do not think anyone is using the kinetic-devel branch yet that @scpeteres created, because its 34 commits behind indigo, so no one has tested the new fcl dependency yet. |
@tfoote: sorry, you got it the wrong way around. Because moveit_core in kinetic would use xenial's libfcl This definitely blocks a moveit_core release in kinetic. |
@v4hn Thanks, that is exactly what I had found, but couldn't describe nearly that well. |
I'll add briefly that xenial has octomap 1.6.8. I don't know why the Ubuntu version of cc: @j-rivero |
Speaking from the point of view of the maintainer of fcl, we can add optional support at any time if we have a good reason to do it. Current Debian testing, Debian unstable and Ubuntu Yakkety are using 1.8 octomap. |
@j-rivero: Well, if you ever want to see moveit_core using debian's libfcl package,
we will need octomap support in there. I suppose this is "a good reason"?
Also I just opened the referenced issue in the fcl project and asked for a new release
we could push into kinetic.
|
Removing bundles from other libraries and share them from a system installation looks like a good reason to me. I will change the Debian Sid package and the change will be propagated to Ubuntu (Yaketty). |
I was not using the kinetic branch of Core, as it was many commits behind, but are you sure it is using octomap 1.8? |
I had to sync indigo into kinetic - will push the changes after #300 is merged Yes, octomap 1.8 as that is what has been released in kinetic |
You seem to be right. It actually compiles successfully, The trouble is, collision_detection_fcl makes use I'm not sure whether moveit_core could run with this The trouble is that we can't release moveit_core in kinetic unless |
Sounds like a question for @j-rivero |
Without looking very deeply into the problem, I mostly agree with @v4hn diagnostic. It could be the case that things are working now thanks to a bug. We should fix the bug and get the correct chain of dependencies (avoiding bundles) in place. If moveit_core does not need to know anything about octomap and only cares about fcl then the proposed solution looks good to me. |
On Tue, Jun 28, 2016 at 07:08:53AM -0700, Jose Luis Rivero wrote:
As far as I can see, this would mean that we have to wait for a new fcl release,
I'm not sure I understand what you mean. |
Is there anything needed in OctoMap to ease transition or is this simply a matter of depending on the right version (ROS release vs. debian release)? Are you actually using parts of the OctoMap API that changed in 1.8? Otherwise there shouldn't be a problem using the new version besides the different ABI. |
If look for a short-term solution (something that affects releases previous to Yaketty) then yes, we should find a custom solution within the scope of the ROS repos.
The dependency chain should be something like: |
I also was able to get the kinetic-devel branch to build (except warehouse but that's a different problem) from @davetcoleman 's fork. However, I don't see how it can possibly work as intended. libfcl-dev (0.3.2-1) is released into Xenial, and (I believe) that version has function calls to octomap that don't exist in octomap 1.8. It seems like you either have to have a version of fcl that has the octomap 1.8 fixes but not the purging of Boost, or you have to support the new c++11 fcl calls in moveit_core. Obviously you guys are way out in front of me on this, so probably I'm just missing something? Also I thought the dependency chain more like: |
On Thu, Jun 30, 2016 at 03:25:48AM -0700, Armin Hornung wrote:
I don't think so. Octomap 1.8 is not an issue at all here.
As moveit can be compiled successfully, there doesn't seem to be a problem there. |
On Thu, Jun 30, 2016 at 04:18:19AM -0700, Jose Luis Rivero wrote:
Ok.
|
On Thu, Jun 30, 2016 at 07:28:41AM -0700, anderwm wrote:
The debian package libfcl-dev currently does not have any function calls to octomap
We will probably wait for the next FCL release, that will include the octomap 1.8 fixes |
@jslee02, Do we have any plans to get a new FCL release sometime soon? BTW, we are in a good time to get new releases into Debian so Ubuntu Yaketty can sync during the standard syncing period. |
I don't know if any of other maintainers have plans, but I wouldn't have any objection on releasing FCL 0.5. Also, I can help the release if there is something I can do. |
Earlier in this thread I stated that MoveIt! builds fine with the current misconfiguration of FCL & Octomap dependencies in Kinetic. I had only been testing that MoveIt builds and passes the tests, but there is very little test coverage in MoveIt! right now. Turns out I am getting runtime errors as well, as pointed out by @anderwm @jslee02 that would be really great if you could take the lead on releasing FCL, see flexible-collision-library/fcl#137 |
@jslee02 has just released FCL 0.5 - I am assuming this is what we want to target in Kinetic then since it includes Octomap 1.8 support? |
@davetcoleman: yes. We need the new version with octomap 1.8 support enabled available in kinetic. @tfoote How do we proceed to get the freshly released libfcl 0.5 in kinetic? We need it for |
This is now released and should be good to go |
Not sure if there is any motivation to have this package on Kinetic. However, core doesn't seem to compile with the newest version of fcl, which is needed to support the newer version of octomap (1.8), which is required in kinetic. On first glance it looks like fcl has moved from boost to c++ 11.
flexible-collision-library/fcl#129
http://wiki.ros.org/kinetic/Migration
It's also possible I'm not doing something right.
The text was updated successfully, but these errors were encountered: