Ask Your Question
0

Rviz PluginlibFactory load wrong path

asked 2021-02-19 02:18:38 -0500

achmad_fathoni gravatar image

updated 2021-02-19 02:19:57 -0500

I try to run google cartographer demo and get this follwoing error

[ERROR] [1613722041.399069111, 1588377398.223712458]: PluginlibFactory: The plugin for class 'Submaps' failed to load. Error: Failed to load library /opt/ros/noetic/lib//libcartographer_rviz.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 = /opt/ros/noetic/lib//libcartographer_rviz.so: undefined symbol: _ZN4absl16strings_internal9CatPiecesB5cxx11ESt16initializer_listINS_11string_viewEE)

Seem like the PluginlibFactory loads

/opt/ros/noetic/lib//libcartographer_rviz.so

instead of

/opt/ros/noetic/lib/libcartographer_rviz.so

This is should be trivial but I don't know where to apply the solution. This is the submap source code.

edit retag flag offensive close merge delete

Comments

The duplicated forward slash (ie: /) is not the problem.

The problem is the missing symbol: absl::strings_internal::CatPieces[abi:cxx11](std::initializer_list<absl::string_view>)).

gvdhoorn gravatar image gvdhoorn  ( 2021-02-19 02:38:07 -0500 )edit

Thank you, I've just realized that.

achmad_fathoni gravatar image achmad_fathoni  ( 2021-02-19 02:44:11 -0500 )edit

1 Answer

Sort by ยป oldest newest most voted
0

answered 2021-02-19 02:45:37 -0500

achmad_fathoni gravatar image

I just forget to compile the rviz plugin and its dependency (abseil-cpp) using same C++ standard. After compiling all of it using C++17 this problem is no longer exist.

edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

1 follower

Stats

Asked: 2021-02-19 02:18:38 -0500

Seen: 326 times

Last updated: Feb 19 '21