vrpn_client_ros
vrpn_client_ros copied to clipboard
Missing dependency
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 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.
Thanks @em-er-es , I ran into the exact same issue (I'm developing on ROS2, using a ROS1 Noetic container) and this worked.