ImportError: libmoveit_py_bindings_tools.so.1.1.9: cannot open shared object file: No such file or directory
I have a computer connected to a robot acting as a server with Apache2. The user on the site creates a program in Blockly, the code of this program is executed on the server computer. Everything was fine until I added MoveGroupCommander, because an error now appears and nothing is working.
Traceback (most recent call last):
File "/var/www/robot/static/code.py", line 14, in
How can i fix that?
Does the file:
libmoveit_py_bindings_tools.so.1.1.9
exist anywhere on your system?
Rather brute force way of find out, but what files are found when you run:
find / -name 'libmoveit_py_bindings_tools.so*' -print
Ignore any errors about not being able to open special devices or unreadable directories etc.
Thank you for your answer.
Yes, file exist.
Here is the output of find / -name 'libmoveit_py_bindings_tools.so*' -print
/opt/ros/noetic/lib/libmoveit_py_bindings_tools.so
/opt/ros/noetic/lib/libmoveit_py_bindings_tools.so.1.1.9
/usr/lib/apache2/modules/libmoveit_py_bindings_tools.so.1.1.9
find: ‘/run/user/1000/doc’: Permission denied
find: ‘/run/user/1000/gvfs’: Permission denied
It shouldn't exist in /usr/lib/apache2/modules. Did you put it there?
Is /opt/ros/noetic your Python virtual environment or where your actual Python installation is located?
Yes, file exist in /usr/lib/apache2/modules
How can i find out the answer for your second question?
When you run the Python version you are using, from the interpreter what do you get for:
import sys
print(sys.prefix)
Where did /opt/ros and /opt/ros/noetic come from?
Are they some special package you have installed?
When i run this
import sys
print(sys.prefix)
i get /usr
/opt/ros was created when i installed ROS to send messages to my robot.
The basic problem is that neither the C extension which is part of the moveit module, nor the Python shared library, embed the information about the directory containing the libmoveit_py_bindings_tools.so.1.1.9 file. Instead it is relying on the library directory location being compiled into the python executable. When using Apache though and embedding Python, it doesn't use the python executable and instead links to the Python shared library and so it cannot be found.
The only solutions would be to set the appropriate environment variable for Apache telling it where the directory location is, which is probably not going to be easy to do except by changing system startup scripts for Apache, or by cheating and force loading the libmoveit_py_bindings_tools.so.1.1.9 into Apache.
To do the latter, include in the Apache configuration file directive:
LoadFile /opt/ros/noetic/lib/libmoveit_py_bindings_tools.so.1.1.9
This should be at global scope, outside of any Apache VirtualHost directive.
See if that solves the problem.
I should add this line to the end of the file apache2.conf?
Location probably doesn't matter, but better to place it where the LoadModule lines are. You may even need to ensure it is placed before the LoadModule line for mod_wsgi.
I got this
Cannot load /opt/ros/noetic/lib/libmoveit_py_bindings_tools.so.1.1.9 into server: libroscpp.so: cannot open shared object file: : No such file or directory
The find command you ran previously said that that was where the file existed. If Apache cannot load it, the issue may be ownership permissions. What do you get for:
ls -lasd /opt/ros/noetic/lib
ls -las /opt/ros/noetic/lib/libmoveit*
ls -las /usr/lib/apache2/modules/libmoveit*
Sorry to keep you waiting
Here is the output
ls -lasd /opt/ros/noetic/lib
40 drwxr-xr-x 117 root root 36864 сен 1 12:21 /opt/ros/noetic/lib
ls -las /opt/ros/noetic/lib/libmoveit*
0 lrwxrwxrwx 1 root root 40 авг 15 17:53 /opt/ros/noetic/lib/libmoveit_background_processing.so -> libmoveit_background_processing.so.1.1.9
180 -rw-r--r-- 1 root root 183592 авг 15 17:53 /opt/ros/noetic/lib/libmoveit_background_processing.so.1.1.9
0 lrwxrwxrwx 1 root root 44 авг 15 18:40 /opt/ros/noetic/lib/libmoveit_cached_ik_kinematics_base.so -> libmoveit_cached_ik_kinematics_base.so.1.1.9
132 -rw-r--r-- 1 root root 134560 авг 15 18:40 /opt/ros/noetic/lib/libmoveit_cached_ik_kinematics_base.so.1.1.9
0 lrwxrwxrwx 1 root root 46 авг 15 18:40 /opt/ros/noetic/lib/libmoveit_cached_ik_kinematics_plugin.so -> libmoveit_cached_ik_kinematics_plugin.so.1.1.9
100 -rw-r--r-- 1 root root 101536 авг 15 18:40 /opt/ros/noetic/lib/libmoveit_cached_ik_kinematics_plugin.so.1.1.9
0 lrwxrwxrwx 1 root root 42 авг 15 18:23 /opt/ros/noetic/lib/libmoveit_chomp_optimizer_adapter.so -> libmoveit_chomp_optimizer_adapter.so.1.1.9
96 -rw-r--r-- 1 root root 97584 авг 15 18:23 /opt/ros/noetic/lib/libmoveit_chomp_optimizer_adapter.so.1.1.9
0 lrwxrwxrwx 1 root root 45 авг 15 17:53 /opt/ros/noetic/lib/libmoveit_collision_detection_bullet.so -> libmoveit_collision_detection_bullet.so.1.1.9
280 -rw-r--r-- 1 root root 283048 авг 15 17:53 /opt/ros/noetic/lib/libmoveit_collision_detection_bullet.so.1.1.9
0 lrwxrwxrwx 1 root root 42 авг 15 17:53 /opt/ros/noetic/lib/libmoveit_collision_detection_fcl.so -> libmoveit_collision_detection_fcl.so.1.1.9
240 -rw-r--r-- 1 root root 242176 авг 15 17:53 /opt/ros/noetic/lib/libmoveit_collision_detection_fcl.so.1.1.9
0 lrwxrwxrwx 1 root root 38 авг 15 17:53 /opt/ros/noetic/lib/libmoveit_collision_detection.so -> libmoveit_collision_detection.so.1.1.9
468 -rw-r--r-- 1 root root 476808 авг 15 17:53 /opt/ros/noetic/lib/libmoveit_collision_detection.so.1.1.9
0 lrwxrwxrwx 1 root root 43 авг 15 17:53 /opt/ros/noetic/lib/libmoveit_collision_distance_field.so -> libmoveit_collision_distance_field.so.1.1.9
416 -rw-r--r-- 1 root root 423496 авг 15 17:53 /opt/ros/noetic/lib/libmoveit_collision_distance_field.so.1.1.9
0 lrwxrwxrwx 1 root root 42 авг 15 18:20 /opt/ros/noetic/lib/libmoveit_collision_plugin_loader.so -> libmoveit_collision_plugin_loader.so.1.1.9
40 -rw-r--r-- 1 root root 39632 авг 15 18:20 /opt/ros/noetic/lib/libmoveit_collision_plugin_loader.so.1.1.9
0 lrwxrwxrwx 1 root root 52 авг 24 22:31 /opt/ros/noetic/lib/libmoveit_common_planning_interface_objects.so -> libmoveit_common_planning_interface_objects.so.1.1.9
128 -rw-r--r-- 1 root root 130048 авг 24 22:31 /opt/ros/noetic/lib/libmoveit_common_planning_interface_objects.so.1.1.9
0 lrwxrwxrwx 1 root root 52 авг 15 18:20 /opt/ros/noetic/lib/libmoveit_constraint_sampler_manager_loader.so -> libmoveit_constraint_sampler_manager_loader.so.1.1.9
252 -rw-r--r-- 1 root root 254224 авг 15 18:20 /opt/ros/noetic/lib/libmoveit_constraint_sampler_manager_loader.so.1.1.9
0 lrwxrwxrwx 1 root root 38 авг 15 17:53 /opt/ros/noetic/lib/libmoveit_constraint_samplers.so -> libmoveit_constraint_samplers.so.1.1.9
268 -rw-r--r-- 1 root root 270936 авг 15 17:53 /opt/ros/noetic/lib/libmoveit_constraint_samplers.so.1.1.9
0 lrwxrwxrwx 1 root root 22 авг 15 18:20 /opt/ros/noetic/lib/libmoveit_cpp.so -> libmoveit_cpp.so.1.1.9
228 -rw-r--r-- 1 root root 229816 авг 15 18:20 /opt/ros/noetic/lib/libmoveit_cpp.so.1.1.9
0 lrwxrwxrwx 1 root root 59 авг 15 18:20 /opt/ros/noetic/lib/libmoveit_default_planning_request_adapter_plugins.so -> libmoveit_default_planning_request_adapter_plugins.so.1.1.9
260 -rw-r--r-- 1 root root 262280 авг 15 18:20 /opt/ros/noetic/lib/libmoveit_default_planning_request_adapter_plugins.so.1.1.9
0 lrwxrwxrwx 1 root root 51 авг 15 18:42 /opt/ros/noetic/lib/libmoveit_depth_image_octomap_updater_core.so -> libmoveit_depth_image_octomap_updater_core.so.1.1.9
184 -rw-r--r-- 1 root root 188304 авг 15 18:42 /opt/ros/noetic/lib/libmoveit_depth_image_octomap_updater_core.so.1.1.9
0 lrwxrwxrwx 1 root root 46 авг 15 18:42 /opt/ros/noetic/lib/libmoveit_depth_image_octomap_updater.so -> libmoveit_depth_image_octomap_updater.so.1.1.9
88 -rw-r--r-- 1 root root 88976 авг 15 18:42 /opt/ros/noetic/lib/libmoveit_depth_image_octomap_updater.so.1.1.9
0 lrwxrwxrwx 1 root root 36 авг 15 18:42 /opt/ros/noetic/lib/libmoveit_depth_self_filter.so -> libmoveit_depth_self_filter.so.1.1.9
164 -rw-r--r-- 1 root root 167592 авг 15 18:42 /opt/ros/noetic/lib/libmoveit_depth_self_filter.so.1.1.9
0 lrwxrwxrwx 1 root root 33 авг 15 17:53 /opt/ros/noetic/lib/libmoveit_distance_field.so -> libmoveit_distance_field.so.1.1.9
232 -rw-r--r-- 1 root root 237368 авг 15 17:53 /opt/ros/noetic/lib/libmoveit_distance_field.so.1.1.9
0 lrwxrwxrwx 1 root root 34 авг 15 17:53 /opt/ros/noetic/lib/libmoveit_dynamics_solver.so -> libmoveit_dynamics_solver.so.1.1.9
76 -rw-r--r-- 1 root root 76976 авг 15 17:53 /opt/ros/noetic/lib/libmoveit_dynamics_solver.so.1.1.9
0 lrwxrwxrwx 1 root root 29 авг 15 17:53 /opt/ros/noetic/lib/libmoveit_exceptions.so -> libmoveit_exceptions.so.1.1.9
20 -rw-r--r-- 1 root root 18848 авг 15 17:53 /opt/ros/noetic/lib/libmoveit_exceptions.so.1.1.9
0 lrwxrwxrwx 1 root root 42 авг 15 18:37 /opt/ros/noetic/lib/libmoveit_fake_controller_manager.so -> libmoveit_fake_controller_manager.so.1.1.9
244 -rw-r--r-- 1 root root 246056 авг 15 18:37 /opt/ros/noetic/lib/libmoveit_fake_controller_manager.so.1.1.9
0 lrwxrwxrwx 1 root root 40 авг 15 18:40 /opt/ros/noetic/lib/libmoveit_kdl_kinematics_plugin.so -> libmoveit_kdl_kinematics_plugin.so.1.1.9
256 -rw-r--r-- 1 root root 258528 авг 15 18:40 /opt/ros/noetic/lib/libmoveit_kdl_kinematics_plugin.so.1.1.9
0 lrwxrwxrwx 1 root root 40 авг 15 17:53 /opt/ros/noetic/lib/libmoveit_kinematic_constraints.so -> libmoveit_kinematic_constraints.so.1.1.9
256 -rw-r--r-- 1 root root 258648 авг 15 17:53 /opt/ros/noetic/lib/libmoveit_kinematic_constraints.so.1.1.9
0 lrwxrwxrwx 1 root root 34 авг 15 17:53 /opt/ros/noetic/lib/libmoveit_kinematics_base.so -> libmoveit_kinematics_base.so.1.1.9
64 -rw-r--r-- 1 root root 64352 авг 15 17:53 /opt/ros/noetic/lib/libmoveit_kinematics_base.so.1.1.9
0 lrwxrwxrwx 1 root root 37 авг 15 17:53 /opt/ros/noetic/lib/libmoveit_kinematics_metrics.so -> libmoveit_kinematics_metrics.so.1.1.9
180 -rw-r--r-- 1 root root 183584 авг 15 17:53 /opt/ros/noetic/lib/libmoveit_kinematics_metrics.so.1.1.9
0 lrwxrwxrwx 1 root root 43 авг 15 18:20 /opt/ros/noetic/lib/libmoveit_kinematics_plugin_loader.so -> libmoveit_kinematics_plugin_loader.so.1.1.9
320 -rw-r--r-- 1 root root 324672 авг 15 18:20 /opt/ros/noetic/lib/libmoveit_kinematics_plugin_loader.so.1.1.9
0 lrwxrwxrwx 1 root root 42 авг 15 18:42 /opt/ros/noetic/lib/libmoveit_lazy_free_space_updater.so -> libmoveit_lazy_free_space_updater.so.1.1.9
180 -rw-r--r-- 1 root root 183920 авг 15 18:42 /opt/ros/noetic/lib/libmoveit_lazy_free_space_updater.so.1.1.9
0 lrwxrwxrwx 1 root root 40 авг 15 18:40 /opt/ros/noetic/lib/libmoveit_lma_kinematics_plugin.so -> libmoveit_lma_kinematics_plugin.so.1.1.9
128 -rw-r--r-- 1 root root 130688 авг 15 18:40 /opt/ros/noetic/lib/libmoveit_lma_kinematics_plugin.so.1.1.9
0 lrwxrwxrwx 1 root root 30 авг 15 18:42 /opt/ros/noetic/lib/libmoveit_mesh_filter.so -> libmoveit_mesh_filter.so.1.1.9
120 -rw-r--r-- 1 root root 122488 авг 15 18:42 /opt/ros/noetic/lib/libmoveit_mesh_filter.so.1.1.9
0 lrwxrwxrwx 1 root root 51 авг 24 22:40 /opt/ros/noetic/lib/libmoveit_motion_planning_rviz_plugin_core.so -> libmoveit_motion_planning_rviz_plugin_core.so.1.1.9
1632 -rw-r--r-- 1 root root 1669992 авг 24 22:40 /opt/ros/noetic/lib/libmoveit_motion_planning_rviz_plugin_core.so.1.1.9
0 lrwxrwxrwx 1 root root 46 авг 24 22:40 /opt/ros/noetic/lib/libmoveit_motion_planning_rviz_plugin.so -> libmoveit_motion_planning_rviz_plugin.so.1.1.9
88 -rw-r--r-- 1 root root 89056 авг 24 22:40 /opt/ros/noetic/lib/libmoveit_motion_planning_rviz_plugin.so.1.1.9
0 lrwxrwxrwx 1 root root 47 авг 15 18:42 /opt/ros/noetic/lib/libmoveit_move_group_capabilities_base.so -> libmoveit_move_group_capabilities_base.so.1.1.9
164 -rw-r--r-- 1 root root 167336 авг 15 18:42 /opt/ros/noetic/lib/libmoveit_move_group_capabilities_base.so.1.1.9
0 lrwxrwxrwx 1 root root 50 авг 15 18:42 /opt/ros/noetic/lib/libmoveit_move_group_default_capabilities.so -> libmoveit_move_group_default_capabilities.so.1.1.9
1256 -rw-r--r-- 1 root root 1283336 авг 15 18:42 /opt/ros/noetic/lib/libmoveit_move_group_default_capabilities.so.1.1.9
0 lrwxrwxrwx 1 root root 39 авг 24 22:31 /opt/ros/noetic/lib/libmoveit_move_group_interface.so -> libmoveit_move_group_interface.so.1.1.9
1620 -rw-r--r-- 1 root root 1657592 авг 24 22:31 /opt/ros/noetic/lib/libmoveit_move_group_interface.so.1.1.9
0 lrwxrwxrwx 1 root root 51 авг 15 18:55 /opt/ros/noetic/lib/libmoveit_move_group_pick_place_capability.so -> libmoveit_move_group_pick_place_capability.so.1.1.9
768 -rw-r--r-- 1 root root 785848 авг 15 18:55 /opt/ros/noetic/lib/libmoveit_move_group_pick_place_capability.so.1.1.9
0 lrwxrwxrwx 1 root root 33 авг 15 18:41 /opt/ros/noetic/lib/libmoveit_ompl_interface.so -> libmoveit_ompl_interface.so.1.1.9
1332 -rw-r--r-- 1 root root 1362504 авг 15 18:41 /opt/ros/noetic/lib/libmoveit_ompl_interface.so.1.1.9
0 lrwxrwxrwx 1 root root 38 авг 15 18:41 /opt/ros/noetic/lib/libmoveit_ompl_planner_plugin.so -> libmoveit_ompl_planner_plugin.so.1.1.9
516 -rw-r--r-- 1 root root 525160 авг 15 18:41 /opt/ros/noetic/lib/libmoveit_ompl_planner_plugin.so.1.1.9
176 -rw-r--r-- 1 root root 180224 авг 15 18:38 /opt/ros/noetic/lib/libmoveit_opw_kinematics_plugin.so
0 lrwxrwxrwx 1 root root 37 авг 15 18:55 /opt/ros/noetic/lib/libmoveit_pick_place_planner.so -> libmoveit_pick_place_planner.so.1.1.9
652 -rw-r--r-- 1 root root 665656 авг 15 18:55 /opt/ros/noetic/lib/libmoveit_pick_place_planner.so.1.1.9
0 lrwxrwxrwx 1 root root 33 авг 15 18:20 /opt/ros/noetic/lib/libmoveit_plan_execution.so -> libmoveit_plan_execution.so.1.1.9
568 -rw-r--r-- 1 root root 580024 авг 15 18:20 /opt/ros/noetic/lib/libmoveit_plan_execution.so.1.1.9
0 lrwxrwxrwx 1 root root 33 авг 24 22:39 /opt/ros/noetic/lib/libmoveit_planners_chomp.so -> libmoveit_planners_chomp.so.1.1.9
56 -rw-r--r-- 1 root root 56112 авг 24 22:39 /opt/ros/noetic/lib/libmoveit_planners_chomp.so.1.1.9
0 lrwxrwxrwx 1 root root 37 авг 15 17:53 /opt/ros/noetic/lib/libmoveit_planning_interface.so -> libmoveit_planning_interface.so.1.1.9
152 -rw-r--r-- 1 root root 154912 авг 15 17:53 /opt/ros/noetic/lib/libmoveit_planning_interface.so.1.1.9
0 lrwxrwxrwx 1 root root 36 авг 15 18:20 /opt/ros/noetic/lib/libmoveit_planning_pipeline.so -> libmoveit_planning_pipeline.so.1.1.9
440 -rw-r--r-- 1 root root 448104 авг 15 18:20 /opt/ros/noetic/lib/libmoveit_planning_pipeline.so.1.1.9
0 lrwxrwxrwx 1 root root 43 авг 15 17:53 /opt/ros/noetic/lib/libmoveit_planning_request_adapter.so -> libmoveit_planning_request_adapter.so.1.1.9
80 -rw-r--r-- 1 root root 80664 авг 15 17:53 /opt/ros/noetic/lib/libmoveit_planning_request_adapter.so.1.1.9
0 lrwxrwxrwx 1 root root 43 авг 24 22:31 /opt/ros/noetic/lib/libmoveit_planning_scene_interface.so -> libmoveit_planning_scene_interface.so.1.1.9
200 -rw-r--r-- 1 root root 204664 авг 24 22:31 /opt/ros/noetic/lib/libmoveit_planning_scene_interface.so.1.1.9
0 lrwxrwxrwx 1 root root 41 авг 15 18:20 /opt/ros/noetic/lib/libmoveit_planning_scene_monitor.so -> libmoveit_planning_scene_monitor.so.1.1.9
824 -rw-r--r-- 1 root root 843720 авг 15 18:20 /opt/ros/noetic/lib/libmoveit_planning_scene_monitor.so.1.1.9
0 lrwxrwxrwx 1 root root 50 авг 24 22:40 /opt/ros/noetic/lib/libmoveit_planning_scene_rviz_plugin_core.so -> libmoveit_planning_scene_rviz_plugin_core.so.1.1.9
232 -rw-r--r-- 1 root root 233648 авг 24 22:40 /opt/ros/noetic/lib/libmoveit_planning_scene_rviz_plugin_core.so.1.1.9
0 lrwxrwxrwx 1 root root 45 авг 24 22:40 /opt/ros/noetic/lib/libmoveit_planning_scene_rviz_plugin.so -> libmoveit_planning_scene_rviz_plugin.so.1.1.9
88 -rw-r--r-- 1 root root 89056 авг 24 22:40 /opt/ros/noetic/lib/libmoveit_planning_scene_rviz_plugin.so.1.1.9
0 lrwxrwxrwx 1 root root 33 авг 15 17:53 /opt/ros/noetic/lib/libmoveit_planning_scene.so -> libmoveit_planning_scene.so.1.1.9
460 -rw-r--r-- 1 root root 469520 авг 15 17:53 /opt/ros/noetic/lib/libmoveit_planning_scene.so.1.1.9
0 lrwxrwxrwx 1 root root 50 авг 15 18:42 /opt/ros/noetic/lib/libmoveit_pointcloud_octomap_updater_core.so -> libmoveit_pointcloud_octomap_updater_core.so.1.1.9
372 -rw-r--r-- 1 root root 377704 авг 15 18:42 /opt/ros/noetic/lib/libmoveit_pointcloud_octomap_updater_core.so.1.1.9
0 lrwxrwxrwx 1 root root 45 авг 15 18:42 /opt/ros/noetic/lib/libmoveit_pointcloud_octomap_updater.so -> libmoveit_pointcloud_octomap_updater.so.1.1.9
88 -rw-r--r-- 1 root root 88976 авг 15 18:42 /opt/ros/noetic/lib/libmoveit_pointcloud_octomap_updater.so.1.1.9
0 lrwxrwxrwx 1 root root 43 авг 15 18:42 /opt/ros/noetic/lib/libmoveit_point_containment_filter.so -> libmoveit_point_containment_filter.so.1.1.9
100 -rw-r--r-- 1 root root 101456 авг 15 18:42 /opt/ros/noetic/lib/libmoveit_point_containment_filter.so.1.1.9
0 lrwxrwxrwx 1 root root 27 авг 15 17:53 /opt/ros/noetic/lib/libmoveit_profiler.so -> libmoveit_profiler.so.1.1.9
196 -rw-r--r-- 1 root root 200160 авг 15 17:53 /opt/ros/noetic/lib/libmoveit_profiler.so.1.1.9
0 lrwxrwxrwx 1 root root 36 авг 24 22:31 /opt/ros/noetic/lib/libmoveit_py_bindings_tools.so -> libmoveit_py_bindings_tools.so.1.1.9
140 -rw-r--r-- 1 www-data www-data 142568 авг 24 22:31 /opt/ros/noetic/lib/libmoveit_py_bindings_tools.so.1.1.9
0 lrwxrwxrwx 1 root root 31 авг 15 17:53 /opt/ros/noetic/lib/libmoveit_python_tools.so -> libmoveit_python_tools.so.1.1.9
92 -rw-r--r-- 1 root root 93520 авг 15 17:53 /opt/ros/noetic/lib/libmoveit_python_tools.so.1.1.9
0 lrwxrwxrwx 1 root root 29 авг 15 18:20 /opt/ros/noetic/lib/libmoveit_rdf_loader.so -> libmoveit_rdf_loader.so.1.1.9
120 -rw-r--r-- 1 root root 122320 авг 15 18:20 /opt/ros/noetic/lib/libmoveit_rdf_loader.so.1.1.9
ls -las /usr/lib/apache2/modules/libmoveit*
140 -rw-r--r-- 1 root root 142568 сен 12 13:37 /usr/lib/apache2/modules/libmoveit_py_bindings_tools.so
140 -rw-r--r-- 1 root root 142568 сен 12 13:37 /usr/lib/apache2/modules/libmoveit_py_bindings_tools.so.1.1.9
Where is the file libroscpp.so located?
And to use any of this from normal command line, do they by chance tell you to set:
LD_LIBRARY_PATH=/opt/ros/noetic/lib
environment variable, of is it already set for users?
sudo find / -name 'libroscpp.so' -print
/opt/ros/noetic/lib/libroscpp.so
I've already tried LD_LIBRARY_PATH=/opt/ros/noetic/lib, it didn't help
Setting LD_LIBRARY_PATH and exporting it will not help unless it is set in systemd config for Apache, or whatever other startup scripts Apache uses. Trying to do that may be only choice, there are too many different .so libraries to use LoadFile with all of them.
So work out how Apache is started up.
Still can`t find the solution :(
You didn't explain where you were setting LD_LIBRARY_PATH.
I got something.
I had to create a link to every library that apache couldn't find with ln -s and error with "No such file or directory" disappear but now there's a new problem
Traceback (most recent call last):
File "/var/www/robot/static/code.py", line 1, in <module>
from robot_api import Robot
File "/var/www/robot/static/robot_api.py", line 8, in <module>
from moveit_commander.move_group import MoveGroupCommander
File "/opt/ros/noetic/lib/python3/dist-packages/moveit_commander/__init__.py", line 4, in <module>
from .move_group import *
File "/opt/ros/noetic/lib/python3/dist-packages/moveit_commander/move_group.py", line 52, in <module>
from moveit_ros_planning_interface import _moveit_move_group_interface
ImportError: /usr/lib/libmoveit_collision_detection_fcl.so.1.1.9: undefined symbol: _ZTIN3fcl17CollisionGeometryIdEE
Run nm on all the shared libraries and see if you can work out which defines it.
Rather than use symlinks, the easier approach may have been to add the directory to standard search path for libraries for the whole system using ldconfig configuration files.
- https://www.thegeekdiary.com/how-to-use-ldconfig-command-in-linux/
Would just need to make sure that there are no libraries in there which may clash with system libraries.
$ nm libmoveit_collision_detection_fcl.so.1.1.9
nm: libmoveit_collision_detection_fcl.so.1.1.9: no symbols
Not quite what I meant. Run:
for lib in lib*.so; do
echo "CHECKING $lib"
nm $lib | grep _ZTIN3fcl17CollisionGeometryIdEE
done
So check all libraries.
If however the libraries have been stripped of all symbols that may not work, which is somewhat confusing since for shared libraries to work symbols must be present.
CHECKING libactionlib.so
nm: libactionlib.so: no symbols
CHECKING libarmadillo.so
nm: libarmadillo.so: no symbols
CHECKING libclass_loader.so
nm: libclass_loader.so: no symbols
CHECKING libcpp_common.so
nm: libcpp_common.so: no symbols
CHECKING libdfalt.so
nm: libdfalt.so: no symbols
CHECKING libdynamic_reconfigure_config_init_mutex.so
nm: libdynamic_reconfigure_config_init_mutex.so: no symbols
CHECKING libeigenpy.so
nm: libeigenpy.so: no symbols
CHECKING libgdal.so
nm: libgdal.so: no symbols
CHECKING libmfhdfalt.so
nm: libmfhdfalt.so: no symbols
CHECKING libmoveit_collision_detection_fcl.so
nm: libmoveit_collision_detection_fcl.so: no symbols
CHECKING libnimCodecs.so
nm: libnimCodecs.so: no symbols
CHECKING libnimMockNodes.so
nm: libnimMockNodes.so: no symbols
CHECKING libnimRecorder.so
nm: libnimRecorder.so: no symbols
CHECKING libogdi.so
nm: libogdi.so: no symbols
CHECKING libOpenNI2.so
nm: libOpenNI2.so: no symbols
CHECKING libOpenNI.jni.so
nm: libOpenNI.jni.so: no symbols
CHECKING libOpenNI.so
nm: libOpenNI.so: no symbols
CHECKING liborocos-kdl.so
nm: liborocos-kdl.so: no symbols
CHECKING libqwt-qt5.so
nm: libqwt-qt5.so: no symbols
CHECKING librandom_numbers.so
nm: librandom_numbers.so: no symbols
CHECKING libresource_retriever.so
nm: libresource_retriever.so: no symbols
CHECKING librosconsole_backend_interface.so
nm: librosconsole_backend_interface.so: no symbols
CHECKING librosconsole_bridge.so
nm: librosconsole_bridge.so: no symbols
CHECKING librosconsole_log4cxx.so
nm: librosconsole_log4cxx.so: no symbols
CHECKING librosconsole.so
nm: librosconsole.so: no symbols
CHECKING libroscpp_serialization.so
nm: libroscpp_serialization.so: no symbols
CHECKING libroscpp.so
nm: libroscpp.so: no symbols
CHECKING libroslib.so
nm: libroslib.so: no symbols
CHECKING librospack.so
nm: librospack.so: no symbols
CHECKING librostime.so
nm: librostime.so: no symbols
CHECKING libSample-NiSampleModule.so
nm: libSample-NiSampleModule.so: no symbols
CHECKING libspnav.so
nm: libspnav.so: no symbols
CHECKING libtf2_ros.so
nm: libtf2_ros.so: no symbols
CHECKING libtf.so
nm: libtf.so: no symbols
CHECKING liburdf.so
nm: liburdf.so: no symbols
CHECKING libvpf.so
nm: libvpf.so: no symbols
CHECKING libwarehouse_ros.so
nm: libwarehouse_ros.so: no symbols
CHECKING libxmlrpcpp.so
nm: libxmlrpcpp.so: no symbols
I can only suggest you try the ldconfig configuration change then to look in that library directory.
Do programs using this stuff outside of Apache/mod_wsgi still work?
Ok, i`ll try Yes, outside of Apache everything works fine
GrahamDumpleton, thank you so much!!! I changed ldconfid to add all library paths, removed all symlinks and everything worked fine, Thank you for your patience and responsiveness. I think issue can be closed.
Hello, I also meet the mistake, could you pls give some detail solvements?