-
Notifications
You must be signed in to change notification settings - Fork 149
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
CHOMP fails to plan #241
Comments
MTC doesn't (yet) use threading. However, we migrated to qhull_r a while ago in moveit/geometric_shapes#149. So, please check, which library is actually used. Do you link any other lib using the non-reentrant version? |
I have the latest geometric_shapes package (noetic-devel -> c69948a).
Nope. Unless there is another package doing this by default. EDIT: I use the 0.7.2 TAG but I see that there is a 2.0.0 TAG (maybe used for ROS2) |
ldconfig -p | grep libqhull libqhull_r.so.7 (libc6,x86-64) => /lib/x86_64-linux-gnu/libqhull_r.so.7
libqhull_r.so (libc6,x86-64) => /lib/x86_64-linux-gnu/libqhull_r.so
libqhull.so.7 (libc6,x86-64) => /lib/x86_64-linux-gnu/libqhull.so.7
libqhull.so (libc6,x86-64) => /lib/x86_64-linux-gnu/libqhull.so I think the |
ldconfig -p | grep libqhull
``` sh
libqhull_r.so.7 (libc6,x86-64) => /lib/x86_64-linux-gnu/libqhull_r.so.7
libqhull_r.so (libc6,x86-64) => /lib/x86_64-linux-gnu/libqhull_r.so
libqhull.so.7 (libc6,x86-64) => /lib/x86_64-linux-gnu/libqhull.so.7
libqhull.so (libc6,x86-64) => /lib/x86_64-linux-gnu/libqhull.so
```
That looks really bad and you will have to recompile either of the culprits, changing the interfaces to the other version!
I believe PCL itself migrated to libqhull_r at some point as well.
If this is actually an issue with standard ROS-released packages, please file a separate bugreport in geometric_shapes.
|
Yup! Found the same thing! When ignoring the PCL package it works. I did a complete reinstall of my OS to Ubuntu 20.04, 3 weeks ago, so it should have picked the PCL from the ros-noetic package automatically.
Will do more testing and will do if I can replicate it. Thank you both for your help. |
@v4hn When adding sudo apt install ros-noetic-pcl-ros
The following NEW packages will be installed:
libqhull-dev libqhull-r7 libqhull7 This command installs the following libraries on the system: libqhull_r.so.7 (libc6,x86-64) => /lib/x86_64-linux-gnu/libqhull_r.so.7
libqhull_r.so (libc6,x86-64) => /lib/x86_64-linux-gnu/libqhull_r.so
libqhull.so.7 (libc6,x86-64) => /lib/x86_64-linux-gnu/libqhull.so.7
libqhull.so (libc6,x86-64) => /lib/x86_64-linux-gnu/libqhull.so So is this a bug in the release? Should it install only the If this is a bug should I still report it to the geometric_shapes or the pcl_ros? |
The problem is not that it installs these libraries - that might be fine, but it's probably a bug too - but linking them in the library you need for your node. If pcl_ros depends on both libraries, they should provide versions of their own libraries linking against one of them each. Otherwise their released library will be incompatible with geometric_shapes. There definitely should be no library in `pcl_ros` that links to both versions (not sure whether there is).
|
Both versions of |
PCL did not move to qhull_r yet, there is a PR here: PointCloudLibrary/pcl#4540. |
So that leaves you with the option to either build PCL and pcl_ros locally with the patch or revert moveit/geometric_shapes#149 and build geometric_shapes (and MoveIt on top of it) locally.
Beware we migrated geometric_shapes because of unresolved segfaults in geometric_shapes, so if you revert this you might find other difficult segfaults.
Lastly, of course, you can outsource your perception code into a separate node to invoke via ROS interfaces. That way the different library requirements do not matter.
Either way, this is no problem with MTC, so I will close it here.
|
It's interesting to note that the text "qhull" does not appear in |
I cannot plan with CHOMP through MTC:
This has something to do with
QHULL
library being compiled with reentrant vs non-reentrant https://github.com/qhull/qhull:Sorry if this error is not bound to MTC (CHOMP does work with MoveIt through the benchmark package). Should I compile the QHULL library in reentrant mode? I think MTC uses multiple threads for each Connect stage that why it fails when using CHOMP.
The text was updated successfully, but these errors were encountered: