libsimExtROS2Interface builds but doesn't load

Typically: "How do I... ", "How can I... " questions
Post Reply
pinecone
Posts: 3
Joined: 10 Mar 2019, 05:32

libsimExtROS2Interface builds but doesn't load

Post by pinecone »

I can't get the libsimExtROS2Interface.so library to load. Some information
about my system:

Code: Select all

kernel: 5.4.0-37-generic
OS: Ubuntu 20.04 LTS
CoppeliaSim Version: 4.0.0
ROS2 Version: foxy
I have compiled libsimExtROS2Interface.so for ROS2 foxy. I'm working from the latest commit (2d96e6e397041cdebc47919f8c27cc683f92a8b4), which says is compatible with ROS2 foxy. To compile the library, I had to replace

Code: Select all

/opt/CoppeliaSim_Edu_V4_0_0_Ubuntu18_04/programming/libPlugin/*
/opt/CoppeliaSim_Edu_V4_0_0_Ubuntu18_04/programming/include/*
with the latest versions tracked in your git repos. When I try to run CoppeliaSIm with the ROS2Interface .so file placed into
/opt/CoppeliaSim_Edu_V4_0_0_Ubuntu18_04/

I get the following error:

Error with plugin 'ROS2Interface': load failed (could not load). The plugin probably couldn't load dependency libraries. For additional infos, modify the script 'libLoadErrorCheck.sh', run it and inspect the output.

The output from libLoadErrorCheck.sh is:

Code: Select all

  ./libLoadErrorCheck.sh        linux-vdso.so.1 (0x00007ffd30bef000)
        libstd_srvs__rosidl_typesupport_cpp.so =>
/opt/ros/foxy/lib/libstd_srvs__rosidl_typesupport_cpp.so
(0x00007f053c499000)
        libexample_interfaces__rosidl_typesupport_cpp.so =>
/opt/ros/foxy/lib/libexample_interfaces__rosidl_typesupport_cpp.so
(0x00007f053c486000)
        libimage_transport.so => /opt/ros/foxy/lib/libimage_transport.so
(0x00007f053c37a000)
        librclcpp.so => /opt/ros/foxy/lib/librclcpp.so (0x00007f053c1ae000)
        libsensor_msgs__rosidl_typesupport_cpp.so =>
/opt/ros/foxy/lib/libsensor_msgs__rosidl_typesupport_cpp.so
(0x00007f053c1a1000)
        librcutils.so => /opt/ros/foxy/lib/librcutils.so (0x00007f053c189000)
        libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f053c13e000)
        libtf2_ros.so => /opt/ros/foxy/lib/libtf2_ros.so (0x00007f053c0bb000)
        libtf2_msgs__rosidl_typesupport_cpp.so =>
/opt/ros/foxy/lib/libtf2_msgs__rosidl_typesupport_cpp.so
(0x00007f053c0b2000)
        librclcpp_action.so => /opt/ros/foxy/lib/librclcpp_action.so
(0x00007f053c093000)
        librcl_action.so => /opt/ros/foxy/lib/librcl_action.so
(0x00007f053c080000)
        liblibstatistics_collector.so =>
/opt/ros/foxy/lib/liblibstatistics_collector.so (0x00007f053c077000)
        librcl.so => /opt/ros/foxy/lib/librcl.so (0x00007f053c03d000)
        libstatistics_msgs__rosidl_typesupport_cpp.so =>
/opt/ros/foxy/lib/libstatistics_msgs__rosidl_typesupport_cpp.so
(0x00007f053c038000)
        libtracetools.so => /opt/ros/foxy/lib/libtracetools.so
(0x00007f053c033000)
        libgeometry_msgs__rosidl_typesupport_cpp.so =>
/opt/ros/foxy/lib/libgeometry_msgs__rosidl_typesupport_cpp.so
(0x00007f053c027000)
        libstd_msgs__rosidl_typesupport_cpp.so =>
/opt/ros/foxy/lib/libstd_msgs__rosidl_typesupport_cpp.so
(0x00007f053c01b000)
        libbuiltin_interfaces__rosidl_typesupport_cpp.so =>
/opt/ros/foxy/lib/libbuiltin_interfaces__rosidl_typesupport_cpp.so
(0x00007f053c014000)
        libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6
(0x00007f053be33000)
        libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f053be18000)
        libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f053bc26000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f053ded0000)
        librosidl_typesupport_cpp.so =>
/opt/ros/foxy/lib/librosidl_typesupport_cpp.so (0x00007f053bc1f000)
        libaction_msgs__rosidl_typesupport_cpp.so =>
/opt/ros/foxy/lib/libaction_msgs__rosidl_typesupport_cpp.so
(0x00007f053bc19000)
        libmessage_filters.so => /opt/ros/foxy/lib/libmessage_filters.so
(0x00007f053bc12000)
        libament_index_cpp.so => /opt/ros/foxy/lib/libament_index_cpp.so
(0x00007f053bc06000)
        libclass_loader.so => /opt/ros/foxy/lib/libclass_loader.so
(0x00007f053bbf0000)
        libconsole_bridge.so.0.5 => /opt/ros/foxy/lib/libconsole_bridge.so.0.5
(0x00007f053bbea000)
        libtinyxml2.so.6 => /usr/lib/x86_64-linux-gnu/libtinyxml2.so.6
(0x00007f053bbd3000)
        librcpputils.so => /opt/ros/foxy/lib/librcpputils.so (0x00007f053bbca000)
        librcl_yaml_param_parser.so =>
/opt/ros/foxy/lib/librcl_yaml_param_parser.so (0x00007f053bbbf000)
        librosgraph_msgs__rosidl_typesupport_cpp.so =>
/opt/ros/foxy/lib/librosgraph_msgs__rosidl_typesupport_cpp.so
(0x00007f053bbba000)
        librcl_interfaces__rosidl_typesupport_cpp.so =>
/opt/ros/foxy/lib/librcl_interfaces__rosidl_typesupport_cpp.so
(0x00007f053bbae000)
        librmw_implementation.so => /opt/ros/foxy/lib/librmw_implementation.so
(0x00007f053bba2000)
        librmw.so => /opt/ros/foxy/lib/librmw.so (0x00007f053bb99000)
        libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0
(0x00007f053bb76000)
        libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f053ba25000)
        libtf2.so => /opt/ros/foxy/lib/libtf2.so (0x00007f053b9fe000)
        librcl_interfaces__rosidl_typesupport_c.so =>
/opt/ros/foxy/lib/librcl_interfaces__rosidl_typesupport_c.so
(0x00007f053b9f3000)
        librcl_logging_spdlog.so => /opt/ros/foxy/lib/librcl_logging_spdlog.so
(0x00007f053b9eb000)
        librcl_interfaces__rosidl_generator_c.so =>
/opt/ros/foxy/lib/librcl_interfaces__rosidl_generator_c.so
(0x00007f053b9d9000)
        librosidl_runtime_c.so => /opt/ros/foxy/lib/librosidl_runtime_c.so
(0x00007f053b9ce000)
        libyaml.so => /opt/ros/foxy/lib/libyaml.so (0x00007f053b9ab000)
        librosidl_typesupport_c.so => /opt/ros/foxy/lib/librosidl_typesupport_c.so
(0x00007f053b9a4000)
        libspdlog.so.1 => /usr/lib/x86_64-linux-gnu/libspdlog.so.1
(0x00007f053b8fb000)
        libbuiltin_interfaces__rosidl_generator_c.so =>
/opt/ros/foxy/lib/libbuiltin_interfaces__rosidl_generator_c.so
(0x00007f053b8f4000)
so it finds all the dependencies. What could the issue be?

fferri
Posts: 1222
Joined: 09 Sep 2013, 19:28

Re: libsimExtROS2Interface builds but doesn't load

Post by fferri »

You need to source the ROS2 environment (source /opt/ros/foxy/setup.bash) prior to running ./coppeliaSim.sh in the same terminal.

pinecone
Posts: 3
Joined: 10 Mar 2019, 05:32

Re: libsimExtROS2Interface builds but doesn't load

Post by pinecone »

ROS2 was sourced, as can be seen by the output from libLoadErrorCheck.sh. I will have to downgrade to ros2 dashing I expect. I will try that and repost here.

Post Reply