Warning
This is as a Lab Notebook which describes how to solve a specific problem at a specific time. Please keep this in mind as you read and use the content. Please pay close attention to the date, version information and other details.
The problem (2022-09-30)
The latest version of the Robot Operating System, Humble Hawksbill https://www.openrobotics.org/blog/2022/5/24/ros-2-humble-hawksbill-release, uses a version of libQtCore.so.5
that is not compatible with the HPCC Linux kernel version (3.10 as of writing). Specifically, it requires kernel version 3.15+. When the ROS is installed into a Docker container, and used inside a Singularity image with e.g. singularity pull docker://morris2001/humble
and singularity run humble_latest.sif
, the rqt
command inside the Singularity image will result in the error:
1 |
|
The solution
Inside your Dockerfile where you build the ROS container with Ubuntu 22.04, add the command
1 |
|
This is based on discussion here: https://github.com/dnschneid/crouton/wiki/Fix-error-while-loading-shared-libraries:-libQt5Core.so.5
This command removes the offending piece of code that is incompatible with the HPCC Linux kernel, and allows rqt
to launch successfully.
OpenCV
OpenCV is an important Python package for various parts of ROS. Make sure you install it in your Docker container by adding the command
1 |
|
to your Dockerfile.