I have been trying to run the veichle tracking example, whose related code is found at: https://github.com/rticommunity/rticonnextdds-usecases. I have also considered the downloadable file from https://www.rti.com/developers/case-code/vehicle-tracking#. I am using a Kali GNU/Linux Rolling x86_64 container on VirtualBox 1.2, I have a research license for RTI Connext 7.x, and when I run the example I get the following errors:
- Using the files of the master branch from GitHub, when I try to build as indicated by the README I obtain the following error:
code
/home/kali/Desktop/rticonnextdds-usecases_MASTER/VehicleTracking/ExampleCode/src/FlightPlanGenerator/FlightPlanGenerator.cxx:228:24: error: ‘sleep’ is not a member of ‘rti::util’; did you mean ‘sleep’?228 | rti::util::sleep(send_period);
code
- Using the file downloadable on https://www.rti.com/developers/case-code/vehicle-tracking# by clicking on "Linux", I have no issues when running the scripts related to the FlightPlanGenerator and to the RadarGenerator, but when I try to run ./TrackGui.sh I get the following error:
code
/home/kali/Desktop/VehicleTracking/ExampleCode/objs/x64Linux3gcc5.4.0/TrackGui/../../../thirdparty/proj-4.9.3/lib/x64Linux3gcc5.4.0:/home/kali/Desktop/VehicleTracking/ExampleCode/objs/x64Linux3gcc5.4.0/TrackGui/../../../thirdparty/wxWidgets-3.0.3/lib/x64Linux3gcc5.4.0:
./TrackGuiApp: error while loading shared libraries: libpng12.so.0: cannot open shared object file: No such file or directory
code
- Using the files from the branch release/5.3.1, when I try to perform the make as indicated in the README I get the following error:
code
/usr/bin/ld: cannot find -lnddscppz: No such file or directory
/usr/bin/ld: cannot find -lnddscz: No such file or directory
/usr/bin/ld: cannot find -lnddscorez: No such file or directory
collect2: error: ld returned 1 exit status
make: *** [make/Makefile.common:141: objs/x64Linux3gcc5.4.0/FlightPlan/FlightPlanGenerator.out] Error 1
code
Does anyone know what may be the issue? I am guessing something related to libraries and versions of the software.
Moreover, I have also been trying to run the FlightPlanGenerator and the RadarGenerator from two Docker containers (Ubunut:20.04), while I run the TracGui from my Windows host. However, I seem unable to make the docker containers and the program running on the Windows host communicate (no data is received by the gui), even if I use --network=host. I believe this is somehow related to the fact that Docker for Windows uses WSL2 and this may break the communication flow. Has anyone encountered the same issue? If so, how did you resolve this?
The example was built for Connext 6.1 and I was able to build it on Ubuntu 22.04 using Connext 6.1.1. As you pointed out there seems to be issues with Connext 7.3
The error sleep’ is not a member of ‘rti::util’ can be resolved by adding #include <rti/util/util.hpp> to the source file.
Libpng can be installed as follow: sudo apt-get install libpng-dev
The fact that it can’t find the Connext libraries (e.g. cannot find -lnddscppz) is usually because the environment variable NDDSHOME is not set or the libraries for the architecture yoy are building are not in $NDDSHOME/lib).
Last but not least if you can’t get communication to work between docker containers even if using –network host to windows it is usually related to firewalls wither on the Windows or Linux side. It could also be that your Linux machine and your Linux machine are not in the same subnet (less likely). I would recommend to run wireshark on either side and see if the RTPS traffic is correctly sent and received.