0
$\begingroup$

Rosanswers logo

Hi all !

Recently I have been trying other's global planner plug-ins, and I came across this global planner plugin (https://github.com/windelbouwman/move-base-ompl.git) and keep running into this problem like the following:

[FATAL] [1453693784.973444827, 729.192000000]: Failed to create the ompl_global_planner/OmplGlobalPlanner planner, are you sure it is properly registered and that the containing library is built? Exception: Failed to load library /home/iceira/indigo_ws/devel/lib//libompl_global_planner_lib.so. Make sure that you are calling the PLUGINLIB_EXPORT_CLASS macro in the library code, and that names are consistent between this macro and your XML. Error string: Could not load library (Poco exception = /home/iceira/indigo_ws/devel/lib//libompl_global_planner_lib.so: undefined symbol: _ZNK4ompl4base21OptimizationObjective11isSatisfiedENS0_4CostE)

What should I do? How do I debug it ?


Originally posted by Megacephalo on ROS Answers with karma: 106 on 2016-01-24

Post score: 0


Original comments

Comment by Megacephalo on 2016-01-29:
So I tried again. I checked through all necessary files for plugin, still no avail. Then I tried

c++filt _ZNK4ompl4base21OptimizationObjective11isSatisfiedENS0_4CostE

and the demangled message reads:

ompl::base::OptimizationObjective::isSatisfied(ompl::base::Cost) const

$\endgroup$

1 Answer 1

0
$\begingroup$

Rosanswers logo

This error means that (at least) one method couldn't be found by the linker when loading the global planner library. Given that the method that couldn't be found is from the OMPL namespace, I'm guessing that it's somewhere in the OMPL libraries.

From looking at the CMakeLists.txt in that package, I see that the library is compiled against OMPL, but isn't linked with the OMPL libraries; that's probably why it can't find OMPL.

You should link the global planner library that you're trying to build against OMPL:

target_link_libraries(ompl_global_planner_lib ${OMPL_LIBRARIES}) 

Originally posted by ahendrix with karma: 47576 on 2016-01-30

This answer was ACCEPTED on the original site

Post score: 1


Original comments

Comment by Megacephalo on 2016-02-15:
Oh my gosh! It works ! that is easy ...after you pointed out !! Thank you so much, ahendrix !

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.