When using Docker ROS core image for Noetic, there is a missing system dependency of netbase. VRPN client ROS package will install and run, but then complains about connection VRPN connection is not 'doing okay', which does not explain the exact issue.
Steps to replicate the issue:
sudo docker run --network=host --rm -it ros:noetic-ros-core
# Inside container
apt update
apt install ros-noetic-vrpn-client-ros
source /opt/ros/noetic/setup.bash
# Run VRPN server with empty configuration
touch vrpn.cfg
vrpn_server &
# Launch ROS VRPN client
roslaunch vrpn_client_ros sample.launch
To solve this, install the netbase package [inside the container]:
# apt install netbase
Then rerunning the sample.launch will establish a connection and list the example tracker. This behaviour was confirmed on a motion capture system providing VPRN data.
I guess this VRPN implementation relies on some of the definitions from the package in /etc: /etc/ethertypes, /etc/protocols, /etc/rpc, /etc/services.
This does not appear to be easily fixable by adding <exec_depend>netbase</exec_depend> to package.xml, since there is no key definition for netbase.
netbase ought to be present on most systems, so this might have gone undetected because of that. Bare bones containers are a nice way of verifying dependencies.
I'm writing an issue here, since this is the repository listed on http://wiki.ros.org/vrpn_client_ros. https://github.com/usrl-uofsc/vrpn_client_ros should suffer from this as well.
When using Docker ROS core image for Noetic, there is a missing system dependency of
netbase
. VRPN client ROS package will install and run, but then complains about connectionVRPN connection is not 'doing okay'
, which does not explain the exact issue.Steps to replicate the issue:
To solve this, install the
netbase
package [inside the container]:Then rerunning the
sample.launch
will establish a connection and list the example tracker. This behaviour was confirmed on a motion capture system providing VPRN data.I guess this VRPN implementation relies on some of the definitions from the package in
/etc
:/etc/ethertypes
,/etc/protocols
,/etc/rpc
,/etc/services
.This does not appear to be easily fixable by adding
<exec_depend>netbase</exec_depend>
topackage.xml
, since there is no key definition fornetbase
.netbase
ought to be present on most systems, so this might have gone undetected because of that. Bare bones containers are a nice way of verifying dependencies.