Giter VIP home page Giter VIP logo

px4_ros_com's Introduction

PX4-ROS2 bridge

GitHub license GitHub (pre-)release DOI Build and Test package

Discord Shield

This package provides example nodes for exchanging data and commands between ROS2 and PX4. It also provides a library to ease the conversion between ROS2 and PX4 frame conventions. It has a straight dependency on the px4_msgs package.

Install, build and usage

Check the uXRCE-DDS and the ROS2 Interface sections on the PX4 Devguide for details on how to install the required dependencies, build the package and use it.

Bug tracking and feature requests

Use the Issues section to create a new issue. Report your issue or feature request here.

Questions and troubleshooting

Reach the PX4 development team on the PX4 Discord Server.

px4_ros_com's People

Contributors

abarcis avatar akshayprsd avatar alvinsunyixiao avatar awannabeengineer avatar beniaminopozzan avatar dagar avatar dayjaby avatar dependabot[bot] avatar hamishwillee avatar harisankar95 avatar itskalvik avatar kamasta avatar mickey13 avatar mrpollo avatar nikhilsnayak avatar peter-cudmore avatar px4buildbot avatar teyrana avatar tsc21 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

px4_ros_com's Issues

Cannot open a serial port under ROS2.

Describe the bug
After successfully deployed ROS2 and px4_ros_com on my board, I cannot open a specified serial port. My system always returns a error information when I operate the serial port device.

Btw, I have set the access permission to all of serial port devices on my board:
sudo groups $USER
sudo usermod -a -G dialout $USER

Also, I have tested the serial port device on my board by minicom. It can communicate data with other serial port on another board each other.

To Reproduce

  1. Method 1: Directly running the micrortps_agent.
    ./px4_ros_com_ros2/build/px4_ros_com/micrortps_agent -t UART -d /dev/ttyS4 -b 115200

The error information:

UART transport: device: /ttyS4; baudrate: 115200; sleep: 1us; poll: 0ms

Failed to open device: /ttyS4 (2)EXITING...
  1. Method 2: Running the micrortps_agent by ROS2 after set ROS2 environment and PX4_ROS_COM environment.
    source ~/ros2_crystal/install/local_setup.bash
    source ~/px4_ros_com_ros2/install/local_setup.bash
    printenv | grep ROS
ROS_VERSION=2
ROS_PYTHON_VERSION=3
ROS_DISTRO=crystal

ros2 run px4_ros_com micrortps_agent -t UART -d /dev/ttyS4 -b 115200

The error information:

No executable found
  1. Methos 3: Directly running the micrortps_agent after set ROS2 environment and PX4_ROS_COM environment.
    ./px4_ros_com_ros2/build/px4_ros_com/micrortps_agent -t UART -d /dev/ttyS4 -b 115200

The error information:

UART transport: device: /dev/ttyS4; baudrate: 115200; sleep: 1us; poll: 0ms

ERR SET BAUD /dev/ttyS4: Unsupported baudrate: 4098
	supported examples:
	9600, 19200, 38400, 57600, 115200, 230400, 460800, 500000, 921600, 1000000
Closed UART...EXITING...

./px4_ros_com_ros2/build/px4_ros_com/micrortps_agent -t UART -d /dev/ttyS4

The error information:

UART transport: device: /dev/ttyS4; baudrate: 460800; sleep: 1us; poll: 0ms

ERR SET BAUD /dev/ttyS4: Unsupported baudrate: 4100
	supported examples:
	9600, 19200, 38400, 57600, 115200, 230400, 460800, 500000, 921600, 1000000
Closed UART...EXITING...

Expected behavior
I have attempted to execute the micrortps_agent by the above methods. The serial port device cannot be opened. Especially, in the method 3 the program return information that told me the baudrate is set at 4098 and 4100, but the baudrate parameters I transmit to the micrortps_agent are 115200 and 460800 separately.

So, I don't know what's wrong I did.

Thanks in advance !

px4_ros_com_ros2 build exits with stderr

System Detail

$ fastrtpsgen -version
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
fastrtpsgen version 1.7.2

Fast-CDR version: 1.0.8
Ubuntu 18.04
ROS Melodic
ROS Crystal
Gradle 6.5
PX4 v1.9.0
None of the setup.bash files are sourced in bashrc

Guide followed

RTPS/ROS2 Interface: PX4-FastRTPS Bridge Which uses v1.9.0

Commands executed

I clean my workspace before running the following colcon command:

source /opt/ros/crystal/setup.bash
colcon build --symlink-install --packages-skip ros1_bridge --event-handlers console_direct+

Then px4_msgs builds successfully, but px4_ros_com has a stderr output.

Finished <<< px4_ros_com [1min 48s]

Summary: 2 packages finished [12min 36s]
  1 package had stderr output: px4_ros_com

I cant seem to find any hard error log entry during the entire build process

Partial build log

I have only included the part once px4_ros_com starts

[Processing: px4_ros_com]                                       
[ 74%] Building CXX object CMakeFiles/micrortps_agent.dir/src/micrortps_agent/DistanceSensor_Publisher.cpp.o
[ 74%] Building CXX object CMakeFiles/micrortps_agent.dir/src/micrortps_agent/EstimatorStatus_Publisher.cpp.o
[ 75%] Building CXX object CMakeFiles/micrortps_agent.dir/src/micrortps_agent/HomePosition_Publisher.cpp.o
[ 76%] Building CXX object CMakeFiles/micrortps_agent.dir/src/micrortps_agent/IridiumsbdStatus_Publisher.cpp.o
[ 77%] Building CXX object CMakeFiles/micrortps_agent.dir/src/micrortps_agent/RadioStatus_Publisher.cpp.o
[ 78%] Building CXX object CMakeFiles/micrortps_agent.dir/src/micrortps_agent/SatelliteInfo_Publisher.cpp.o
[ 79%] Building CXX object CMakeFiles/micrortps_agent.dir/src/micrortps_agent/SensorBaro_Publisher.cpp.o
[ 79%] Building CXX object CMakeFiles/micrortps_agent.dir/src/micrortps_agent/SensorCombined_Publisher.cpp.o
[ 80%] Building CXX object CMakeFiles/micrortps_agent.dir/src/micrortps_agent/SensorSelection_Publisher.cpp.o
[ 81%] Building CXX object CMakeFiles/micrortps_agent.dir/src/micrortps_agent/Timesync_Publisher.cpp.o
[ 82%] Building CXX object CMakeFiles/micrortps_agent.dir/src/micrortps_agent/VehicleAttitude_Publisher.cpp.o
[ 83%] Building CXX object CMakeFiles/micrortps_agent.dir/src/micrortps_agent/VehicleOdometry_Publisher.cpp.o
[ 84%] Building CXX object CMakeFiles/micrortps_agent.dir/src/micrortps_agent/VtolVehicleStatus_Publisher.cpp.o
[ 84%] Building CXX object CMakeFiles/micrortps_agent.dir/src/micrortps_agent/WindEstimate_Publisher.cpp.o
[ 85%] Building CXX object CMakeFiles/micrortps_agent.dir/src/micrortps_agent/CollisionConstraints_Publisher.cpp.o
[ 86%] Building CXX object CMakeFiles/micrortps_agent.dir/src/micrortps_agent/CameraCapture_Subscriber.cpp.o
[ 87%] Building CXX object CMakeFiles/micrortps_agent.dir/src/micrortps_agent/CameraTrigger_Subscriber.cpp.o
[ 88%] Building CXX object CMakeFiles/micrortps_agent.dir/src/micrortps_agent/CollisionReport_Subscriber.cpp.o
[ 89%] Building CXX object CMakeFiles/micrortps_agent.dir/src/micrortps_agent/DebugArray_Subscriber.cpp.o
[ 90%] Building CXX object CMakeFiles/micrortps_agent.dir/src/micrortps_agent/DebugVect_Subscriber.cpp.o
[ 91%] Building CXX object CMakeFiles/micrortps_agent.dir/src/micrortps_agent/ObstacleDistance_Subscriber.cpp.o
[ 92%] Building CXX object CMakeFiles/micrortps_agent.dir/src/micrortps_agent/OpticalFlow_Subscriber.cpp.o
[ 93%] Building CXX object CMakeFiles/micrortps_agent.dir/src/micrortps_agent/PositionSetpoint_Subscriber.cpp.o
[ 93%] Building CXX object CMakeFiles/micrortps_agent.dir/src/micrortps_agent/PositionSetpointTriplet_Subscriber.cpp.o
[ 94%] Building CXX object CMakeFiles/micrortps_agent.dir/src/micrortps_agent/Timesync_Subscriber.cpp.o
[ 95%] Building CXX object CMakeFiles/micrortps_agent.dir/src/micrortps_agent/TrajectoryWaypoint_Subscriber.cpp.o
[ 96%] Building CXX object CMakeFiles/micrortps_agent.dir/src/micrortps_agent/DebugValue_Subscriber.cpp.o
[ 97%] Building CXX object CMakeFiles/micrortps_agent.dir/src/micrortps_agent/VehicleTrajectoryWaypoint_Subscriber.cpp.o
[ 97%] Building CXX object CMakeFiles/micrortps_agent.dir/src/micrortps_agent/DebugKeyValue_Subscriber.cpp.o
[ 98%] Building CXX object CMakeFiles/micrortps_agent.dir/src/micrortps_agent/OnboardComputerStatus_Subscriber.cpp.o
[ 99%] Building CXX object CMakeFiles/micrortps_agent.dir/src/micrortps_agent/VehicleMocapOdometry_Subscriber.cpp.o
[ 99%] Building CXX object CMakeFiles/micrortps_agent.dir/src/micrortps_agent/VehicleVisualOdometry_Subscriber.cpp.o
[100%] Linking CXX executable micrortps_agent                    
[100%] Built target micrortps_agent                               
CMakeFiles/micrortps_agent.dir/build.make:353: warning: overriding recipe for target '/home/henry/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/Timesync_.cpp'
CMakeFiles/micrortps_agent.dir/build.make:182: warning: ignoring old recipe for target '/home/henry/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/Timesync_.cpp'
CMakeFiles/micrortps_agent.dir/build.make:356: warning: overriding recipe for target '/home/henry/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/Timesync_PubSubTypes.cpp'
CMakeFiles/micrortps_agent.dir/build.make:185: warning: ignoring old recipe for target '/home/henry/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/Timesync_PubSubTypes.cpp'
CMakeFiles/micrortps_agent.dir/build.make:359: warning: overriding recipe for target '/home/henry/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/Timesync_PubSubTypes.h'
CMakeFiles/micrortps_agent.dir/build.make:188: warning: ignoring old recipe for target '/home/henry/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/Timesync_PubSubTypes.h'
[  2%] Built target vehicle_gps_position_listener              
CMakeFiles/micrortps_agent.dir/build.make:353: warning: overriding recipe for target '/home/henry/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/Timesync_.cpp'
CMakeFiles/micrortps_agent.dir/build.make:182: warning: ignoring old recipe for target '/home/henry/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/Timesync_.cpp'
CMakeFiles/micrortps_agent.dir/build.make:356: warning: overriding recipe for target '/home/henry/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/Timesync_PubSubTypes.cpp'
CMakeFiles/micrortps_agent.dir/build.make:185: warning: ignoring old recipe for target '/home/henry/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/Timesync_PubSubTypes.cpp'
CMakeFiles/micrortps_agent.dir/build.make:359: warning: overriding recipe for target '/home/henry/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/Timesync_PubSubTypes.h'
CMakeFiles/micrortps_agent.dir/build.make:188: warning: ignoring old recipe for target '/home/henry/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/Timesync_PubSubTypes.h'
[ 95%] Built target micrortps_agent
[ 97%] Built target frame_transforms
[ 98%] Built target debug_vect_advertiser
[100%] Built target sensor_combined_listener
Install the project...                                              
-- Install configuration: ""
-- Execute custom install script
-- Symlinking: /home/henry/px4_ros_com_ros2/install/px4_ros_com/lib/px4_ros_com/sensor_combined_listener
-- Symlinking: /home/henry/px4_ros_com_ros2/install/px4_ros_com/lib/px4_ros_com/vehicle_gps_position_listener
-- Symlinking: /home/henry/px4_ros_com_ros2/install/px4_ros_com/lib/px4_ros_com/debug_vect_advertiser
-- Symlinking: /home/henry/px4_ros_com_ros2/install/px4_ros_com/share/px4_ros_com/environment/library_path.sh
-- Symlinking: /home/henry/px4_ros_com_ros2/install/px4_ros_com/include/px4_ros_com/frame_transforms.h
-- Symlinking: /home/henry/px4_ros_com_ros2/install/px4_ros_com/share/px4_ros_com/cmake/EnableC++XX.cmake
-- Symlinking: /home/henry/px4_ros_com_ros2/install/px4_ros_com/share/px4_ros_com/cmake/EnableSanitizers.cmake
-- Symlinking: /home/henry/px4_ros_com_ros2/install/px4_ros_com/share/px4_ros_com/cmake/GenerateMicroRTPSAgent.cmake
-- Symlinking: /home/henry/px4_ros_com_ros2/install/px4_ros_com/share/px4_ros_com/launch/sensor_combined_listener.launch.py
-- Symlinking: /home/henry/px4_ros_com_ros2/install/px4_ros_com/share/px4_ros_com/test/__init__.py
-- Symlinking: /home/henry/px4_ros_com_ros2/install/px4_ros_com/share/px4_ros_com/test/pipeline_io_test.py
-- Symlinking: /home/henry/px4_ros_com_ros2/install/px4_ros_com/share/px4_ros_com/test/test_input.py
-- Symlinking: /home/henry/px4_ros_com_ros2/install/px4_ros_com/share/px4_ros_com/test/test_output.py
-- Symlinking: /home/henry/px4_ros_com_ros2/install/px4_ros_com/share/ament_index/resource_index/package_run_dependencies/px4_ros_com
-- Symlinking: /home/henry/px4_ros_com_ros2/install/px4_ros_com/share/ament_index/resource_index/parent_prefix_path/px4_ros_com
-- Symlinking: /home/henry/px4_ros_com_ros2/install/px4_ros_com/share/px4_ros_com/environment/ament_prefix_path.sh
[Processing: px4_ros_com]
-- Symlinking: /home/henry/px4_ros_com_ros2/install/px4_ros_com/share/px4_ros_com/environment/path.sh
-- Symlinking: /home/henry/px4_ros_com_ros2/install/px4_ros_com/share/px4_ros_com/local_setup.bash
-- Symlinking: /home/henry/px4_ros_com_ros2/install/px4_ros_com/share/px4_ros_com/local_setup.sh
-- Symlinking: /home/henry/px4_ros_com_ros2/install/px4_ros_com/share/px4_ros_com/local_setup.zsh
-- Symlinking: /home/henry/px4_ros_com_ros2/install/px4_ros_com/share/ament_index/resource_index/packages/px4_ros_com
-- Symlinking: /home/henry/px4_ros_com_ros2/install/px4_ros_com/share/px4_ros_com/cmake/ament_cmake_export_dependencies-extras.cmake
-- Symlinking: /home/henry/px4_ros_com_ros2/install/px4_ros_com/share/px4_ros_com/cmake/ament_cmake_export_interfaces-extras.cmake
-- Symlinking: /home/henry/px4_ros_com_ros2/install/px4_ros_com/share/px4_ros_com/cmake/ament_cmake_export_include_directories-extras.cmake
-- Symlinking: /home/henry/px4_ros_com_ros2/install/px4_ros_com/share/px4_ros_com/cmake/ament_cmake_export_libraries-extras.cmake
-- Symlinking: /home/henry/px4_ros_com_ros2/install/px4_ros_com/share/px4_ros_com/cmake/px4_ros_comConfig.cmake
-- Symlinking: /home/henry/px4_ros_com_ros2/install/px4_ros_com/share/px4_ros_com/cmake/px4_ros_comConfig-version.cmake
-- Symlinking: /home/henry/px4_ros_com_ros2/install/px4_ros_com/share/px4_ros_com/package.xml
-- Installing: /home/henry/px4_ros_com_ros2/install/px4_ros_com/lib/libframe_transforms.so
-- Set runtime path of "/home/henry/px4_ros_com_ros2/install/px4_ros_com/lib/libframe_transforms.so" to ""
-- Installing: /home/henry/px4_ros_com_ros2/install/px4_ros_com/bin/micrortps_agent
-- Set runtime path of "/home/henry/px4_ros_com_ros2/install/px4_ros_com/bin/micrortps_agent" to ""
-- Installing: /home/henry/px4_ros_com_ros2/install/px4_ros_com/share/px4_ros_com/cmake/export_frame_transformsExport.cmake
-- Installing: /home/henry/px4_ros_com_ros2/install/px4_ros_com/share/px4_ros_com/cmake/export_frame_transformsExport-noconfig.cmake
--- stderr: px4_ros_com
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
CMakeFiles/micrortps_agent.dir/build.make:353: warning: overriding recipe for target '/home/henry/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/Timesync_.cpp'
CMakeFiles/micrortps_agent.dir/build.make:182: warning: ignoring old recipe for target '/home/henry/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/Timesync_.cpp'
CMakeFiles/micrortps_agent.dir/build.make:356: warning: overriding recipe for target '/home/henry/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/Timesync_PubSubTypes.cpp'
CMakeFiles/micrortps_agent.dir/build.make:185: warning: ignoring old recipe for target '/home/henry/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/Timesync_PubSubTypes.cpp'
CMakeFiles/micrortps_agent.dir/build.make:359: warning: overriding recipe for target '/home/henry/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/Timesync_PubSubTypes.h'
CMakeFiles/micrortps_agent.dir/build.make:188: warning: ignoring old recipe for target '/home/henry/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/Timesync_PubSubTypes.h'
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
/sbin/ldconfig.real: Path `/usr/local/lib' given more than once
/sbin/ldconfig.real: Can't stat /usr/local/lib/x86_64-linux-gnu: No such file or directory
/sbin/ldconfig.real: Path `/lib/x86_64-linux-gnu' given more than once
/sbin/ldconfig.real: Path `/usr/lib/x86_64-linux-gnu' given more than once
/sbin/ldconfig.real: Can't unlink /usr/local/lib/libfastrtps.so.1
/sbin/ldconfig.real: /lib/x86_64-linux-gnu/ld-2.27.so is the dynamic linker, ignoring

/sbin/ldconfig.real: Can't create temporary cache file /etc/ld.so.cache~: Permission denied
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
CMakeFiles/micrortps_agent.dir/build.make:353: warning: overriding recipe for target '/home/henry/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/Timesync_.cpp'
CMakeFiles/micrortps_agent.dir/build.make:182: warning: ignoring old recipe for target '/home/henry/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/Timesync_.cpp'
CMakeFiles/micrortps_agent.dir/build.make:356: warning: overriding recipe for target '/home/henry/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/Timesync_PubSubTypes.cpp'
CMakeFiles/micrortps_agent.dir/build.make:185: warning: ignoring old recipe for target '/home/henry/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/Timesync_PubSubTypes.cpp'
CMakeFiles/micrortps_agent.dir/build.make:359: warning: overriding recipe for target '/home/henry/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/Timesync_PubSubTypes.h'
CMakeFiles/micrortps_agent.dir/build.make:188: warning: ignoring old recipe for target '/home/henry/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/Timesync_PubSubTypes.h'
In file included from /home/henry/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/microRTPS_agent.cpp:52:0:
/home/henry/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/microRTPS_timesync.h: In member function ‘uint64_t TimeSync::setMsgTimestamp(timesync_msg_t*, const uint64_t&)’:
/home/henry/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/microRTPS_timesync.h:170:115: warning: no return statement in function returning non-void [-Wreturn-type]
  inline uint64_t setMsgTimestamp(timesync_msg_t* msg, const uint64_t& timestamp) { msg->timestamp_() = timestamp; }
                                                                                                                   ^
/home/henry/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/microRTPS_timesync.h: In member function ‘uint8_t TimeSync::setMsgSysID(timesync_msg_t*, const uint8_t&)’:
/home/henry/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/microRTPS_timesync.h:171:100: warning: no return statement in function returning non-void [-Wreturn-type]
  inline uint8_t setMsgSysID(timesync_msg_t* msg, const uint8_t& sys_id) { msg->sys_id_() = sys_id; }
                                                                                                    ^
/home/henry/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/microRTPS_timesync.h: In member function ‘uint8_t TimeSync::setMsgSeq(timesync_msg_t*, const uint8_t&)’:
/home/henry/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/microRTPS_timesync.h:172:89: warning: no return statement in function returning non-void [-Wreturn-type]
  inline uint8_t setMsgSeq(timesync_msg_t* msg, const uint8_t& seq) { msg->seq_() = seq; }
                                                                                         ^
/home/henry/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/microRTPS_timesync.h: In member function ‘int64_t TimeSync::setMsgTC1(timesync_msg_t*, const int64_t&)’:
/home/henry/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/microRTPS_timesync.h:173:89: warning: no return statement in function returning non-void [-Wreturn-type]
  inline int64_t setMsgTC1(timesync_msg_t* msg, const int64_t& tc1) { msg->tc1_() = tc1; }
                                                                                         ^
/home/henry/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/microRTPS_timesync.h: In member function ‘int64_t TimeSync::setMsgTS1(timesync_msg_t*, const int64_t&)’:
/home/henry/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/microRTPS_timesync.h:174:89: warning: no return statement in function returning non-void [-Wreturn-type]
  inline int64_t setMsgTS1(timesync_msg_t* msg, const int64_t& ts1) { msg->ts1_() = ts1; }
                                                                                         ^
In file included from /home/henry/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/microRTPS_agent.cpp:53:0:
/home/henry/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/RtpsTopics.h: In member function ‘uint64_t RtpsTopics::setMsgTimestamp(T*, const uint64_t&)’:
/home/henry/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/RtpsTopics.h:175:105: warning: no return statement in function returning non-void [-Wreturn-type]
     inline uint64_t setMsgTimestamp(T* msg, const uint64_t& timestamp) { msg->timestamp_() = timestamp; }
                                                                                                         ^
/home/henry/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/RtpsTopics.h: In member function ‘uint8_t RtpsTopics::setMsgSysID(T*, const uint8_t&)’:
/home/henry/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/RtpsTopics.h:178:90: warning: no return statement in function returning non-void [-Wreturn-type]
     inline uint8_t setMsgSysID(T* msg, const uint8_t& sys_id) { msg->sys_id_() = sys_id; }
                                                                                          ^
/home/henry/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/RtpsTopics.h: In member function ‘uint8_t RtpsTopics::setMsgSeq(T*, const uint8_t&)’:
/home/henry/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/RtpsTopics.h:181:79: warning: no return statement in function returning non-void [-Wreturn-type]
     inline uint8_t setMsgSeq(T* msg, const uint8_t& seq) { msg->seq_() = seq; }
                                                                               ^
In file included from /home/henry/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/RtpsTopics.h:38:0,
                 from /home/henry/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/RtpsTopics.cpp:34:
/home/henry/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/microRTPS_timesync.h: In member function ‘uint64_t TimeSync::setMsgTimestamp(timesync_msg_t*, const uint64_t&)’:
/home/henry/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/microRTPS_timesync.h:170:115: warning: no return statement in function returning non-void [-Wreturn-type]
  inline uint64_t setMsgTimestamp(timesync_msg_t* msg, const uint64_t& timestamp) { msg->timestamp_() = timestamp; }
                                                                                                                   ^
/home/henry/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/microRTPS_timesync.h: In member function ‘uint8_t TimeSync::setMsgSysID(timesync_msg_t*, const uint8_t&)’:
/home/henry/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/microRTPS_timesync.h:171:100: warning: no return statement in function returning non-void [-Wreturn-type]
  inline uint8_t setMsgSysID(timesync_msg_t* msg, const uint8_t& sys_id) { msg->sys_id_() = sys_id; }
                                                                                                    ^
/home/henry/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/microRTPS_timesync.h: In member function ‘uint8_t TimeSync::setMsgSeq(timesync_msg_t*, const uint8_t&)’:
/home/henry/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/microRTPS_timesync.h:172:89: warning: no return statement in function returning non-void [-Wreturn-type]
  inline uint8_t setMsgSeq(timesync_msg_t* msg, const uint8_t& seq) { msg->seq_() = seq; }
                                                                                         ^
/home/henry/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/microRTPS_timesync.h: In member function ‘int64_t TimeSync::setMsgTC1(timesync_msg_t*, const int64_t&)’:
/home/henry/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/microRTPS_timesync.h:173:89: warning: no return statement in function returning non-void [-Wreturn-type]
  inline int64_t setMsgTC1(timesync_msg_t* msg, const int64_t& tc1) { msg->tc1_() = tc1; }
                                                                                         ^
/home/henry/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/microRTPS_timesync.h: In member function ‘int64_t TimeSync::setMsgTS1(timesync_msg_t*, const int64_t&)’:
/home/henry/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/microRTPS_timesync.h:174:89: warning: no return statement in function returning non-void [-Wreturn-type]
  inline int64_t setMsgTS1(timesync_msg_t* msg, const int64_t& ts1) { msg->ts1_() = ts1; }
                                                                                         ^
In file included from /home/henry/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/RtpsTopics.cpp:34:0:
/home/henry/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/RtpsTopics.h: In member function ‘uint64_t RtpsTopics::setMsgTimestamp(T*, const uint64_t&)’:
/home/henry/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/RtpsTopics.h:175:105: warning: no return statement in function returning non-void [-Wreturn-type]
     inline uint64_t setMsgTimestamp(T* msg, const uint64_t& timestamp) { msg->timestamp_() = timestamp; }
                                                                                                         ^
/home/henry/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/RtpsTopics.h: In member function ‘uint8_t RtpsTopics::setMsgSysID(T*, const uint8_t&)’:
/home/henry/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/RtpsTopics.h:178:90: warning: no return statement in function returning non-void [-Wreturn-type]
     inline uint8_t setMsgSysID(T* msg, const uint8_t& sys_id) { msg->sys_id_() = sys_id; }
                                                                                          ^
/home/henry/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/RtpsTopics.h: In member function ‘uint8_t RtpsTopics::setMsgSeq(T*, const uint8_t&)’:
/home/henry/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/RtpsTopics.h:181:79: warning: no return statement in function returning non-void [-Wreturn-type]
     inline uint8_t setMsgSeq(T* msg, const uint8_t& seq) { msg->seq_() = seq; }
                                                                               ^
In file included from /home/henry/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/microRTPS_timesync.cpp:42:0:
/home/henry/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/microRTPS_timesync.h: In member function ‘uint64_t TimeSync::setMsgTimestamp(timesync_msg_t*, const uint64_t&)’:
/home/henry/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/microRTPS_timesync.h:170:115: warning: no return statement in function returning non-void [-Wreturn-type]
  inline uint64_t setMsgTimestamp(timesync_msg_t* msg, const uint64_t& timestamp) { msg->timestamp_() = timestamp; }
                                                                                                                   ^
/home/henry/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/microRTPS_timesync.h: In member function ‘uint8_t TimeSync::setMsgSysID(timesync_msg_t*, const uint8_t&)’:
/home/henry/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/microRTPS_timesync.h:171:100: warning: no return statement in function returning non-void [-Wreturn-type]
  inline uint8_t setMsgSysID(timesync_msg_t* msg, const uint8_t& sys_id) { msg->sys_id_() = sys_id; }
                                                                                                    ^
/home/henry/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/microRTPS_timesync.h: In member function ‘uint8_t TimeSync::setMsgSeq(timesync_msg_t*, const uint8_t&)’:
/home/henry/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/microRTPS_timesync.h:172:89: warning: no return statement in function returning non-void [-Wreturn-type]
  inline uint8_t setMsgSeq(timesync_msg_t* msg, const uint8_t& seq) { msg->seq_() = seq; }
                                                                                         ^
/home/henry/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/microRTPS_timesync.h: In member function ‘int64_t TimeSync::setMsgTC1(timesync_msg_t*, const int64_t&)’:
/home/henry/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/microRTPS_timesync.h:173:89: warning: no return statement in function returning non-void [-Wreturn-type]
  inline int64_t setMsgTC1(timesync_msg_t* msg, const int64_t& tc1) { msg->tc1_() = tc1; }
                                                                                         ^
/home/henry/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/microRTPS_timesync.h: In member function ‘int64_t TimeSync::setMsgTS1(timesync_msg_t*, const int64_t&)’:
/home/henry/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/microRTPS_timesync.h:174:89: warning: no return statement in function returning non-void [-Wreturn-type]
  inline int64_t setMsgTS1(timesync_msg_t* msg, const int64_t& ts1) { msg->ts1_() = ts1; }
                                                                                         ^
CMakeFiles/micrortps_agent.dir/build.make:353: warning: overriding recipe for target '/home/henry/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/Timesync_.cpp'
CMakeFiles/micrortps_agent.dir/build.make:182: warning: ignoring old recipe for target '/home/henry/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/Timesync_.cpp'
CMakeFiles/micrortps_agent.dir/build.make:356: warning: overriding recipe for target '/home/henry/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/Timesync_PubSubTypes.cpp'
CMakeFiles/micrortps_agent.dir/build.make:185: warning: ignoring old recipe for target '/home/henry/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/Timesync_PubSubTypes.cpp'
CMakeFiles/micrortps_agent.dir/build.make:359: warning: overriding recipe for target '/home/henry/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/Timesync_PubSubTypes.h'
CMakeFiles/micrortps_agent.dir/build.make:188: warning: ignoring old recipe for target '/home/henry/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/Timesync_PubSubTypes.h'
CMakeFiles/micrortps_agent.dir/build.make:353: warning: overriding recipe for target '/home/henry/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/Timesync_.cpp'
CMakeFiles/micrortps_agent.dir/build.make:182: warning: ignoring old recipe for target '/home/henry/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/Timesync_.cpp'
CMakeFiles/micrortps_agent.dir/build.make:356: warning: overriding recipe for target '/home/henry/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/Timesync_PubSubTypes.cpp'
CMakeFiles/micrortps_agent.dir/build.make:185: warning: ignoring old recipe for target '/home/henry/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/Timesync_PubSubTypes.cpp'
CMakeFiles/micrortps_agent.dir/build.make:359: warning: overriding recipe for target '/home/henry/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/Timesync_PubSubTypes.h'
CMakeFiles/micrortps_agent.dir/build.make:188: warning: ignoring old recipe for target '/home/henry/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/Timesync_PubSubTypes.h'
---
Finished <<< px4_ros_com [3min 0s]

Summary: 2 packages finished [15min 33s]
  1 package had stderr output: px4_ros_com

Different versions tried:

  • fastrtpsgen version 1.7.1
  • fastrtpsgen version 1.7.2
  • fastrtpsgen version 1.8.0
  • I have tried running the script:
source build_all.bash --ros1_ws_dir <path/to/px4_ros_com_ros1/ws>

My ROS1 ws builds succesfully, but ROS2 breaks on the same issue

What am I doing in the meanwhile:

I have seen that master dev guide RTPS/ROS2 Interface: PX4-FastRTPS Bridge refers to using ROS2 Dashing, Fast RTPS 1.8.2 and FastRTPSGen 1.0.4. Will be installing these and test again, however my PX4 version is v1.9.0

Unable to compile the px4_ros_com package

Describe the bug
I have some compilation problems when building a PX4-Fastrtps-bridge by the px4_ros_com on a Raspberry Pi4 board. The python script generate_microRTPS_bridge.py in px4_ros_com always cannot find the fastrtpsgen in my RPI4 system. Also, the px4_msgs package has been compiled successfully.

I have installed the libraries and dependency packages as follow:
fastcdr - 1.0.10
fastrtps - 1.9.2
foonathan_memory - 0.6.2.a
fastrtpsgen in /home/pi/Fast-RTPS-Gen/scripts/
Java1.8.0 - JDK 1.8.0_231 in /usr/lib/jvm/jdk1.8.0_231
Gradle - 4.4.1
ROS2 - Dashing (by Building from source)
px4_msgs - master

To Reproduce

  1. export FASTRTPSGEN_DIR="/home/pi/Fast-RTPS-Gen/scripts/"
  2. Into the workspace of the px4_ros_com_ros2.
  3. colcon build --symlink-install --packages-skip px4_msgs --event-handlers console_direct+

Expected behavior
Help me to get a way which can make generate_microRTPS_bridge.py find the fastrtpsgen program.

Log Files and Screenshots

pi@OFFBOARD:~/px4_ros_com_ros2$ colcon build --symlink-install --packages-skip px4_msgs --event-handlers console_direct+
Starting >>> px4_ros_com
[  1%] Generating micro-RTPS agent code...      
Traceback (most recent call last):                 
  File "/home/pi/px4_ros_com_ros2/src/px4_ros_com/scripts/generate_microRTPS_bridge.py", line 261, in <module>
    "FastRTPSGen not found. Specify the location of fastrtpsgen with the -f flag")
Exception: FastRTPSGen not found. Specify the location of fastrtpsgen with the -f flag
CMakeFiles/micrortps_agent.dir/build.make:61: recipe for target '/home/pi/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/microRTPS_agent.cpp' failed
make[2]: *** [/home/pi/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/microRTPS_agent.cpp] Error 1
CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/micrortps_agent.dir/all' failed
Makefile:140: recipe for target 'all' failed
make[1]: *** [CMakeFiles/micrortps_agent.dir/all] Error 2
make: *** [all] Error 2
--- stderr: px4_ros_com
Traceback (most recent call last):
  File "/home/pi/px4_ros_com_ros2/src/px4_ros_com/scripts/generate_microRTPS_bridge.py", line 261, in <module>
    "FastRTPSGen not found. Specify the location of fastrtpsgen with the -f flag")
Exception: FastRTPSGen not found. Specify the location of fastrtpsgen with the -f flag
make[2]: *** [/home/pi/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/microRTPS_agent.cpp] Error 1
make[1]: *** [CMakeFiles/micrortps_agent.dir/all] Error 2
make: *** [all] Error 2
---
Failed   <<< px4_ros_com	[ Exited with code 2 ]

Summary: 0 packages finished [4.54s]
  1 package failed: px4_ros_com
  1 package had stderr output: px4_ros_com

Topic type format

Hi,

When I use px4_ros_com, I found the topic type is different from ROS.

For example, I thought that valid topic type is "px4_msgs/msg/AdcReport" not px4_msgs::msg::AdcReport/

So when I test it, I found the error message lilke below

root@stmoon-XPS-13-9370:~/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent# ros2 topic echo /Airspeed_PubSubTopic
The passed message type is invalid

How can I change the message type?

(I use ROS2 dashing)

root@stmoon-XPS-13-9370:/# ros2 topic list -t
/AdcReport_PubSubTopic [px4_msgs::msg::AdcReport]
/Airspeed_PubSubTopic [px4_msgs::msg::Airspeed]
/BatteryStatus_PubSubTopic [px4_msgs::msg::BatteryStatus]
/CameraCapture_PubSubTopic [px4_msgs::msg::CameraCapture]
/CameraTrigger_PubSubTopic [px4_msgs::msg::CameraTrigger]
/CollisionConstraints_PubSubTopic [px4_msgs::msg::CollisionConstraints]
/CollisionReport_PubSubTopic [px4_msgs::msg::CollisionReport]
/Cpuload_PubSubTopic [root@stmoon-XPS-13-9370:/# ros2 topic list -t
/AdcReport_PubSubTopic [px4_msgs::msg::AdcReport]
/Airspeed_PubSubTopic [px4_msgs::msg::Airspeed]
/BatteryStatus_PubSubTopic [px4_msgs::msg::BatteryStatus]
/CameraCapture_PubSubTopic [px4_msgs::msg::CameraCapture]
/CameraTrigger_PubSubTopic [px4_msgs::msg::CameraTrigger]
/CollisionConstraints_PubSubTopic [px4_msgs::msg::CollisionConstraints]
/CollisionReport_PubSubTopic [px4_msgs::msg::CollisionReport]
/Cpuload_PubSubTopic [px4_msgs::msg::Cpuload]
/DebugArray_PubSubTopic [px4_msgs::msg::DebugArray]
/DebugKeyValue_PubSubTopic [px4_msgs::msg::DebugKeyValue]
/DebugValue_PubSubTopic [px4_msgs::msg::DebugValue]
/DebugVect_PubSubTopic [px4_msgs::msg::DebugVect]
/DistanceSensor_PubSubTopic [px4_msgs::msg::DistanceSensor]
/EstimatorStatus_PubSubTopic [px4_msgs::msg::EstimatorStatus]
/HomePosition_PubSubTopic [px4_msgs::msg::HomePosition]
/IridiumsbdStatus_PubSubTopic [px4_msgs::msg::IridiumsbdStatus]
/ObstacleDistance_PubSubTopic [px4_msgs::msg::ObstacleDistance]
/OnboardComputerStatus_PubSubTopic [px4_msgs::msg::OnboardComputerStatus]
/OpticalFlow_PubSubTopic [px4_msgs::msg::OpticalFlow]
/PositionSetpointTriplet_PubSubTopic [px4_msgs::msg::PositionSetpointTriplet]
/PositionSetpoint_PubSubTopic [px4_msgs::msg::PositionSetpoint]
/RadioStatus_PubSubTopic [px4_msgs::msg::RadioStatus]
/SatelliteInfo_PubSubTopic [px4_msgs::msg::SatelliteInfo]
/SensorBaro_PubSubTopic [px4_msgs::msg::SensorBaro]
/SensorCombined_PubSubTopic [px4_msgs::msg::SensorCombined]
/SensorSelection_PubSubTopic [px4_msgs::msg::SensorSelection]
/Timesync_PubSubTopic [px4_msgs::msg::Timesync]
/TrajectoryWaypoint_PubSubTopic [px4_msgs::msg::TrajectoryWaypoint]
/VehicleAttitude_PubSubTopic [px4_msgs::msg::VehicleAttitude]
/VehicleMocapOdometry_PubSubTopic [px4_msgs::msg::VehicleMocapOdometry]
/VehicleOdometry_PubSubTopic [px4_msgs::msg::VehicleOdometry]
/VehicleTrajectoryWaypoint_PubSubTopic [px4_msgs::msg::VehicleTrajectoryWaypoint]
/VehicleVisualOdometry_PubSubTopic [px4_msgs::msg::VehicleVisualOdometry]
/VtolVehicleStatus_PubSubTopic [px4_msgs::msg::VtolVehicleStatus]
/WindEstimate_PubSubTopic [px4_msgs::msg::WindEstimate]
/parameter_events [rcl_interfaces/msg/ParameterEvent]
/rosout [rcl_interfaces/msg/Log]]
/DebugArray_PubSubTopic [px4_msgs::msg::DebugArray]
/DebugKeyValue_PubSubTopic [px4_msgs::msg::DebugKeyValue]
/DebugValue_PubSubTopic [px4_msgs::msg::DebugValue]
/DebugVect_PubSubTopic [px4_msgs::msg::DebugVect]
/DistanceSensor_PubSubTopic [px4_msgs::msg::DistanceSensor]
/EstimatorStatus_PubSubTopic [px4_msgs::msg::EstimatorStatus]
/HomePosition_PubSubTopic [px4_msgs::msg::HomePosition]
/IridiumsbdStatus_PubSubTopic [px4_msgs::msg::IridiumsbdStatus]
/ObstacleDistance_PubSubTopic [px4_msgs::msg::ObstacleDistance]
/OnboardComputerStatus_PubSubTopic [px4_msgs::msg::OnboardComputerStatus]
/OpticalFlow_PubSubTopic [px4_msgs::msg::OpticalFlow]
/PositionSetpointTriplet_PubSubTopic [px4_msgs::msg::PositionSetpointTriplet]
/PositionSetpoint_PubSubTopic [px4_msgs::msg::PositionSetpoint]
/RadioStatus_PubSubTopic [px4_msgs::msg::RadioStatus]
/SatelliteInfo_PubSubTopic [px4_msgs::msg::SatelliteInfo]
/SensorBaro_PubSubTopic [px4_msgs::msg::SensorBaro]
/SensorCombined_PubSubTopic [px4_msgs::msg::SensorCombined]
/SensorSelection_PubSubTopic [px4_msgs::msg::SensorSelection]
/Timesync_PubSubTopic [px4_msgs::msg::Timesync]
/TrajectoryWaypoint_PubSubTopic [px4_msgs::msg::TrajectoryWaypoint]
/VehicleAttitude_PubSubTopic [px4_msgs::msg::VehicleAttitude]
/VehicleMocapOdometry_PubSubTopic [px4_msgs::msg::VehicleMocapOdometry]
/VehicleOdometry_PubSubTopic [px4_msgs::msg::VehicleOdometry]
/VehicleTrajectoryWaypoint_PubSubTopic [px4_msgs::msg::VehicleTrajectoryWaypoint]
/VehicleVisualOdometry_PubSubTopic [px4_msgs::msg::VehicleVisualOdometry]
/VtolVehicleStatus_PubSubTopic [px4_msgs::msg::VtolVehicleStatus]
/WindEstimate_PubSubTopic [px4_msgs::msg::WindEstimate]
/parameter_events [rcl_interfaces/msg/ParameterEvent]
/rosout [rcl_interfaces/msg/Log]

ROS2 installation error - fastrtps

Hey guys,

I installed ROS 2 dashing and be using ROS melodic.
I Installed Fast RTPS 1.8.2 and FastRTPSGen 1.0.4, cloned the px4 repositories like described here.

However, when I run colcon build --symlink-install --packages-skip ros1_bridge --event-handlers console_direct+ i get the following output:

Finished <<< px4_msgs [15.0s]
Starting >>> px4_ros_com
-- Using C++17 compiler                          
-- Found ament_cmake: 0.7.4 (/opt/ros/dashing/share/ament_cmake/cmake)
-- Using PYTHON_EXECUTABLE: /usr/bin/python3
-- Override CMake install command with custom implementation using symlinks instead of copying resources
-- Found builtin_interfaces: 0.7.4 (/opt/ros/dashing/share/builtin_interfaces/cmake)
-- Found rosidl_adapter: 0.7.9 (/opt/ros/dashing/share/rosidl_adapter/cmake)
-- Found rclcpp: 0.7.13 (/opt/ros/dashing/share/rclcpp/cmake)
-- Found rmw_implementation_cmake: 0.7.2 (/opt/ros/dashing/share/rmw_implementation_cmake/cmake)
-- Using RMW implementation 'rmw_fastrtps_cpp' as default
-- Found rmw_fastrtps_cpp: 0.7.7 (/opt/ros/dashing/share/rmw_fastrtps_cpp/cmake)
-- Found px4_msgs: 2.0.1 (/home/falke/px4_ros_com_ros2/install/px4_msgs/share/px4_msgs/cmake)
-- Found sensor_msgs: 0.7.0 (/opt/ros/dashing/share/sensor_msgs/cmake)
-- Found eigen3_cmake_module: 0.1.1 (/opt/ros/dashing/share/eigen3_cmake_module/cmake)
-- fastrtpsgen found in /usr/local/bin
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
-- fastrtpsgen version 1.0.4
-- Retrieving list of msgs to send...
-- List of msgs to send: CameraCapture, CameraTrigger, CollisionReport, DebugArray, DebugKeyValue, DebugValue, DebugVect, ObstacleDistance, OpticalFlow, PositionSetpoint, PositionSetpointTriplet, Timesync, TrajectoryWaypoint, VehicleTrajectoryWaypoint, OnboardComputerStatus, VehicleMocapOdometry, VehicleVisualOdometry
-- Retrieving list of msgs to receive...
-- List of msgs to receive: AdcReport, Airspeed, BatteryStatus, Cpuload, DistanceSensor, EstimatorStatus, HomePosition, IridiumsbdStatus, RadioStatus, SatelliteInfo, SensorBaro, SensorCombined, SensorSelection, Timesync, VehicleAttitude, VehicleOdometry, VtolVehicleStatus, WindEstimate, CollisionConstraints
-- fastrtpsgen found in 
-- px4_msgs message dir under /home/falke/px4_ros_com_ros2/install/px4_msgs/share/px4_msgs/msg
-- IDL definitions under /home/falke/px4_ros_com_ros2/install/px4_msgs/share/px4_msgs/msg
-- Configuring done
-- Generating done                               
-- Build files have been written to: /home/falke/px4_ros_com_ros2/build/px4_ros_com
[  2%] Built target sensor_combined_listener     
[  3%] Built target debug_vect_advertiser
[  5%] Built target vehicle_gps_position_listener
[  7%] Built target frame_transforms
CMakeFiles/micrortps_agent.dir/build.make:373: warning: overriding recipe for target '/home/falke/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/Timesync.cpp'
CMakeFiles/micrortps_agent.dir/build.make:202: warning: ignoring old recipe for target '/home/falke/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/Timesync.cpp'
CMakeFiles/micrortps_agent.dir/build.make:376: warning: overriding recipe for target '/home/falke/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/TimesyncPubSubTypes.cpp'
CMakeFiles/micrortps_agent.dir/build.make:205: warning: ignoring old recipe for target '/home/falke/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/TimesyncPubSubTypes.cpp'
CMakeFiles/micrortps_agent.dir/build.make:379: warning: overriding recipe for target '/home/falke/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/TimesyncPubSubTypes.h'
CMakeFiles/micrortps_agent.dir/build.make:208: warning: ignoring old recipe for target '/home/falke/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/TimesyncPubSubTypes.h'
CMakeFiles/micrortps_agent.dir/build.make:373: warning: overriding recipe for target '/home/falke/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/Timesync.cpp'
CMakeFiles/micrortps_agent.dir/build.make:202: warning: ignoring old recipe for target '/home/falke/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/Timesync.cpp'
CMakeFiles/micrortps_agent.dir/build.make:376: warning: overriding recipe for target '/home/falke/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/TimesyncPubSubTypes.cpp'
CMakeFiles/micrortps_agent.dir/build.make:205: warning: ignoring old recipe for target '/home/falke/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/TimesyncPubSubTypes.cpp'
CMakeFiles/micrortps_agent.dir/build.make:379: warning: overriding recipe for target '/home/falke/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/TimesyncPubSubTypes.h'
CMakeFiles/micrortps_agent.dir/build.make:208: warning: ignoring old recipe for target '/home/falke/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/TimesyncPubSubTypes.h'
[  9%] Building CXX object CMakeFiles/micrortps_agent.dir/src/micrortps_agent/Airspeed_Publisher.cpp.o
[  9%] Building CXX object CMakeFiles/micrortps_agent.dir/src/micrortps_agent/AdcReport_Publisher.cpp.o
[ 10%] Building CXX object CMakeFiles/micrortps_agent.dir/src/micrortps_agent/BatteryStatus_Publisher.cpp.o
[ 11%] Building CXX object CMakeFiles/micrortps_agent.dir/src/micrortps_agent/Cpuload_Publisher.cpp.o
[ 12%] Building CXX object CMakeFiles/micrortps_agent.dir/src/micrortps_agent/DistanceSensor_Publisher.cpp.o
[ 13%] Building CXX object CMakeFiles/micrortps_agent.dir/src/micrortps_agent/HomePosition_Publisher.cpp.o
[ 14%] Building CXX object CMakeFiles/micrortps_agent.dir/src/micrortps_agent/IridiumsbdStatus_Publisher.cpp.o
[ 14%] Building CXX object CMakeFiles/micrortps_agent.dir/src/micrortps_agent/EstimatorStatus_Publisher.cpp.o
/home/falke/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/DistanceSensor_Publisher.cpp: In member function ‘bool DistanceSensor_Publisher::init()’:
/home/falke/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/DistanceSensor_Publisher.cpp:67:25: error: ‘class eprosima::fastrtps::rtps::BuiltinAttributes’ has no member named ‘discovery_config’
     PParam.rtps.builtin.discovery_config.leaseDuration = c_TimeInfinite;
                         ^~~~~~~~~~~~~~~~
/home/falke/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/BatteryStatus_Publisher.cpp: In member function ‘bool BatteryStatus_Publisher::init()’:
/home/falke/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/BatteryStatus_Publisher.cpp:67:25: error: ‘class eprosima::fastrtps::rtps::BuiltinAttributes’ has no member named ‘discovery_config’
     PParam.rtps.builtin.discovery_config.leaseDuration = c_TimeInfinite;
                         ^~~~~~~~~~~~~~~~
/home/falke/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/Cpuload_Publisher.cpp: In member function ‘bool Cpuload_Publisher::init()’:
/home/falke/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/Cpuload_Publisher.cpp:67:25: error: ‘class eprosima::fastrtps::rtps::BuiltinAttributes’ has no member named ‘discovery_config’
     PParam.rtps.builtin.discovery_config.leaseDuration = c_TimeInfinite;
                         ^~~~~~~~~~~~~~~~
/home/falke/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/Airspeed_Publisher.cpp: In member function ‘bool Airspeed_Publisher::init()’:
/home/falke/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/Airspeed_Publisher.cpp:67:25: error: ‘class eprosima::fastrtps::rtps::BuiltinAttributes’ has no member named ‘discovery_config’
     PParam.rtps.builtin.discovery_config.leaseDuration = c_TimeInfinite;
                         ^~~~~~~~~~~~~~~~
/home/falke/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/IridiumsbdStatus_Publisher.cpp: In member function ‘bool IridiumsbdStatus_Publisher::init()’:
/home/falke/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/IridiumsbdStatus_Publisher.cpp:67:25: error: ‘class eprosima::fastrtps::rtps::BuiltinAttributes’ has no member named ‘discovery_config’
     PParam.rtps.builtin.discovery_config.leaseDuration = c_TimeInfinite;
                         ^~~~~~~~~~~~~~~~
/home/falke/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/EstimatorStatus_Publisher.cpp: In member function ‘bool EstimatorStatus_Publisher::init()’:
/home/falke/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/EstimatorStatus_Publisher.cpp:67:25: error: ‘class eprosima::fastrtps::rtps::BuiltinAttributes’ has no member named ‘discovery_config’
     PParam.rtps.builtin.discovery_config.leaseDuration = c_TimeInfinite;
                         ^~~~~~~~~~~~~~~~
/home/falke/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/AdcReport_Publisher.cpp: In member function ‘bool AdcReport_Publisher::init()’:
/home/falke/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/AdcReport_Publisher.cpp:67:25: error: ‘class eprosima::fastrtps::rtps::BuiltinAttributes’ has no member named ‘discovery_config’
     PParam.rtps.builtin.discovery_config.leaseDuration = c_TimeInfinite;
                         ^~~~~~~~~~~~~~~~
/home/falke/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/HomePosition_Publisher.cpp: In member function ‘bool HomePosition_Publisher::init()’:
/home/falke/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/HomePosition_Publisher.cpp:67:25: error: ‘class eprosima::fastrtps::rtps::BuiltinAttributes’ has no member named ‘discovery_config’
     PParam.rtps.builtin.discovery_config.leaseDuration = c_TimeInfinite;
                         ^~~~~~~~~~~~~~~~
CMakeFiles/micrortps_agent.dir/build.make:1658: recipe for target 'CMakeFiles/micrortps_agent.dir/src/micrortps_agent/DistanceSensor_Publisher.cpp.o' failed
make[2]: *** [CMakeFiles/micrortps_agent.dir/src/micrortps_agent/DistanceSensor_Publisher.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
CMakeFiles/micrortps_agent.dir/build.make:1645: recipe for target 'CMakeFiles/micrortps_agent.dir/src/micrortps_agent/Cpuload_Publisher.cpp.o' failed
make[2]: *** [CMakeFiles/micrortps_agent.dir/src/micrortps_agent/Cpuload_Publisher.cpp.o] Error 1
make[2]: *** [CMakeFiles/micrortps_agent.dir/src/micrortps_agent/BatteryStatus_Publisher.cpp.o] Error 1
CMakeFiles/micrortps_agent.dir/build.make:1632: recipe for target 'CMakeFiles/micrortps_agent.dir/src/micrortps_agent/BatteryStatus_Publisher.cpp.o' failed
CMakeFiles/micrortps_agent.dir/build.make:1697: recipe for target 'CMakeFiles/micrortps_agent.dir/src/micrortps_agent/IridiumsbdStatus_Publisher.cpp.o' failed
make[2]: *** [CMakeFiles/micrortps_agent.dir/src/micrortps_agent/IridiumsbdStatus_Publisher.cpp.o] Error 1
make[2]: *** [CMakeFiles/micrortps_agent.dir/src/micrortps_agent/Airspeed_Publisher.cpp.o] Error 1
CMakeFiles/micrortps_agent.dir/build.make:1619: recipe for target 'CMakeFiles/micrortps_agent.dir/src/micrortps_agent/Airspeed_Publisher.cpp.o' failed
make[2]: *** [CMakeFiles/micrortps_agent.dir/src/micrortps_agent/EstimatorStatus_Publisher.cpp.o] Error 1
CMakeFiles/micrortps_agent.dir/build.make:1671: recipe for target 'CMakeFiles/micrortps_agent.dir/src/micrortps_agent/EstimatorStatus_Publisher.cpp.o' failed
CMakeFiles/micrortps_agent.dir/build.make:1606: recipe for target 'CMakeFiles/micrortps_agent.dir/src/micrortps_agent/AdcReport_Publisher.cpp.o' failed
make[2]: *** [CMakeFiles/micrortps_agent.dir/src/micrortps_agent/AdcReport_Publisher.cpp.o] Error 1
CMakeFiles/micrortps_agent.dir/build.make:1684: recipe for target 'CMakeFiles/micrortps_agent.dir/src/micrortps_agent/HomePosition_Publisher.cpp.o' failed
make[2]: *** [CMakeFiles/micrortps_agent.dir/src/micrortps_agent/HomePosition_Publisher.cpp.o] Error 1
make[1]: *** [CMakeFiles/micrortps_agent.dir/all] Error 2
make: *** [all] Error 2
CMakeFiles/Makefile2:158: recipe for target 'CMakeFiles/micrortps_agent.dir/all' failed
Makefile:160: recipe for target 'all' failed
--- stderr: px4_ros_com
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
CMakeFiles/micrortps_agent.dir/build.make:373: warning: overriding recipe for target '/home/falke/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/Timesync.cpp'
CMakeFiles/micrortps_agent.dir/build.make:202: warning: ignoring old recipe for target '/home/falke/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/Timesync.cpp'
CMakeFiles/micrortps_agent.dir/build.make:376: warning: overriding recipe for target '/home/falke/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/TimesyncPubSubTypes.cpp'
CMakeFiles/micrortps_agent.dir/build.make:205: warning: ignoring old recipe for target '/home/falke/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/TimesyncPubSubTypes.cpp'
CMakeFiles/micrortps_agent.dir/build.make:379: warning: overriding recipe for target '/home/falke/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/TimesyncPubSubTypes.h'
CMakeFiles/micrortps_agent.dir/build.make:208: warning: ignoring old recipe for target '/home/falke/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/TimesyncPubSubTypes.h'
CMakeFiles/micrortps_agent.dir/build.make:373: warning: overriding recipe for target '/home/falke/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/Timesync.cpp'
CMakeFiles/micrortps_agent.dir/build.make:202: warning: ignoring old recipe for target '/home/falke/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/Timesync.cpp'
CMakeFiles/micrortps_agent.dir/build.make:376: warning: overriding recipe for target '/home/falke/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/TimesyncPubSubTypes.cpp'
CMakeFiles/micrortps_agent.dir/build.make:205: warning: ignoring old recipe for target '/home/falke/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/TimesyncPubSubTypes.cpp'
CMakeFiles/micrortps_agent.dir/build.make:379: warning: overriding recipe for target '/home/falke/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/TimesyncPubSubTypes.h'
CMakeFiles/micrortps_agent.dir/build.make:208: warning: ignoring old recipe for target '/home/falke/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/TimesyncPubSubTypes.h'
/home/falke/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/DistanceSensor_Publisher.cpp: In member function ‘bool DistanceSensor_Publisher::init()’:
/home/falke/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/DistanceSensor_Publisher.cpp:67:25: error: ‘class eprosima::fastrtps::rtps::BuiltinAttributes’ has no member named ‘discovery_config’
     PParam.rtps.builtin.discovery_config.leaseDuration = c_TimeInfinite;
                         ^~~~~~~~~~~~~~~~
/home/falke/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/BatteryStatus_Publisher.cpp: In member function ‘bool BatteryStatus_Publisher::init()’:
/home/falke/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/BatteryStatus_Publisher.cpp:67:25: error: ‘class eprosima::fastrtps::rtps::BuiltinAttributes’ has no member named ‘discovery_config’
     PParam.rtps.builtin.discovery_config.leaseDuration = c_TimeInfinite;
                         ^~~~~~~~~~~~~~~~
/home/falke/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/Cpuload_Publisher.cpp: In member function ‘bool Cpuload_Publisher::init()’:
/home/falke/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/Cpuload_Publisher.cpp:67:25: error: ‘class eprosima::fastrtps::rtps::BuiltinAttributes’ has no member named ‘discovery_config’
     PParam.rtps.builtin.discovery_config.leaseDuration = c_TimeInfinite;
                         ^~~~~~~~~~~~~~~~
/home/falke/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/Airspeed_Publisher.cpp: In member function ‘bool Airspeed_Publisher::init()’:
/home/falke/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/Airspeed_Publisher.cpp:67:25: error: ‘class eprosima::fastrtps::rtps::BuiltinAttributes’ has no member named ‘discovery_config’
     PParam.rtps.builtin.discovery_config.leaseDuration = c_TimeInfinite;
                         ^~~~~~~~~~~~~~~~
/home/falke/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/IridiumsbdStatus_Publisher.cpp: In member function ‘bool IridiumsbdStatus_Publisher::init()’:
/home/falke/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/IridiumsbdStatus_Publisher.cpp:67:25: error: ‘class eprosima::fastrtps::rtps::BuiltinAttributes’ has no member named ‘discovery_config’
     PParam.rtps.builtin.discovery_config.leaseDuration = c_TimeInfinite;
                         ^~~~~~~~~~~~~~~~
/home/falke/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/EstimatorStatus_Publisher.cpp: In member function ‘bool EstimatorStatus_Publisher::init()’:
/home/falke/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/EstimatorStatus_Publisher.cpp:67:25: error: ‘class eprosima::fastrtps::rtps::BuiltinAttributes’ has no member named ‘discovery_config’
     PParam.rtps.builtin.discovery_config.leaseDuration = c_TimeInfinite;
                         ^~~~~~~~~~~~~~~~
/home/falke/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/AdcReport_Publisher.cpp: In member function ‘bool AdcReport_Publisher::init()’:
/home/falke/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/AdcReport_Publisher.cpp:67:25: error: ‘class eprosima::fastrtps::rtps::BuiltinAttributes’ has no member named ‘discovery_config’
     PParam.rtps.builtin.discovery_config.leaseDuration = c_TimeInfinite;
                         ^~~~~~~~~~~~~~~~
/home/falke/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/HomePosition_Publisher.cpp: In member function ‘bool HomePosition_Publisher::init()’:
/home/falke/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/HomePosition_Publisher.cpp:67:25: error: ‘class eprosima::fastrtps::rtps::BuiltinAttributes’ has no member named ‘discovery_config’
     PParam.rtps.builtin.discovery_config.leaseDuration = c_TimeInfinite;
                         ^~~~~~~~~~~~~~~~
make[2]: *** [CMakeFiles/micrortps_agent.dir/src/micrortps_agent/DistanceSensor_Publisher.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: *** [CMakeFiles/micrortps_agent.dir/src/micrortps_agent/Cpuload_Publisher.cpp.o] Error 1
make[2]: *** [CMakeFiles/micrortps_agent.dir/src/micrortps_agent/BatteryStatus_Publisher.cpp.o] Error 1
make[2]: *** [CMakeFiles/micrortps_agent.dir/src/micrortps_agent/IridiumsbdStatus_Publisher.cpp.o] Error 1
make[2]: *** [CMakeFiles/micrortps_agent.dir/src/micrortps_agent/Airspeed_Publisher.cpp.o] Error 1
make[2]: *** [CMakeFiles/micrortps_agent.dir/src/micrortps_agent/EstimatorStatus_Publisher.cpp.o] Error 1
make[2]: *** [CMakeFiles/micrortps_agent.dir/src/micrortps_agent/AdcReport_Publisher.cpp.o] Error 1
make[2]: *** [CMakeFiles/micrortps_agent.dir/src/micrortps_agent/HomePosition_Publisher.cpp.o] Error 1
make[1]: *** [CMakeFiles/micrortps_agent.dir/all] Error 2
make: *** [all] Error 2
---
Failed   <<< px4_ros_com	[ Exited with code 2 ]

Summary: 1 package finished [17.6s]
  1 package failed: px4_ros_com
  2 packages had stderr output: px4_msgs px4_ros_com

What might cause this? Thanks for your help!

Compilation error: No IDL files found

Hi to all,

I am addressing a compilation error compiling the px4_ros_com package. Seems that the compiler is not able to find the idl message files, as you can see from the error:

File "/home/jcacace/px4_ros_com_ros2/src/px4_ros_com/scripts/generate_microRTPS_bridge.py", line 425, in generate_agent raise Exception("No IDL files found in %s" % idl_dir) Exception: No IDL files found in /home/jcacace/px4_ros_com_ros2/install/px4_msgs/share/px4_msgs/msg/dds_fastrtps

I have compiled the px4_msgs and the client part of the fastrtps of the px4 firmware. Actually, I noticed that some idl messages are present in the upper level directory (the dds_fastrtps doesn't exist). Since I follow the documentation to use ROS2 to exchange messages with the px4: https://dev.px4.io/master/en/middleware/micrortps.html, I am quite surprised to have different message locations. Any other user experienced the same problem? Is there any possibility to specify a different location for the idl messages?

Thanks

Installing the correct version of FastRTPS for ROS2

The install script for installing eProsima/FastRTPS installs the wrong version of FastRTPS for ROS Bouncy. (1.5.0 instead of 1.6.0) which causes fastrtpsgen to complain that it does not recognize the command line arguement -I when you build the ros2 branch of px4_ros_com.

For ROS2 Bouncy you should install 1.6.0 and for ROS2 Crystal you should install 1.7.0.

px4_ros_com Build Failure

I have a similar issue with the same build command and also with the build_all.bash script. It will build the px4_msgs, but at 8% of the px4_ros_com package it fails. The ROS2 version is Dashing and I'm using fastrtpsgen version 1.7.1.

[3.431s] openjdk version "1.8.0_242"
[3.431s] OpenJDK Runtime Environment (build 1.8.0_242-8u242-b08-0ubuntu318.04-b08)
[3.432s] OpenJDK 64-Bit Server VM (build 25.242-b08, mixed mode)
[4.440s] openjdk version "1.8.0_242"
[4.441s] OpenJDK Runtime Environment (build 1.8.0_242-8u242-b08-0ubuntu3
18.04-b08)
[4.442s] OpenJDK 64-Bit Server VM (build 25.242-b08, mixed mode)
[8.938s] Traceback (most recent call last):
[8.938s] File "/home/michiel/px4_ros_com_ros2/src/px4_ros_com/scripts/generate_microRTPS_bridge.py", line 474, in
[8.939s] generate_agent(agent_out_dir)
[8.939s] File "/home/michiel/px4_ros_com_ros2/src/px4_ros_com/scripts/generate_microRTPS_bridge.py", line 400, in generate_agent
[8.939s] raise Exception("No IDL files found in %s" % idl_dir)
[8.940s] Exception: No IDL files found in /home/michiel/px4_ros_com_ros2/install/px4_msgs/share/px4_msgs/msg/dds_fastrtps
[8.976s] make[2]: *** [/home/michiel/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/microRTPS_agent.cpp] Error 1
[8.977s] make[2]: *** Deleting file '/home/michiel/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/microRTPS_agent.cpp'
[8.977s] make[1]: *** [CMakeFiles/micrortps_agent.dir/all] Error 2
[8.978s] make[1]: *** Waiting for unfinished jobs....
[17.688s] make: *** [all] Error 2

micrortps_agent compile error

My system:

Hardware: Raspberry Pi 4
CPU Architecture: aarch64
Operating System: Ubuntu 18.04 Server (headless)
ROS Version: Dashing
Fast-CDR Version: 1.0.14
Fast-RTPS Version: 1.8.3
Fast-RTPS-Gen Version: 1.0.4

My Goal:
To compile px4_ros_com WITHOUT rods1_bridge because I am only running ROS2 on my system, not ROS1.

My Actions:
I'm following the master version of this guide: https://dev.px4.io/master/en/middleware/micrortps.html
I'm running the px4_ros_com/scripts/build_ros2_workspace.bash file

My Problem:
px4_msgs succeeds in building and installing, but px4_ros_com fails when compiling the micrortps_agent object files with the following error output:

openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
Cloning into 'ros1_bridge'...
remote: Enumerating objects: 13, done.
remote: Counting objects: 100% (13/13), done.
remote: Compressing objects: 100% (11/11), done.
remote: Total 1261 (delta 4), reused 4 (delta 1), pack-reused 1248
Receiving objects: 100% (1261/1261), 1.48 MiB | 1.04 MiB/s, done.
Resolving deltas: 100% (770/770), done.
Starting >>> px4_msgs
[Processing: px4_msgs] [px4_msgs:build 7% - 30.0s]
[Processing: px4_msgs]                                 
[Processing: px4_msgs]                                       
[Processing: px4_msgs]                                       
[Processing: px4_msgs]                                       
[Processing: px4_msgs]                                       
[Processing: px4_msgs]                                       
[Processing: px4_msgs]                                       
[Processing: px4_msgs]                                       
[Processing: px4_msgs]                                       
[Processing: px4_msgs]                                       
[Processing: px4_msgs]                                       
[Processing: px4_msgs]                                        
[Processing: px4_msgs]                                        
Finished <<< px4_msgs [7min 6s]                               
Starting >>> px4_ros_com  
[Processing: px4_ros_com]                                 
[Processing: px4_ros_com]                                 
[Processing: px4_ros_com]                                      
--- stderr: px4_ros_com                                        
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
CMakeFiles/micrortps_agent.dir/build.make:353: warning: overriding recipe for target '/home/ubuntu/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/Timesync.cpp'
CMakeFiles/micrortps_agent.dir/build.make:182: warning: ignoring old recipe for target '/home/ubuntu/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/Timesync.cpp'
CMakeFiles/micrortps_agent.dir/build.make:356: warning: overriding recipe for target '/home/ubuntu/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/TimesyncPubSubTypes.cpp'
CMakeFiles/micrortps_agent.dir/build.make:185: warning: ignoring old recipe for target '/home/ubuntu/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/TimesyncPubSubTypes.cpp'
CMakeFiles/micrortps_agent.dir/build.make:359: warning: overriding recipe for target '/home/ubuntu/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/TimesyncPubSubTypes.h'
CMakeFiles/micrortps_agent.dir/build.make:188: warning: ignoring old recipe for target '/home/ubuntu/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/TimesyncPubSubTypes.h'
CMakeFiles/micrortps_agent.dir/build.make:353: warning: overriding recipe for target '/home/ubuntu/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/Timesync.cpp'
CMakeFiles/micrortps_agent.dir/build.make:182: warning: ignoring old recipe for target '/home/ubuntu/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/Timesync.cpp'
CMakeFiles/micrortps_agent.dir/build.make:356: warning: overriding recipe for target '/home/ubuntu/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/TimesyncPubSubTypes.cpp'
CMakeFiles/micrortps_agent.dir/build.make:185: warning: ignoring old recipe for target '/home/ubuntu/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/TimesyncPubSubTypes.cpp'
CMakeFiles/micrortps_agent.dir/build.make:359: warning: overriding recipe for target '/home/ubuntu/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/TimesyncPubSubTypes.h'
CMakeFiles/micrortps_agent.dir/build.make:188: warning: ignoring old recipe for target '/home/ubuntu/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/TimesyncPubSubTypes.h'
In file included from /home/ubuntu/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/microRTPS_agent.cpp:52:0:
/home/ubuntu/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/microRTPS_timesync.h: In member function ‘uint64_t TimeSync::setMsgTimestamp(timesync_msg_t*, const uint64_t&)’:
/home/ubuntu/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/microRTPS_timesync.h:170:114: warning: no return statement in function returning non-void [-Wreturn-type]
  inline uint64_t setMsgTimestamp(timesync_msg_t* msg, const uint64_t& timestamp) { msg->timestamp() = timestamp; }
                                                                                                                  ^
/home/ubuntu/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/microRTPS_timesync.h: In member function ‘uint8_t TimeSync::setMsgSysID(timesync_msg_t*, const uint8_t&)’:
/home/ubuntu/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/microRTPS_timesync.h:171:99: warning: no return statement in function returning non-void [-Wreturn-type]
  inline uint8_t setMsgSysID(timesync_msg_t* msg, const uint8_t& sys_id) { msg->sys_id() = sys_id; }
                                                                                                   ^
/home/ubuntu/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/microRTPS_timesync.h: In member function ‘uint8_t TimeSync::setMsgSeq(timesync_msg_t*, const uint8_t&)’:
/home/ubuntu/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/microRTPS_timesync.h:172:88: warning: no return statement in function returning non-void [-Wreturn-type]
  inline uint8_t setMsgSeq(timesync_msg_t* msg, const uint8_t& seq) { msg->seq() = seq; }
                                                                                        ^
/home/ubuntu/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/microRTPS_timesync.h: In member function ‘int64_t TimeSync::setMsgTC1(timesync_msg_t*, const int64_t&)’:
/home/ubuntu/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/microRTPS_timesync.h:173:88: warning: no return statement in function returning non-void [-Wreturn-type]
  inline int64_t setMsgTC1(timesync_msg_t* msg, const int64_t& tc1) { msg->tc1() = tc1; }
                                                                                        ^
/home/ubuntu/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/microRTPS_timesync.h: In member function ‘int64_t TimeSync::setMsgTS1(timesync_msg_t*, const int64_t&)’:
/home/ubuntu/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/microRTPS_timesync.h:174:88: warning: no return statement in function returning non-void [-Wreturn-type]
  inline int64_t setMsgTS1(timesync_msg_t* msg, const int64_t& ts1) { msg->ts1() = ts1; }
                                                                                        ^
In file included from /home/ubuntu/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/microRTPS_agent.cpp:53:0:
/home/ubuntu/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/RtpsTopics.h: In member function ‘uint64_t RtpsTopics::setMsgTimestamp(T*, const uint64_t&)’:
/home/ubuntu/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/RtpsTopics.h:175:104: warning: no return statement in function returning non-void [-Wreturn-type]
     inline uint64_t setMsgTimestamp(T* msg, const uint64_t& timestamp) { msg->timestamp() = timestamp; }
                                                                                                        ^
/home/ubuntu/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/RtpsTopics.h: In member function ‘uint8_t RtpsTopics::setMsgSysID(T*, const uint8_t&)’:
/home/ubuntu/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/RtpsTopics.h:178:89: warning: no return statement in function returning non-void [-Wreturn-type]
     inline uint8_t setMsgSysID(T* msg, const uint8_t& sys_id) { msg->sys_id() = sys_id; }
                                                                                         ^
/home/ubuntu/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/RtpsTopics.h: In member function ‘uint8_t RtpsTopics::setMsgSeq(T*, const uint8_t&)’:
/home/ubuntu/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/RtpsTopics.h:181:78: warning: no return statement in function returning non-void [-Wreturn-type]
     inline uint8_t setMsgSeq(T* msg, const uint8_t& seq) { msg->seq() = seq; }
                                                                              ^
In file included from /home/ubuntu/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/microRTPS_timesync.cpp:42:0:
/home/ubuntu/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/microRTPS_timesync.h: In member function ‘uint64_t TimeSync::setMsgTimestamp(timesync_msg_t*, const uint64_t&)’:
/home/ubuntu/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/microRTPS_timesync.h:170:114: warning: no return statement in function returning non-void [-Wreturn-type]
  inline uint64_t setMsgTimestamp(timesync_msg_t* msg, const uint64_t& timestamp) { msg->timestamp() = timestamp; }
                                                                                                                  ^
/home/ubuntu/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/microRTPS_timesync.h: In member function ‘uint8_t TimeSync::setMsgSysID(timesync_msg_t*, const uint8_t&)’:
/home/ubuntu/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/microRTPS_timesync.h:171:99: warning: no return statement in function returning non-void [-Wreturn-type]
  inline uint8_t setMsgSysID(timesync_msg_t* msg, const uint8_t& sys_id) { msg->sys_id() = sys_id; }
                                                                                                   ^
/home/ubuntu/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/microRTPS_timesync.h: In member function ‘uint8_t TimeSync::setMsgSeq(timesync_msg_t*, const uint8_t&)’:
/home/ubuntu/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/microRTPS_timesync.h:172:88: warning: no return statement in function returning non-void [-Wreturn-type]
  inline uint8_t setMsgSeq(timesync_msg_t* msg, const uint8_t& seq) { msg->seq() = seq; }
                                                                                        ^
/home/ubuntu/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/microRTPS_timesync.h: In member function ‘int64_t TimeSync::setMsgTC1(timesync_msg_t*, const int64_t&)’:
/home/ubuntu/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/microRTPS_timesync.h:173:88: warning: no return statement in function returning non-void [-Wreturn-type]
  inline int64_t setMsgTC1(timesync_msg_t* msg, const int64_t& tc1) { msg->tc1() = tc1; }
                                                                                        ^
/home/ubuntu/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/microRTPS_timesync.h: In member function ‘int64_t TimeSync::setMsgTS1(timesync_msg_t*, const int64_t&)’:
/home/ubuntu/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/microRTPS_timesync.h:174:88: warning: no return statement in function returning non-void [-Wreturn-type]
  inline int64_t setMsgTS1(timesync_msg_t* msg, const int64_t& ts1) { msg->ts1() = ts1; }
                                                                                        ^
In file included from /home/ubuntu/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/RtpsTopics.h:38:0,
                 from /home/ubuntu/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/RtpsTopics.cpp:34:
/home/ubuntu/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/microRTPS_timesync.h: In member function ‘uint64_t TimeSync::setMsgTimestamp(timesync_msg_t*, const uint64_t&)’:
/home/ubuntu/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/microRTPS_timesync.h:170:114: warning: no return statement in function returning non-void [-Wreturn-type]
  inline uint64_t setMsgTimestamp(timesync_msg_t* msg, const uint64_t& timestamp) { msg->timestamp() = timestamp; }
                                                                                                                  ^
/home/ubuntu/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/microRTPS_timesync.h: In member function ‘uint8_t TimeSync::setMsgSysID(timesync_msg_t*, const uint8_t&)’:
/home/ubuntu/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/microRTPS_timesync.h:171:99: warning: no return statement in function returning non-void [-Wreturn-type]
  inline uint8_t setMsgSysID(timesync_msg_t* msg, const uint8_t& sys_id) { msg->sys_id() = sys_id; }
                                                                                                   ^
/home/ubuntu/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/microRTPS_timesync.h: In member function ‘uint8_t TimeSync::setMsgSeq(timesync_msg_t*, const uint8_t&)’:
/home/ubuntu/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/microRTPS_timesync.h:172:88: warning: no return statement in function returning non-void [-Wreturn-type]
  inline uint8_t setMsgSeq(timesync_msg_t* msg, const uint8_t& seq) { msg->seq() = seq; }
                                                                                        ^
/home/ubuntu/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/microRTPS_timesync.h: In member function ‘int64_t TimeSync::setMsgTC1(timesync_msg_t*, const int64_t&)’:
/home/ubuntu/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/microRTPS_timesync.h:173:88: warning: no return statement in function returning non-void [-Wreturn-type]
  inline int64_t setMsgTC1(timesync_msg_t* msg, const int64_t& tc1) { msg->tc1() = tc1; }
                                                                                        ^
/home/ubuntu/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/microRTPS_timesync.h: In member function ‘int64_t TimeSync::setMsgTS1(timesync_msg_t*, const int64_t&)’:
/home/ubuntu/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/microRTPS_timesync.h:174:88: warning: no return statement in function returning non-void [-Wreturn-type]
  inline int64_t setMsgTS1(timesync_msg_t* msg, const int64_t& ts1) { msg->ts1() = ts1; }
                                                                                        ^
In file included from /home/ubuntu/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/RtpsTopics.cpp:34:0:
/home/ubuntu/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/RtpsTopics.h: In member function ‘uint64_t RtpsTopics::setMsgTimestamp(T*, const uint64_t&)’:
/home/ubuntu/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/RtpsTopics.h:175:104: warning: no return statement in function returning non-void [-Wreturn-type]
     inline uint64_t setMsgTimestamp(T* msg, const uint64_t& timestamp) { msg->timestamp() = timestamp; }
                                                                                                        ^
/home/ubuntu/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/RtpsTopics.h: In member function ‘uint8_t RtpsTopics::setMsgSysID(T*, const uint8_t&)’:
/home/ubuntu/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/RtpsTopics.h:178:89: warning: no return statement in function returning non-void [-Wreturn-type]
     inline uint8_t setMsgSysID(T* msg, const uint8_t& sys_id) { msg->sys_id() = sys_id; }
                                                                                         ^
/home/ubuntu/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/RtpsTopics.h: In member function ‘uint8_t RtpsTopics::setMsgSeq(T*, const uint8_t&)’:
/home/ubuntu/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/RtpsTopics.h:181:78: warning: no return statement in function returning non-void [-Wreturn-type]
     inline uint8_t setMsgSeq(T* msg, const uint8_t& seq) { msg->seq() = seq; }
                                                                              ^
/home/ubuntu/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/AdcReport_Publisher.cpp: In member function ‘bool AdcReport_Publisher::init()’:
/home/ubuntu/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/AdcReport_Publisher.cpp:67:25: error: ‘class eprosima::fastrtps::rtps::BuiltinAttributes’ has no member named ‘discovery_config’
     PParam.rtps.builtin.discovery_config.leaseDuration = c_TimeInfinite;
                         ^~~~~~~~~~~~~~~~
/home/ubuntu/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/Airspeed_Publisher.cpp: In member function ‘bool Airspeed_Publisher::init()’:
/home/ubuntu/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/Airspeed_Publisher.cpp:67:25: error: ‘class eprosima::fastrtps::rtps::BuiltinAttributes’ has no member named ‘discovery_config’
     PParam.rtps.builtin.discovery_config.leaseDuration = c_TimeInfinite;
                         ^~~~~~~~~~~~~~~~
/home/ubuntu/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/BatteryStatus_Publisher.cpp: In member function ‘bool BatteryStatus_Publisher::init()’:
/home/ubuntu/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/BatteryStatus_Publisher.cpp:67:25: error: ‘class eprosima::fastrtps::rtps::BuiltinAttributes’ has no member named ‘discovery_config’
     PParam.rtps.builtin.discovery_config.leaseDuration = c_TimeInfinite;
                         ^~~~~~~~~~~~~~~~
make[2]: *** [CMakeFiles/micrortps_agent.dir/src/micrortps_agent/AdcReport_Publisher.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
/home/ubuntu/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/Cpuload_Publisher.cpp: In member function ‘bool Cpuload_Publisher::init()’:
/home/ubuntu/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/Cpuload_Publisher.cpp:67:25: error: ‘class eprosima::fastrtps::rtps::BuiltinAttributes’ has no member named ‘discovery_config’
     PParam.rtps.builtin.discovery_config.leaseDuration = c_TimeInfinite;
                         ^~~~~~~~~~~~~~~~
make[2]: *** [CMakeFiles/micrortps_agent.dir/src/micrortps_agent/Airspeed_Publisher.cpp.o] Error 1
make[2]: *** [CMakeFiles/micrortps_agent.dir/src/micrortps_agent/BatteryStatus_Publisher.cpp.o] Error 1
make[2]: *** [CMakeFiles/micrortps_agent.dir/src/micrortps_agent/Cpuload_Publisher.cpp.o] Error 1
make[1]: *** [CMakeFiles/micrortps_agent.dir/all] Error 2
make: *** [all] Error 2
---
Failed   <<< px4_ros_com [1min 55s, exited with code 2]

Summary: 1 package finished [9min 1s]
  1 package failed: px4_ros_com
  1 package had stderr output: px4_ros_com

sensor_combined_listener does not print out message contents.

I have built and run the sensor_combined_listener example on this page https://dev.px4.io/master/en/middleware/micrortps.html. Everything builds and runs but this is the only output I get from the sensor_combined_listener:

ros2 launch px4_ros_com sensor_combined_listener.launch.py
[INFO] [launch]: All log files can be found below /home/andy/.ros/log/2020-06-11-09-21-17-147249-andy-Precision-7510-26498
[INFO] [launch]: Default logging verbosity is set to INFO
[INFO] [sensor_combined_listener-1]: process started with pid [26510]
[sensor_combined_listener-1] Starting sensor_combined listener node...

The setup I am using is:

  • Ubuntu 18.04LTS (fresh install on 5 June 2020 and fully updated).
  • ROS Eloquent (Note: ROS Melodic is not installed as I want to create a ROS2 only solution).
  • Fast-RTPS version: /opt/ros/eloquent/lib/libfastrtps.so.1.9.3
  • Fast-RTPS-Gen version: 1.0.2

I started the apps as follows:

Terminal 1. Start gazebo SITL using:

cd ~/git/PX4/Firmware
make px4_sitl_rtps gazebo

After the usual first time run delay, an iris copter is displayed on an ashpalt ground plane being shown in Gazebo.

Terminal 2. Start the client using:

cd ~/git/PX4/Firmware
./build/px4_sitl_rtps/bin/px4-micrortps_client start -t UDP

px4-micrortps_client is a symbolic link to px4. The px4 daemon is started with the command make px4_sitl_rtps gazebo.

Terminal 3. Start the agent using:

 . /opt/ros/eloquent/setup.bash
~/px4/ros_com/install/px4_ros_com/bin/micrortps_agent -t UDP

Terminal 4. Start the combined listener example.

cd ~/px4/ros_com/
. install/local_setup.bash
ros2 launch px4_ros_com sensor_combined_listener.launch.py

You should see regular updates but nothing is every printed.

I then tried using ros2 topic echo /SensorCombined_PubSubTopic but this produced an error message:

Cannot echo topic '/SensorCombined_PubSubTopic', as it contains more than one type: [px4_msgs::msg::SensorCombined, px4_msgs/msg/SensorCombined]

This looks like it is the same problem reported in #35.

Issues linking ROS2 rmw_fastrtps_cpp package after installing FastRTPS from source/binary

This is copied from #17

Another issue:

  • Installing FastRTPS from source can cause your ROS installation to fail to link correctly. This will cause even ros2 run demo_nodes_cpp talker to fail with a linker error. I have found that I can resolve this issue on my machine if I remove the system install of FastRTPS with the exclusion of the fastrtpsgen executable and .jar files and re-installing ros-$ROS2_DISTRO-desktop

Example error:
ros2 run demo_nodes_cpp talker

failed to initialized rcl init options: failed to load shared library of rmw implementation. Exception: Cannot load library: /opt/ros/crystal/lib/librmw_fastrtps_cpp.so: undefined symbol: _ZTVN8eprosima8fastrtps27DataRepresentationQosPolicyE,

[Bug][fast-CDR] Deserialization of an (unidentified) uORB msg with a bool field is throwing an exception

When running the micro-RTPS agent and after starting the micrortps_client daemon on SITL, it immediately throws an exception:

terminate called after throwing an instance of 'eprosima::fastcdr::exception::BadParamException'
  what():  Unexpected byte value in Cdr::deserialize(bool), expected 0 or 1
Aborted (core dumped)

This means there's a uORB topic which field has a value different from 0 or 1, which leads to this error.

Issues building the ros1_bridge from source

Following the installation instructions in the documentation, the command colcon build --symlink-install --packages-skip ros1_bridge --event-handlers console_direct+ in the "Building the workspaces" section fails because python3 fails to find genmsg. This is discussed here but it is never resolved. I have been running source /opt/ros/$ROS1_DISTRO/setup.bash before source /opt/ros/$ROS2_DISTRO/setup.bash to get colcon to build the ros2 workspace.

Before building ros1_bridge, you must manually set FASTRTPSGEN_DIR to the location of fastrtpsgen. (eg. export FASTRTPSGEN_DIR=/usr/local/bin). Otherwise, the build will fail with generate_microRTPS_bridge.py: error: argument -f/--fastrtpsgen-dir: expected one argument

Also, you must set export ROS2_DISTRO="bouncy" # or crystal before building.

libfastrtps installed from ros2 installation is visible at /opt/ros/<eloquent>/lib

I suggest to move the fast rtps version checking after determinating ros version and ros distro and to add:
fastrtps_version = subprocess.check_output( "ls /opt/ros/ros2_distro/lib | grep libfastrtps", shell=True).decode("utf-8").strip().split('so.')[-1]
in case
fastrtps_version = subprocess.check_output( " ldconfig -v | grep libfastrtps", #shell=True).decode("utf-8").strip().split('so.')[-1] returns error.

Missing 'genmsg' on ROS2-only workspace

I am trying to build px4_ros_com in a pure ROS2 workspace and getting the error:

[  1%] �[34m�[1mGenerating micro-RTPS agent code...�[0m
python import error:  No module named 'genmsg'

Required python packages not installed.

On a Debian/Ubuntu system please run:

  sudo apt-get install python-empy
  sudo pip install catkin_pkg

On MacOS please run:
  sudo pip install empy catkin_pkg

On Windows please run:
  easy_install empy catkin_pkg

CMakeFiles/micrortps_agent.dir/build.make:188: recipe for target '/home/christian/Downloads/px4_ws/src/px4_ros_com/src/micrortps_agent/microRTPS_agent.cpp' failed
CMakeFiles/Makefile2:419: recipe for target 'CMakeFiles/micrortps_agent.dir/all' failed
Makefile:140: recipe for target 'all' failed

I am not sourcing ROS1 and I am not trying to build the ros1_bridge. I do not see why genmsg (from ROS1) is required here and how do I satisfy this requirement with ROS2 and without ROS1.

Build failing for ROS2 workspace

Running the script build_ros2_workspace.bash in the workspace fails with the error:

/root/dev_ws/src/px4_ros_com/src/micrortps_agent/AdcReport_Publisher.cpp: In member function ‘bool AdcReport_Publisher::init()’:
/root/dev_ws/src/px4_ros_com/src/micrortps_agent/AdcReport_Publisher.cpp:67:25: error: ‘class eprosima::fastrtps::rtps::BuiltinAttributes’ has no member named ‘discovery_config’
     PParam.rtps.builtin.discovery_config.leaseDuration = c_TimeInfinite;
                         ^~~~~~~~~~~~~~~~

System:
Ubuntu 18.04
ROS2 Dashing
FastRTPS 1.8.2

fastrtpsgen -version
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
fastrtpsgen version 1.0.4

Installed FastRTPSGen & FastRTPS (from source) following this guide : https://dev.px4.io/master/en/setup/fast-rtps-installation.html

Followed https://dev.px4.io/master/en/middleware/micrortps.html to build the workspace.

Full error output:

root@f3bf28dc0b56:~/dev_ws/src/px4_ros_com/scripts# ./build_ros2_workspace.bash 
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
Starting >>> px4_msgs
Starting >>> turtlesim
Finished <<< turtlesim [1.02s]                                                           
[Processing: px4_msgs]                            
[Processing: px4_msgs]                                    
[Processing: px4_msgs]                                       
[Processing: px4_msgs]                                       
[Processing: px4_msgs]                                       
[Processing: px4_msgs]                                       
[Processing: px4_msgs]                                       
[Processing: px4_msgs]                                       
[Processing: px4_msgs]                                       
[Processing: px4_msgs]                                       
[Processing: px4_msgs]                                       
[Processing: px4_msgs]                                       
Finished <<< px4_msgs [6min 20s]                                
Starting >>> px4_ros_com
--- stderr: px4_ros_com                                    
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
CMakeFiles/micrortps_agent.dir/build.make:353: warning: overriding recipe for target '/root/dev_ws/src/px4_ros_com/src/micrortps_agent/Timesync.cpp'
CMakeFiles/micrortps_agent.dir/build.make:182: warning: ignoring old recipe for target '/root/dev_ws/src/px4_ros_com/src/micrortps_agent/Timesync.cpp'
CMakeFiles/micrortps_agent.dir/build.make:356: warning: overriding recipe for target '/root/dev_ws/src/px4_ros_com/src/micrortps_agent/TimesyncPubSubTypes.cpp'
CMakeFiles/micrortps_agent.dir/build.make:185: warning: ignoring old recipe for target '/root/dev_ws/src/px4_ros_com/src/micrortps_agent/TimesyncPubSubTypes.cpp'
CMakeFiles/micrortps_agent.dir/build.make:359: warning: overriding recipe for target '/root/dev_ws/src/px4_ros_com/src/micrortps_agent/TimesyncPubSubTypes.h'
CMakeFiles/micrortps_agent.dir/build.make:188: warning: ignoring old recipe for target '/root/dev_ws/src/px4_ros_com/src/micrortps_agent/TimesyncPubSubTypes.h'
CMakeFiles/micrortps_agent.dir/build.make:353: warning: overriding recipe for target '/root/dev_ws/src/px4_ros_com/src/micrortps_agent/Timesync.cpp'
CMakeFiles/micrortps_agent.dir/build.make:182: warning: ignoring old recipe for target '/root/dev_ws/src/px4_ros_com/src/micrortps_agent/Timesync.cpp'
CMakeFiles/micrortps_agent.dir/build.make:356: warning: overriding recipe for target '/root/dev_ws/src/px4_ros_com/src/micrortps_agent/TimesyncPubSubTypes.cpp'
CMakeFiles/micrortps_agent.dir/build.make:185: warning: ignoring old recipe for target '/root/dev_ws/src/px4_ros_com/src/micrortps_agent/TimesyncPubSubTypes.cpp'
CMakeFiles/micrortps_agent.dir/build.make:359: warning: overriding recipe for target '/root/dev_ws/src/px4_ros_com/src/micrortps_agent/TimesyncPubSubTypes.h'
CMakeFiles/micrortps_agent.dir/build.make:188: warning: ignoring old recipe for target '/root/dev_ws/src/px4_ros_com/src/micrortps_agent/TimesyncPubSubTypes.h'
In file included from /root/dev_ws/src/px4_ros_com/src/micrortps_agent/microRTPS_timesync.cpp:42:0:
/root/dev_ws/src/px4_ros_com/src/micrortps_agent/microRTPS_timesync.h: In member function ‘uint64_t TimeSync::setMsgTimestamp(timesync_msg_t*, const uint64_t&)’:
/root/dev_ws/src/px4_ros_com/src/micrortps_agent/microRTPS_timesync.h:170:114: warning: no return statement in function returning non-void [-Wreturn-type]
  inline uint64_t setMsgTimestamp(timesync_msg_t* msg, const uint64_t& timestamp) { msg->timestamp() = timestamp; }
                                                                                                                  ^
/root/dev_ws/src/px4_ros_com/src/micrortps_agent/microRTPS_timesync.h: In member function ‘uint8_t TimeSync::setMsgSysID(timesync_msg_t*, const uint8_t&)’:
/root/dev_ws/src/px4_ros_com/src/micrortps_agent/microRTPS_timesync.h:171:99: warning: no return statement in function returning non-void [-Wreturn-type]
  inline uint8_t setMsgSysID(timesync_msg_t* msg, const uint8_t& sys_id) { msg->sys_id() = sys_id; }
                                                                                                   ^
/root/dev_ws/src/px4_ros_com/src/micrortps_agent/microRTPS_timesync.h: In member function ‘uint8_t TimeSync::setMsgSeq(timesync_msg_t*, const uint8_t&)’:
/root/dev_ws/src/px4_ros_com/src/micrortps_agent/microRTPS_timesync.h:172:88: warning: no return statement in function returning non-void [-Wreturn-type]
  inline uint8_t setMsgSeq(timesync_msg_t* msg, const uint8_t& seq) { msg->seq() = seq; }
                                                                                        ^
/root/dev_ws/src/px4_ros_com/src/micrortps_agent/microRTPS_timesync.h: In member function ‘int64_t TimeSync::setMsgTC1(timesync_msg_t*, const int64_t&)’:
/root/dev_ws/src/px4_ros_com/src/micrortps_agent/microRTPS_timesync.h:173:88: warning: no return statement in function returning non-void [-Wreturn-type]
  inline int64_t setMsgTC1(timesync_msg_t* msg, const int64_t& tc1) { msg->tc1() = tc1; }
                                                                                        ^
/root/dev_ws/src/px4_ros_com/src/micrortps_agent/microRTPS_timesync.h: In member function ‘int64_t TimeSync::setMsgTS1(timesync_msg_t*, const int64_t&)’:
/root/dev_ws/src/px4_ros_com/src/micrortps_agent/microRTPS_timesync.h:174:88: warning: no return statement in function returning non-void [-Wreturn-type]
  inline int64_t setMsgTS1(timesync_msg_t* msg, const int64_t& ts1) { msg->ts1() = ts1; }
                                                                                        ^
In file included from /root/dev_ws/src/px4_ros_com/src/micrortps_agent/RtpsTopics.h:38:0,
                 from /root/dev_ws/src/px4_ros_com/src/micrortps_agent/RtpsTopics.cpp:34:
/root/dev_ws/src/px4_ros_com/src/micrortps_agent/microRTPS_timesync.h: In member function ‘uint64_t TimeSync::setMsgTimestamp(timesync_msg_t*, const uint64_t&)’:
/root/dev_ws/src/px4_ros_com/src/micrortps_agent/microRTPS_timesync.h:170:114: warning: no return statement in function returning non-void [-Wreturn-type]
  inline uint64_t setMsgTimestamp(timesync_msg_t* msg, const uint64_t& timestamp) { msg->timestamp() = timestamp; }
                                                                                                                  ^
/root/dev_ws/src/px4_ros_com/src/micrortps_agent/microRTPS_timesync.h: In member function ‘uint8_t TimeSync::setMsgSysID(timesync_msg_t*, const uint8_t&)’:
/root/dev_ws/src/px4_ros_com/src/micrortps_agent/microRTPS_timesync.h:171:99: warning: no return statement in function returning non-void [-Wreturn-type]
  inline uint8_t setMsgSysID(timesync_msg_t* msg, const uint8_t& sys_id) { msg->sys_id() = sys_id; }
                                                                                                   ^
/root/dev_ws/src/px4_ros_com/src/micrortps_agent/microRTPS_timesync.h: In member function ‘uint8_t TimeSync::setMsgSeq(timesync_msg_t*, const uint8_t&)’:
/root/dev_ws/src/px4_ros_com/src/micrortps_agent/microRTPS_timesync.h:172:88: warning: no return statement in function returning non-void [-Wreturn-type]
  inline uint8_t setMsgSeq(timesync_msg_t* msg, const uint8_t& seq) { msg->seq() = seq; }
                                                                                        ^
/root/dev_ws/src/px4_ros_com/src/micrortps_agent/microRTPS_timesync.h: In member function ‘int64_t TimeSync::setMsgTC1(timesync_msg_t*, const int64_t&)’:
/root/dev_ws/src/px4_ros_com/src/micrortps_agent/microRTPS_timesync.h:173:88: warning: no return statement in function returning non-void [-Wreturn-type]
  inline int64_t setMsgTC1(timesync_msg_t* msg, const int64_t& tc1) { msg->tc1() = tc1; }
                                                                                        ^
/root/dev_ws/src/px4_ros_com/src/micrortps_agent/microRTPS_timesync.h: In member function ‘int64_t TimeSync::setMsgTS1(timesync_msg_t*, const int64_t&)’:
/root/dev_ws/src/px4_ros_com/src/micrortps_agent/microRTPS_timesync.h:174:88: warning: no return statement in function returning non-void [-Wreturn-type]
  inline int64_t setMsgTS1(timesync_msg_t* msg, const int64_t& ts1) { msg->ts1() = ts1; }
                                                                                        ^
In file included from /root/dev_ws/src/px4_ros_com/src/micrortps_agent/RtpsTopics.cpp:34:0:
/root/dev_ws/src/px4_ros_com/src/micrortps_agent/RtpsTopics.h: In member function ‘uint64_t RtpsTopics::setMsgTimestamp(T*, const uint64_t&)’:
/root/dev_ws/src/px4_ros_com/src/micrortps_agent/RtpsTopics.h:175:104: warning: no return statement in function returning non-void [-Wreturn-type]
     inline uint64_t setMsgTimestamp(T* msg, const uint64_t& timestamp) { msg->timestamp() = timestamp; }
                                                                                                        ^
/root/dev_ws/src/px4_ros_com/src/micrortps_agent/RtpsTopics.h: In member function ‘uint8_t RtpsTopics::setMsgSysID(T*, const uint8_t&)’:
/root/dev_ws/src/px4_ros_com/src/micrortps_agent/RtpsTopics.h:178:89: warning: no return statement in function returning non-void [-Wreturn-type]
     inline uint8_t setMsgSysID(T* msg, const uint8_t& sys_id) { msg->sys_id() = sys_id; }
                                                                                         ^
/root/dev_ws/src/px4_ros_com/src/micrortps_agent/RtpsTopics.h: In member function ‘uint8_t RtpsTopics::setMsgSeq(T*, const uint8_t&)’:
/root/dev_ws/src/px4_ros_com/src/micrortps_agent/RtpsTopics.h:181:78: warning: no return statement in function returning non-void [-Wreturn-type]
     inline uint8_t setMsgSeq(T* msg, const uint8_t& seq) { msg->seq() = seq; }
                                                                              ^
In file included from /root/dev_ws/src/px4_ros_com/src/micrortps_agent/microRTPS_agent.cpp:52:0:
/root/dev_ws/src/px4_ros_com/src/micrortps_agent/microRTPS_timesync.h: In member function ‘uint64_t TimeSync::setMsgTimestamp(timesync_msg_t*, const uint64_t&)’:
/root/dev_ws/src/px4_ros_com/src/micrortps_agent/microRTPS_timesync.h:170:114: warning: no return statement in function returning non-void [-Wreturn-type]
  inline uint64_t setMsgTimestamp(timesync_msg_t* msg, const uint64_t& timestamp) { msg->timestamp() = timestamp; }
                                                                                                                  ^
/root/dev_ws/src/px4_ros_com/src/micrortps_agent/microRTPS_timesync.h: In member function ‘uint8_t TimeSync::setMsgSysID(timesync_msg_t*, const uint8_t&)’:
/root/dev_ws/src/px4_ros_com/src/micrortps_agent/microRTPS_timesync.h:171:99: warning: no return statement in function returning non-void [-Wreturn-type]
  inline uint8_t setMsgSysID(timesync_msg_t* msg, const uint8_t& sys_id) { msg->sys_id() = sys_id; }
                                                                                                   ^
/root/dev_ws/src/px4_ros_com/src/micrortps_agent/microRTPS_timesync.h: In member function ‘uint8_t TimeSync::setMsgSeq(timesync_msg_t*, const uint8_t&)’:
/root/dev_ws/src/px4_ros_com/src/micrortps_agent/microRTPS_timesync.h:172:88: warning: no return statement in function returning non-void [-Wreturn-type]
  inline uint8_t setMsgSeq(timesync_msg_t* msg, const uint8_t& seq) { msg->seq() = seq; }
                                                                                        ^
/root/dev_ws/src/px4_ros_com/src/micrortps_agent/microRTPS_timesync.h: In member function ‘int64_t TimeSync::setMsgTC1(timesync_msg_t*, const int64_t&)’:
/root/dev_ws/src/px4_ros_com/src/micrortps_agent/microRTPS_timesync.h:173:88: warning: no return statement in function returning non-void [-Wreturn-type]
  inline int64_t setMsgTC1(timesync_msg_t* msg, const int64_t& tc1) { msg->tc1() = tc1; }
                                                                                        ^
/root/dev_ws/src/px4_ros_com/src/micrortps_agent/microRTPS_timesync.h: In member function ‘int64_t TimeSync::setMsgTS1(timesync_msg_t*, const int64_t&)’:
/root/dev_ws/src/px4_ros_com/src/micrortps_agent/microRTPS_timesync.h:174:88: warning: no return statement in function returning non-void [-Wreturn-type]
  inline int64_t setMsgTS1(timesync_msg_t* msg, const int64_t& ts1) { msg->ts1() = ts1; }
                                                                                        ^
In file included from /root/dev_ws/src/px4_ros_com/src/micrortps_agent/microRTPS_agent.cpp:53:0:
/root/dev_ws/src/px4_ros_com/src/micrortps_agent/RtpsTopics.h: In member function ‘uint64_t RtpsTopics::setMsgTimestamp(T*, const uint64_t&)’:
/root/dev_ws/src/px4_ros_com/src/micrortps_agent/RtpsTopics.h:175:104: warning: no return statement in function returning non-void [-Wreturn-type]
     inline uint64_t setMsgTimestamp(T* msg, const uint64_t& timestamp) { msg->timestamp() = timestamp; }
                                                                                                        ^
/root/dev_ws/src/px4_ros_com/src/micrortps_agent/RtpsTopics.h: In member function ‘uint8_t RtpsTopics::setMsgSysID(T*, const uint8_t&)’:
/root/dev_ws/src/px4_ros_com/src/micrortps_agent/RtpsTopics.h:178:89: warning: no return statement in function returning non-void [-Wreturn-type]
     inline uint8_t setMsgSysID(T* msg, const uint8_t& sys_id) { msg->sys_id() = sys_id; }
                                                                                         ^
/root/dev_ws/src/px4_ros_com/src/micrortps_agent/RtpsTopics.h: In member function ‘uint8_t RtpsTopics::setMsgSeq(T*, const uint8_t&)’:
/root/dev_ws/src/px4_ros_com/src/micrortps_agent/RtpsTopics.h:181:78: warning: no return statement in function returning non-void [-Wreturn-type]
     inline uint8_t setMsgSeq(T* msg, const uint8_t& seq) { msg->seq() = seq; }
                                                                              ^
/root/dev_ws/src/px4_ros_com/src/micrortps_agent/AdcReport_Publisher.cpp: In member function ‘bool AdcReport_Publisher::init()’:
/root/dev_ws/src/px4_ros_com/src/micrortps_agent/AdcReport_Publisher.cpp:67:25: error: ‘class eprosima::fastrtps::rtps::BuiltinAttributes’ has no member named ‘discovery_config’
     PParam.rtps.builtin.discovery_config.leaseDuration = c_TimeInfinite;
                         ^~~~~~~~~~~~~~~~
/root/dev_ws/src/px4_ros_com/src/micrortps_agent/Airspeed_Publisher.cpp: In member function ‘bool Airspeed_Publisher::init()’:
/root/dev_ws/src/px4_ros_com/src/micrortps_agent/Airspeed_Publisher.cpp:67:25: error: ‘class eprosima::fastrtps::rtps::BuiltinAttributes’ has no member named ‘discovery_config’
     PParam.rtps.builtin.discovery_config.leaseDuration = c_TimeInfinite;
                         ^~~~~~~~~~~~~~~~
/root/dev_ws/src/px4_ros_com/src/micrortps_agent/BatteryStatus_Publisher.cpp: In member function ‘bool BatteryStatus_Publisher::init()’:
/root/dev_ws/src/px4_ros_com/src/micrortps_agent/BatteryStatus_Publisher.cpp:67:25: error: ‘class eprosima::fastrtps::rtps::BuiltinAttributes’ has no member named ‘discovery_config’
     PParam.rtps.builtin.discovery_config.leaseDuration = c_TimeInfinite;
                         ^~~~~~~~~~~~~~~~
/root/dev_ws/src/px4_ros_com/src/micrortps_agent/DistanceSensor_Publisher.cpp: In member function ‘bool DistanceSensor_Publisher::init()’:
/root/dev_ws/src/px4_ros_com/src/micrortps_agent/DistanceSensor_Publisher.cpp:67:25: error: ‘class eprosima::fastrtps::rtps::BuiltinAttributes’ has no member named ‘discovery_config’
     PParam.rtps.builtin.discovery_config.leaseDuration = c_TimeInfinite;
                         ^~~~~~~~~~~~~~~~
/root/dev_ws/src/px4_ros_com/src/micrortps_agent/Cpuload_Publisher.cpp: In member function ‘bool Cpuload_Publisher::init()’:
/root/dev_ws/src/px4_ros_com/src/micrortps_agent/Cpuload_Publisher.cpp:67:25: error: ‘class eprosima::fastrtps::rtps::BuiltinAttributes’ has no member named ‘discovery_config’
     PParam.rtps.builtin.discovery_config.leaseDuration = c_TimeInfinite;
                         ^~~~~~~~~~~~~~~~
/root/dev_ws/src/px4_ros_com/src/micrortps_agent/EstimatorStatus_Publisher.cpp: In member function ‘bool EstimatorStatus_Publisher::init()’:
/root/dev_ws/src/px4_ros_com/src/micrortps_agent/EstimatorStatus_Publisher.cpp:67:25: error: ‘class eprosima::fastrtps::rtps::BuiltinAttributes’ has no member named ‘discovery_config’
     PParam.rtps.builtin.discovery_config.leaseDuration = c_TimeInfinite;
                         ^~~~~~~~~~~~~~~~
/root/dev_ws/src/px4_ros_com/src/micrortps_agent/IridiumsbdStatus_Publisher.cpp: In member function ‘bool IridiumsbdStatus_Publisher::init()’:
/root/dev_ws/src/px4_ros_com/src/micrortps_agent/IridiumsbdStatus_Publisher.cpp:67:25: error: ‘class eprosima::fastrtps::rtps::BuiltinAttributes’ has no member named ‘discovery_config’
     PParam.rtps.builtin.discovery_config.leaseDuration = c_TimeInfinite;
                         ^~~~~~~~~~~~~~~~
/root/dev_ws/src/px4_ros_com/src/micrortps_agent/HomePosition_Publisher.cpp: In member function ‘bool HomePosition_Publisher::init()’:
/root/dev_ws/src/px4_ros_com/src/micrortps_agent/HomePosition_Publisher.cpp:67:25: error: ‘class eprosima::fastrtps::rtps::BuiltinAttributes’ has no member named ‘discovery_config’
     PParam.rtps.builtin.discovery_config.leaseDuration = c_TimeInfinite;
                         ^~~~~~~~~~~~~~~~
/root/dev_ws/src/px4_ros_com/src/micrortps_agent/RadioStatus_Publisher.cpp: In member function ‘bool RadioStatus_Publisher::init()’:
/root/dev_ws/src/px4_ros_com/src/micrortps_agent/RadioStatus_Publisher.cpp:67:25: error: ‘class eprosima::fastrtps::rtps::BuiltinAttributes’ has no member named ‘discovery_config’
     PParam.rtps.builtin.discovery_config.leaseDuration = c_TimeInfinite;
                         ^~~~~~~~~~~~~~~~
make[2]: *** [CMakeFiles/micrortps_agent.dir/src/micrortps_agent/AdcReport_Publisher.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: *** [CMakeFiles/micrortps_agent.dir/src/micrortps_agent/Airspeed_Publisher.cpp.o] Error 1
make[2]: *** [CMakeFiles/micrortps_agent.dir/src/micrortps_agent/DistanceSensor_Publisher.cpp.o] Error 1
make[2]: *** [CMakeFiles/micrortps_agent.dir/src/micrortps_agent/Cpuload_Publisher.cpp.o] Error 1
make[2]: *** [CMakeFiles/micrortps_agent.dir/src/micrortps_agent/BatteryStatus_Publisher.cpp.o] Error 1
make[2]: *** [CMakeFiles/micrortps_agent.dir/src/micrortps_agent/EstimatorStatus_Publisher.cpp.o] Error 1
/root/dev_ws/src/px4_ros_com/src/micrortps_agent/SatelliteInfo_Publisher.cpp: In member function ‘bool SatelliteInfo_Publisher::init()’:
/root/dev_ws/src/px4_ros_com/src/micrortps_agent/SatelliteInfo_Publisher.cpp:67:25: error: ‘class eprosima::fastrtps::rtps::BuiltinAttributes’ has no member named ‘discovery_config’
     PParam.rtps.builtin.discovery_config.leaseDuration = c_TimeInfinite;
                         ^~~~~~~~~~~~~~~~
/root/dev_ws/src/px4_ros_com/src/micrortps_agent/SensorBaro_Publisher.cpp: In member function ‘bool SensorBaro_Publisher::init()’:
/root/dev_ws/src/px4_ros_com/src/micrortps_agent/SensorBaro_Publisher.cpp:67:25: error: ‘class eprosima::fastrtps::rtps::BuiltinAttributes’ has no member named ‘discovery_config’
     PParam.rtps.builtin.discovery_config.leaseDuration = c_TimeInfinite;
                         ^~~~~~~~~~~~~~~~
make[2]: *** [CMakeFiles/micrortps_agent.dir/src/micrortps_agent/HomePosition_Publisher.cpp.o] Error 1
make[2]: *** [CMakeFiles/micrortps_agent.dir/src/micrortps_agent/IridiumsbdStatus_Publisher.cpp.o] Error 1
make[2]: *** [CMakeFiles/micrortps_agent.dir/src/micrortps_agent/RadioStatus_Publisher.cpp.o] Error 1
make[2]: *** [CMakeFiles/micrortps_agent.dir/src/micrortps_agent/SensorBaro_Publisher.cpp.o] Error 1
make[2]: *** [CMakeFiles/micrortps_agent.dir/src/micrortps_agent/SatelliteInfo_Publisher.cpp.o] Error 1
make[1]: *** [CMakeFiles/micrortps_agent.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
make: *** [all] Error 2
---
Failed   <<< px4_ros_com [20.0s, exited with code 2]

Summary: 2 packages finished [6min 41s]
  1 package failed: px4_ros_com
  1 package had stderr output: px4_ros_com

Issues building px4_ros_com

I would like to communicate ROS2 with Pixhawk 2.4.8, but following the instruccions in the documentation, the building of the px4_ros_com package ($ colcon build --symlink-install --package-skip ros1_bridge --event-handlers console_direct+) fails.
What i get is as follows:

Finished <<< px4_msgs [25.5s]
Starting >>> px4_ros_com
-- Using C++17 compiler
-- Found ament_cmake: 0.6.1 (/opt/ros/crystal/share/ament_cmake/cmake)
-- Found PythonInterp: /usr/bin/python3 (found suitable version "3.6.8", minimum required is "3")
-- Using PYTHON_EXECUTABLE: /usr/bin/python3
-- Override CMake install command with custom implementation using symlinks instead of copying resources
-- Found builtin_interfaces: 0.6.3 (/opt/ros/crystal/share/builtin_interfaces/cmake)
-- Found rosidl_adapter: 0.6.3 (/opt/ros/crystal/share/rosidl_adapter/cmake)
-- Found rosidl_default_generators: 0.6.0 (/opt/ros/crystal/share/rosidl_default_generators/cmake)
-- Found PrismTech OpenSplice: /usr/share/opensplice/cmake
-- Found rclcpp: 0.6.4 (/opt/ros/crystal/share/rclcpp/cmake)
-- Found rmw_implementation_cmake: 0.6.1 (/opt/ros/crystal/share/rmw_implementation_cmake/cmake)
-- Found rmw_fastrtps_cpp: 0.6.2 (/opt/ros/crystal/share/rmw_fastrtps_cpp/cmake)
-- Found px4_msgs: 0.1.0 (/home/pablo/px4_ros_com_ros2/install/px4_msgs/share/px4_msgs/cmake)
-- Found PythonInterp: /usr/bin/python3 (found version "3.6.8")
-- Retrieving list of msgs to send...
-- List of msgs to send: CameraCapture, CameraTrigger, CollisionReport, DebugArray, DebugKeyValue, DebugValue, DebugVect, ObstacleDistance, OpticalFlow, PositionSetpoint, PositionSetpointTriplet, TrajectoryWaypoint, VehicleTrajectoryWaypoint
-- Retrieving list of msgs to receive...
-- List of msgs to receive: AdcReport, Airspeed, BatteryStatus, Cpuload, DistanceSensor, EstimatorStatus, HomePosition, IridiumsbdStatus, RadioStatus, SatelliteInfo, SensorBaro, SensorCombined, SensorSelection, VehicleAttitude, VehicleOdometry, VtolVehicleStatus, WindEstimate, CollisionConstraints
-- fastrtpsgen found in
-- px4_msgs message dir under /home/pablo/px4_ros_com_ros2/install/px4_msgs/share/px4_msgs/msg
-- Configuring done

-- Generating done
-- Build files have been written to: /home/pablo/px4_ros_com_ros2/build/px4_ros_com
[ 1%] Generating micro-RTPS agent code...
All good. RTPS ID's are unique
Traceback (most recent call last):
File "/home/pablo/px4_ros_com_ros2/src/px4_ros_com/scripts/generate_microRTPS_bridge.py", line 401, in <module> generate_agent(agent_out_dir)
File "/home/pablo/px4_ros_com_ros2/src/px4_ros_com/scripts/generate_microRTPS_bridge.py", line 291, in generate_agent package, px_generate_uorb_topic_files.INCL_DEFAULT, classifier.msg_id_map, uRTPS_PUBLISHER_SRC_TEMPL_FILE)
File "/home/pablo/px4_ros_com_ros2/src/px4_ros_com/scripts/px_generate_uorb_topic_files.py", line 234, in generate_topic_file return generate_by_template(output_file, template_file, em_globals)
File "/home/pablo/px4_ros_com_ros2/src/px4_ros_com/scripts/px_generate_uorb_topic_files.py", line 300, in generate_by_template interpreter.file(open(template_file))
FileNotFoundError: [Errno 2] No such file or directory: '/home/pablo/px4_ros_com_ros2/src/px4_ros_com/templates/Publisher.cpp.em'
Exception ignored in: <bound method Interpreter.__del__ of <empy pseudomodule/interpreter at 0x7f56fb3cb048>>
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/em.py", line 2094, in __del__
File "/usr/lib/python3/dist-packages/em.py", line 2157, in shutdown
File "/usr/lib/python3/dist-packages/em.py", line 2646, in finalize
File "/usr/lib/python3/dist-packages/em.py", line 2200, in push
AttributeError: '_io.TextIOWrapper' object has no attribute 'push'
CMakeFiles/micrortps_agent.dir/build.make:61: recipe for target '/home/pablo/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/microRTPS_agent.cpp' failed
CMakeFiles/Makefile2:387: recipe for target 'CMakeFiles/micrortps_agent.dir/all' failed
Makefile:140: recipe for target 'all' failed
make[2]: *** [/home/pablo/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/microRTPS_agent.cpp] Error 1
make[1]: *** [CMakeFiles/micrortps_agent.dir/all] Error 2
make: *** [all] Error 2
---
Failed <<< px4_ros_com [ Exited with code 2 ]

Does anyone have any idea how to solve this?

sender_thread.join() blocks the agent from quitting

I am not able to cleanly exit running micrortps_agent by pressing ctrl + c:

...
WindEstimate publisher started
CollisionConstraints publisher started
^CInterrupt signal (2) received.
Close sender socket
Close receiver socket
Read fail 9
^CInterrupt signal (2) received.
^CInterrupt signal (2) received.
^CInterrupt signal (2) received.
^CInterrupt signal (2) received.
^CInterrupt signal (2) received.


...blocks the process until the
void t_send(void *data)

finishes. The problem is that for me the
while (topics.hasMsg(&topic_ID))

will only be false if if (nullptr == topic_ID) return false; and this never happens, even if there's no client connected over UDP.

Is there a way to fix it?

Unable to establish FastRTPS connection with pixhawk.

I'm trying to establish a FastRTPS conenction between a pixhawk and a companion computer. Following the the documentation for the RTPS/ROS2 Interface with some additions from the setup_system.bash script from the px4_ros_com script folder I was able to run the px4_sitl_rtps with javmsim, passing the data on to micrortps_agent and getting a read of the sensor data with the sensor_combined_listener on Ubuntu 18.04.03.

Now i'm trying to replace the simulated px4 with a real one. I use two USB serial interfaces (see attached image) to connect to the TELEM1 and TELEM2 ports of the pixhawk.
image

I start the micrortps_client using the mavlink_shell from the first USB-Serial interface :

asimov@asimov:~$ ls /dev/tty*
/dev/tty    /dev/tty23  /dev/tty39  /dev/tty54      /dev/ttyS1   /dev/ttyS25
/dev/tty0   /dev/tty24  /dev/tty4   /dev/tty55      /dev/ttyS10  /dev/ttyS26
/dev/tty1   /dev/tty25  /dev/tty40  /dev/tty56      /dev/ttyS11  /dev/ttyS27
/dev/tty10  /dev/tty26  /dev/tty41  /dev/tty57      /dev/ttyS12  /dev/ttyS28
/dev/tty11  /dev/tty27  /dev/tty42  /dev/tty58      /dev/ttyS13  /dev/ttyS29
/dev/tty12  /dev/tty28  /dev/tty43  /dev/tty59      /dev/ttyS14  /dev/ttyS3
/dev/tty13  /dev/tty29  /dev/tty44  /dev/tty6       /dev/ttyS15  /dev/ttyS30
/dev/tty14  /dev/tty3   /dev/tty45  /dev/tty60      /dev/ttyS16  /dev/ttyS31
/dev/tty15  /dev/tty30  /dev/tty46  /dev/tty61      /dev/ttyS17  /dev/ttyS4
/dev/tty16  /dev/tty31  /dev/tty47  /dev/tty62      /dev/ttyS18  /dev/ttyS5
/dev/tty17  /dev/tty32  /dev/tty48  /dev/tty63      /dev/ttyS19  /dev/ttyS6
/dev/tty18  /dev/tty33  /dev/tty49  /dev/tty7       /dev/ttyS2   /dev/ttyS7
/dev/tty19  /dev/tty34  /dev/tty5   /dev/tty8       /dev/ttyS20  /dev/ttyS8
/dev/tty2   /dev/tty35  /dev/tty50  /dev/tty9       /dev/ttyS21  /dev/ttyS9
/dev/tty20  /dev/tty36  /dev/tty51  /dev/ttyACM0    /dev/ttyS22  /dev/ttyUSB0
/dev/tty21  /dev/tty37  /dev/tty52  /dev/ttyprintk  /dev/ttyS23
/dev/tty22  /dev/tty38  /dev/tty53  /dev/ttyS0      /dev/ttyS24
asimov@asimov:~$ cd Firmware/Tools/
asimov@asimov:~/Firmware/Tools$ ./mavlink_shell.py /dev/ttyUSB0
Connecting to MAVLINK...

NuttShell (NSH)
nsh>
nsh> mavlink status

instance #0:
mavlink chan: #0
type: USB CDC
flow control: OFF
rates:
tx: 0.000 kB/s
txerr: 0.455 kB/s
tx rate mult: 0.050
tx rate max: 800000 B/s
rx: 0.000 kB/s
FTP enabled: YES, TX enabled: YES
mode: Config
MAVLink version: 1
transport protocol: serial (/dev/ttyACM0 @2000000)

instance #1:
GCS heartbeat: 274502 us ago
mavlink chan: #1
type: GENERIC LINK OR RADIO
flow control: OFF
rates:
tx: 0.532 kB/s
txerr: 0.000 kB/s
tx rate mult: 0.728
tx rate max: 1200 B/s
rx: 0.016 kB/s
FTP enabled: YES, TX enabled: YES
mode: Normal
MAVLink version: 1
transport protocol: serial (/dev/ttyS1 @57600)
nsh> micrortps_client start -t UART -d /dev/ttyS2 -b 460800
INFO [micrortps_client] UART transport: device: /dev/ttyS2; baudrate: 460800; sleep: 1ms; poll: 1ms
INFO [micrortps_client] No flush
nsh>

Then I start the micrortps_agent in a different terminal using the second USB-Serial interface. From the terminal it looks like the connection is established briefly but then collapses due to Bad CRC errors:

asimov@asimov:~$ source /opt/ros/dashing/setup.bash 
asimov@asimov:~$ cd px4_ros_com_ros2/
asimov@asimov:~/px4_ros_com_ros2$ source install/local_setup.bash 
asimov@asimov:~/px4_ros_com_ros2$ ls /dev/tty*
/dev/tty    /dev/tty23  /dev/tty39  /dev/tty54      /dev/ttyS1   /dev/ttyS25
/dev/tty0   /dev/tty24  /dev/tty4   /dev/tty55      /dev/ttyS10  /dev/ttyS26
/dev/tty1   /dev/tty25  /dev/tty40  /dev/tty56      /dev/ttyS11  /dev/ttyS27
/dev/tty10  /dev/tty26  /dev/tty41  /dev/tty57      /dev/ttyS12  /dev/ttyS28
/dev/tty11  /dev/tty27  /dev/tty42  /dev/tty58      /dev/ttyS13  /dev/ttyS29
/dev/tty12  /dev/tty28  /dev/tty43  /dev/tty59      /dev/ttyS14  /dev/ttyS3
/dev/tty13  /dev/tty29  /dev/tty44  /dev/tty6       /dev/ttyS15  /dev/ttyS30
/dev/tty14  /dev/tty3   /dev/tty45  /dev/tty60      /dev/ttyS16  /dev/ttyS31
/dev/tty15  /dev/tty30  /dev/tty46  /dev/tty61      /dev/ttyS17  /dev/ttyS4
/dev/tty16  /dev/tty31  /dev/tty47  /dev/tty62      /dev/ttyS18  /dev/ttyS5
/dev/tty17  /dev/tty32  /dev/tty48  /dev/tty63      /dev/ttyS19  /dev/ttyS6
/dev/tty18  /dev/tty33  /dev/tty49  /dev/tty7       /dev/ttyS2   /dev/ttyS7
/dev/tty19  /dev/tty34  /dev/tty5   /dev/tty8       /dev/ttyS20  /dev/ttyS8
/dev/tty2   /dev/tty35  /dev/tty50  /dev/tty9       /dev/ttyS21  /dev/ttyS9
/dev/tty20  /dev/tty36  /dev/tty51  /dev/ttyACM0    /dev/ttyS22  /dev/ttyUSB0
/dev/tty21  /dev/tty37  /dev/tty52  /dev/ttyprintk  /dev/ttyS23  /dev/ttyUSB1
/dev/tty22  /dev/tty38  /dev/tty53  /dev/ttyS0      /dev/ttyS24
asimov@asimov:~/px4_ros_com_ros2$ micrortps_agent -t UART -d /dev/ttyUSB1 -b 460800
--- MicroRTPS Agent ---
- Starting link...
- UART transport: device: /dev/ttyUSB1; baudrate: 460800; sleep: 1us; poll: 0ms
No flush
--- Subscribers ---
- CameraCapture subscriber started
- CameraTrigger subscriber started
- CollisionReport subscriber started
- DebugArray subscriber started
- DebugKeyValue subscriber started
- DebugValue subscriber started
- DebugVect subscriber started
- ObstacleDistance subscriber started
- OpticalFlow subscriber started
- PositionSetpoint subscriber started
- PositionSetpointTriplet subscriber started
- TrajectoryWaypoint subscriber started
- VehicleTrajectoryWaypoint subscriber started
- OnboardComputerStatus subscriber started
- VehicleMocapOdometry subscriber started
- VehicleVisualOdometry subscriber started
--------------------

---- Publishers ----

  • AdcReport publisher started
  • Airspeed publisher started
  • BatteryStatus publisher started
  • Cpuload publisher started
  • DistanceSensor publisher started
  • EstimatorStatus publisher started
  • HomePosition publisher started
  • IridiumsbdStatus publisher started
  • RadioStatus publisher started
  • SatelliteInfo publisher started
  • SensorBaro publisher started
  • SensorCombined publisher started
  • SensorSelection publisher started
  • VehicleAttitude publisher started
  • VehicleOdometry publisher started
  • VtolVehicleStatus publisher started
  • WindEstimate publisher started
  • CollisionConstraints publisher started

Bad CRC 40430 != 2452
(↓ 95)

I reinstalled the Ubuntu machine a couple of times, to try different versions of FastRTPS and ROS2. The setup_ros2.sh script should contain everything to recreate the error when starting from a clean Ubuntu installation (setup_ros2.txt).

MicroRTPS agent causes seg fault when stopped.

I have built and run the sensor_combined_listener example on this page https://dev.px4.io/master/en/middleware/micrortps.html. Every time I stop the agent using Ctrl+c the agent, the agent causes a seg fault. The GDB back trace from the core dump is shown below:

[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Core was generated by `/home/andy/px4/ros_com/install/px4_ros_com/bin/micrortps_agent -t UDP'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  _int_malloc (av=av@entry=0x7fbed6135c40 <main_arena>, bytes=bytes@entry=8) at malloc.c:3779
3779    malloc.c: No such file or directory.
[Current thread is 1 (Thread 0x7fbdc57fa700 (LWP 21342))]
(gdb) bt
#0  _int_malloc (av=av@entry=0x7fbed6135c40 <main_arena>, bytes=bytes@entry=8) at malloc.c:3779
#1  0x00007fbed5de12ed in __GI___libc_malloc (bytes=8) at malloc.c:3065
#2  0x00007fbed6784298 in operator new(unsigned long) () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#3  0x00007fbed71ecc6f in std::vector<eprosima::fastrtps::rtps::WriterProxyData*, std::allocator<eprosima::fastrtps::rtps::WriterProxyData*> >::reserve(unsigned long) () from /opt/ros/eloquent/lib/libfastrtps.so.1
#4  0x00007fbed71ea0d9 in eprosima::fastrtps::rtps::PDP::removeWriterProxyData(eprosima::fastrtps::rtps::GUID_t const&) ()
   from /opt/ros/eloquent/lib/libfastrtps.so.1
#5  0x00007fbed7220b5f in eprosima::fastrtps::rtps::EDPSimplePUBListener::onNewCacheChangeAdded(eprosima::fastrtps::rtps::RTPSReader*, eprosima::fastrtps::rtps::CacheChange_t const*) () from /opt/ros/eloquent/lib/libfastrtps.so.1
#6  0x00007fbed706cb7f in eprosima::fastrtps::rtps::StatefulReader::NotifyChanges(eprosima::fastrtps::rtps::WriterProxy*) ()
   from /opt/ros/eloquent/lib/libfastrtps.so.1
#7  0x00007fbed706cc77 in eprosima::fastrtps::rtps::StatefulReader::change_received(eprosima::fastrtps::rtps::CacheChange_t*, eprosima::fastrtps::rtps::WriterProxy*) () from /opt/ros/eloquent/lib/libfastrtps.so.1
#8  0x00007fbed706df5e in eprosima::fastrtps::rtps::StatefulReader::processDataMsg(eprosima::fastrtps::rtps::CacheChange_t*) ()
   from /opt/ros/eloquent/lib/libfastrtps.so.1
#9  0x00007fbed709593d in eprosima::fastrtps::rtps::MessageReceiver::findAllReaders(eprosima::fastrtps::rtps::EntityId_t const&, std::function<void (eprosima::fastrtps::rtps::RTPSReader*)>) () from /opt/ros/eloquent/lib/libfastrtps.so.1
#10 0x00007fbed709632d in eprosima::fastrtps::rtps::MessageReceiver::proc_Submsg_Data(eprosima::fastrtps::rtps::CDRMessage_t*, eprosima::fastrtps::rtps::SubmessageHeader_t*) () from /opt/ros/eloquent/lib/libfastrtps.so.1
#11 0x00007fbed709ad96 in eprosima::fastrtps::rtps::MessageReceiver::processCDRMsg(eprosima::fastrtps::rtps::Locator_t const&, eprosima::fastrtps::rtps::CDRMessage_t*) () from /opt/ros/eloquent/lib/libfastrtps.so.1
#12 0x00007fbed709d5ba in eprosima::fastrtps::rtps::ReceiverResource::OnDataReceived(unsigned char const*, unsigned int, eprosima::fastrtps::rtps::Locator_t const&, eprosima::fastrtps::rtps::Locator_t const&) () from /opt/ros/eloquent/lib/libfastrtps.so.1
#13 0x00007fbed70e0fc4 in eprosima::fastrtps::rtps::UDPChannelResource::perform_listen_operation(eprosima::fastrtps::rtps::Locator_t) () from /opt/ros/eloquent/lib/libfastrtps.so.1
#14 0x00007fbed70e223c in std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (eprosima::fastrtps::rtps::UDPChannelResource::*)(eprosima::fastrtps::rtps::Locator_t), eprosima::fastrtps::rtps::UDPChannelResource*, eprosima::fastrtps::rtps::Locator_t> > >::_M_run() () from /opt/ros/eloquent/lib/libfastrtps.so.1
#15 0x00007fbed67ae6df in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#16 0x00007fbed6a816db in start_thread (arg=0x7fbdc57fa700) at pthread_create.c:463
#17 0x00007fbed5e6b88f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
(gdb)

The setup I am using is:

  • Ubuntu 18.04LTS (fresh install on 5 June 2020 and fully updated).
  • ROS Eloquent (Note: ROS Melodic is not installed as I want to create a ROS2 only solution).
  • Fast-RTPS version: /opt/ros/eloquent/lib/libfastrtps.so.1.9.3
  • Fast-RTPS-Gen version: 1.0.2

sensor_combined_listener can not receive the msg from micrortps_agent

After I finished all the compilation, and run the example. It doesn't work, the ros2 node sensor_combined_listener receive nothing from the micrortps_agent. However the micrortps_agent received messages from micrortps_client. And I use ros2 topic echo /SensorCombined_PubSubTopic,
it says:
Cannot echo topic '/SensorCombined_PubSubTopic', as it contains more than one type: [px4_msgs::msg::SensorCombined, px4_msgs/msg/SensorCombined]
and I found in the micrortps_agent it's SensorCombined_PubSubTopic's type is px4_msgs::msg::SensorCombined while in sensor_combined_listener the SensorCombined_PubSubTopic's type is px4_msgs/msg/SensorCombined

Issue with PX4 ros/gazebo install scripts

Using the install script is broken in a few ways. For one it installs ROS kinetic rather than melodic which is assumed later in the documentation. Also, the script silently makes undesirable changes to the user's .bashrc. This can be considered a bug as running rossource="source /opt/ros/kinetic/setup.bash" at the start of every terminal session causes issues when you are trying to create a pure ROS2 project.

px4_ros_com ROS2 foxy build failure

Hello everyone,
I'm facing the following error in Building the Workspaces step 3. in the PX4 Dev Guide when trying to build the px4_ros_com package for ROS2 foxy.

Starting >>> px4_msgs
Finished <<< px4_msgs [3.26s]                     
Starting >>> px4_ros_com
--- stderr: px4_ros_com                            
CMakeFiles/micrortps_agent.dir/build.make:353: warning: overriding recipe for target '/home/user/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/Timesync.cpp'
CMakeFiles/micrortps_agent.dir/build.make:182: warning: ignoring old recipe for target '/home/user/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/Timesync.cpp'
CMakeFiles/micrortps_agent.dir/build.make:356: warning: overriding recipe for target '/home/user/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/TimesyncPubSubTypes.cpp'
CMakeFiles/micrortps_agent.dir/build.make:185: warning: ignoring old recipe for target '/home/user/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/TimesyncPubSubTypes.cpp'
CMakeFiles/micrortps_agent.dir/build.make:359: warning: overriding recipe for target '/home/user/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/TimesyncPubSubTypes.h'
CMakeFiles/micrortps_agent.dir/build.make:188: warning: ignoring old recipe for target '/home/user/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/TimesyncPubSubTypes.h'
openjdk version "14.0.1" 2020-04-14
OpenJDK Runtime Environment (build 14.0.1+7-Ubuntu-1ubuntu1)
OpenJDK 64-Bit Server VM (build 14.0.1+7-Ubuntu-1ubuntu1, mixed mode, sharing)
/sbin/ldconfig.real: Can't stat /usr/local/lib/i386-linux-gnu: No such file or directory
/sbin/ldconfig.real: Path `/usr/lib/i386-linux-gnu' given more than once
/sbin/ldconfig.real: Can't stat /usr/local/lib/i686-linux-gnu: No such file or directory
/sbin/ldconfig.real: Can't stat /lib/i686-linux-gnu: No such file or directory
/sbin/ldconfig.real: Can't stat /usr/lib/i686-linux-gnu: No such file or directory
/sbin/ldconfig.real: Can't stat /usr/local/lib/x86_64-linux-gnu: No such file or directory
/sbin/ldconfig.real: Path `/usr/lib/x86_64-linux-gnu' given more than once
/sbin/ldconfig.real: Path `/lib/x86_64-linux-gnu' given more than once
/sbin/ldconfig.real: Path `/usr/lib/x86_64-linux-gnu' given more than once
/sbin/ldconfig.real: Path `/usr/lib' given more than once
/sbin/ldconfig.real: /lib/i386-linux-gnu/ld-2.31.so is the dynamic linker, ignoring

/sbin/ldconfig.real: /lib/x86_64-linux-gnu/ld-2.31.so is the dynamic linker, ignoring

/sbin/ldconfig.real: Can't create temporary cache file /etc/ld.so.cache~: Permission denied
Traceback (most recent call last):
  File "/home/user/px4_ros_com_ros2/src/px4_ros_com/scripts/generate_microRTPS_bridge.py", line 313, in <module>
    classifier = (Classifier(os.path.abspath(args.yaml_file), msg_dir) if os.path.isabs(args.yaml_file)
  File "/home/user/px4_ros_com_ros2/src/px4_ros_com/scripts/uorb_rtps_classifier.py", line 55, in __init__
    self.check_if_listed(yaml_file)
  File "/home/user/px4_ros_com_ros2/src/px4_ros_com/scripts/uorb_rtps_classifier.py", line 139, in check_if_listed
    raise AssertionError(
AssertionError: 
The following messages are not listen under  /home/user/px4_ros_com_ros2/src/px4_ros_com/templates/uorb_rtps_message_ids.yaml: SensorPreflightImu, TelemetryHeartbeat, SensorPreflightMag, Px4IoStatus

Please add them to the yaml file with the respective ID and, if applicable, mark them to be sent or received by the micro-RTPS bridge.
NOTE: If the message has multi-topics (#TOPICS), these should be added as well.

make[2]: *** [CMakeFiles/micrortps_agent.dir/build.make:62: /home/user/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/microRTPS_agent.cpp] Error 1
make[1]: *** [CMakeFiles/Makefile2:112: CMakeFiles/micrortps_agent.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
In file included from /opt/ros/foxy/include/rcl/types.h:18:0,
                 from /opt/ros/foxy/include/rcl/arguments.h:20,
                 from /opt/ros/foxy/include/rcl/context.h:26,
                 from /opt/ros/foxy/include/rcl/guard_condition.h:24,
                 from /opt/ros/foxy/include/rclcpp/executor.hpp:29,
                 from /opt/ros/foxy/include/rclcpp/executors/multi_threaded_executor.hpp:25,
                 from /opt/ros/foxy/include/rclcpp/executors.hpp:21,
                 from /opt/ros/foxy/include/rclcpp/rclcpp.hpp:146,
                 from /home/user/px4_ros_com_ros2/src/px4_ros_com/src/listeners/vehicle_gps_position_listener.cpp:40:
/opt/ros/foxy/include/rmw/types.h:412:3: error: expected '}' before '__attribute__'
   RMW_DECLARE_DEPRECATED(
   ^
/opt/ros/foxy/include/rmw/types.h:414:62: error: expected unqualified-id before '=' token
     RMW_QOS_POLICY_LIVELINESS_MANUAL_BY_NODE_DEPRECATED_MSG) = 2,
                                                              ^
In file included from /opt/ros/foxy/include/rclcpp/executor.hpp:29:0,
                 from /opt/ros/foxy/include/rclcpp/executors/multi_threaded_executor.hpp:25,
                 from /opt/ros/foxy/include/rclcpp/executors.hpp:21,
                 from /opt/ros/foxy/include/rclcpp/rclcpp.hpp:146,
                 from /home/user/px4_ros_com_ros2/src/px4_ros_com/src/listeners/vehicle_gps_position_listener.cpp:40:
/opt/ros/foxy/include/rcl/guard_condition.h:262:1: error: expected declaration before '}' token
 }
 ^
In file included from /opt/ros/foxy/include/rcl/types.h:18:0,
                 from /opt/ros/foxy/include/rcl/arguments.h:20,
                 from /opt/ros/foxy/include/rcl/context.h:26,
                 from /opt/ros/foxy/include/rcl/guard_condition.h:24,
                 from /opt/ros/foxy/include/rclcpp/executor.hpp:29,
                 from /opt/ros/foxy/include/rclcpp/executors/multi_threaded_executor.hpp:25,
                 from /opt/ros/foxy/include/rclcpp/executors.hpp:21,
                 from /opt/ros/foxy/include/rclcpp/rclcpp.hpp:146,
                 from /home/user/px4_ros_com_ros2/src/px4_ros_com/src/advertisers/debug_vect_advertiser.cpp:41:
/opt/ros/foxy/include/rmw/types.h:412:3: error: expected '}' before '__attribute__'
   RMW_DECLARE_DEPRECATED(
   ^
/opt/ros/foxy/include/rmw/types.h:414:62: error: expected unqualified-id before '=' token
     RMW_QOS_POLICY_LIVELINESS_MANUAL_BY_NODE_DEPRECATED_MSG) = 2,
                                                              ^
In file included from /opt/ros/foxy/include/rclcpp/executor.hpp:29:0,
                 from /opt/ros/foxy/include/rclcpp/executors/multi_threaded_executor.hpp:25,
                 from /opt/ros/foxy/include/rclcpp/executors.hpp:21,
                 from /opt/ros/foxy/include/rclcpp/rclcpp.hpp:146,
                 from /home/user/px4_ros_com_ros2/src/px4_ros_com/src/advertisers/debug_vect_advertiser.cpp:41:
/opt/ros/foxy/include/rcl/guard_condition.h:262:1: error: expected declaration before '}' token
 }
 ^
In file included from /opt/ros/foxy/include/rcl/types.h:18:0,
                 from /opt/ros/foxy/include/rcl/arguments.h:20,
                 from /opt/ros/foxy/include/rcl/context.h:26,
                 from /opt/ros/foxy/include/rcl/guard_condition.h:24,
                 from /opt/ros/foxy/include/rclcpp/executor.hpp:29,
                 from /opt/ros/foxy/include/rclcpp/executors/multi_threaded_executor.hpp:25,
                 from /opt/ros/foxy/include/rclcpp/executors.hpp:21,
                 from /opt/ros/foxy/include/rclcpp/rclcpp.hpp:146,
                 from /home/user/px4_ros_com_ros2/src/px4_ros_com/src/listeners/sensor_combined_listener.cpp:42:
/opt/ros/foxy/include/rmw/types.h:412:3: error: expected '}' before '__attribute__'
   RMW_DECLARE_DEPRECATED(
   ^
/opt/ros/foxy/include/rmw/types.h:414:62: error: expected unqualified-id before '=' token
     RMW_QOS_POLICY_LIVELINESS_MANUAL_BY_NODE_DEPRECATED_MSG) = 2,
                                                              ^
In file included from /opt/ros/foxy/include/rclcpp/executor.hpp:29:0,
                 from /opt/ros/foxy/include/rclcpp/executors/multi_threaded_executor.hpp:25,
                 from /opt/ros/foxy/include/rclcpp/executors.hpp:21,
                 from /opt/ros/foxy/include/rclcpp/rclcpp.hpp:146,
                 from /home/user/px4_ros_com_ros2/src/px4_ros_com/src/listeners/sensor_combined_listener.cpp:42:
/opt/ros/foxy/include/rcl/guard_condition.h:262:1: error: expected declaration before '}' token
 }
 ^
make[2]: *** [CMakeFiles/vehicle_gps_position_listener.dir/build.make:63: CMakeFiles/vehicle_gps_position_listener.dir/src/listeners/vehicle_gps_position_listener.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:140: CMakeFiles/vehicle_gps_position_listener.dir/all] Error 2
make[2]: *** [CMakeFiles/debug_vect_advertiser.dir/build.make:63: CMakeFiles/debug_vect_advertiser.dir/src/advertisers/debug_vect_advertiser.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:167: CMakeFiles/debug_vect_advertiser.dir/all] Error 2
make[2]: *** [CMakeFiles/sensor_combined_listener.dir/build.make:63: CMakeFiles/sensor_combined_listener.dir/src/listeners/sensor_combined_listener.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:248: CMakeFiles/sensor_combined_listener.dir/all] Error 2
make: *** [Makefile:141: all] Error 2
---
Failed   <<< px4_ros_com [0.52s, exited with code 2]

Summary: 1 package finished [3.86s]
  1 package failed: px4_ros_com
  1 package had stderr output: px4_ros_com

Is this a problem on my end that I could resolve? (And if so, how?)
And if it is not on my end, as far as I know a fix for the px4_ros_com package is being developed, but does anyone have any suggestions other than to wait?
Thank you in advance.

List of issues found while following the PX4 ROS2 installation instructions

These issue are not limited to just the PX4_ros_com repo:

  • The install script for installing eProsima/FastRTPS installs the wrong version of FastRTPS for ROS Bouncy. (1.5.0 instead of 1.6.0) which causes fastrtpsgen to complain that it does not recognize the command line arguement -I when you build the ros2 branch of px4_ros_com.
  • If you have a version of openjdk newer than 1.8, the setup will fail because of ambiguous libraries called Module (link). You must uninstall all versions of java newer than 8 and then install sudo apt install openjdk-8-jdk openjdk-8-jre gradle. (If you have a version of java newer than 8 installed, gradle will use that instead of the correct version)
  • Using the install script is broken in a few ways. For one it installs ROS kinetic rather than melodic which is assumed later in the documentation. Also, the script silently makes undesirable changes to the user's .bashrc. This can be considered a bug as running rossource="source /opt/ros/kinetic/setup.bash" at the start of every terminal session causes issues when you are trying to create a pure ROS2 project.
  • The command colcon build --symlink-install --packages-skip ros1_bridge --event-handlers console_direct+ in the "Building the workspaces" section fails because python3 fails to find genmsg. This is discussed here but it is never resolved. I have been running source /opt/ros/melodic/setup.bash before source /opt/ros/bouncy/setup.bash to get colcon to build the ros2 workspace.
  • The command colcon build --symlink-install --packages-skip ros1_bridge --event-handlers console_direct+ in the "Building the workspaces" section will also fail unless you run export ROS2_DISTRO="bouncy"
  • The command colcon build --symlink-install --packages-skip ros1_bridge --event-handlers console_direct+ in the "Building the workspaces" section will also fail with generate_microRTPS_bridge.py: error: argument -f/--fastrtpsgen-dir: expected one argument unless you manually set FASTRTPSGEN_DIR to the location of fastrtpsgen. (eg. export FASTRTPSGEN_DIR=/usr/local/bin)

There are still more issues getting the example to run. I still haven't figured out why uOrb messages aren't making it through to the sensor_combined_listener. I hope this issue can act as a TODO list for fixing the documentation.

These issues were found as part of a collaboration between Tomahawk Robotics and PickNik Robotics

px4_ros_com build failed

Hi, I follow the steps in here.
When colcon build in ROS2 workspace, it shows the error like this

ncrl@ncrl-D830MT:~/px4_ros_com_ros2$ colcon build --symlink-install
Starting >>> px4_msgs
[0.166s] WARNING:colcon.colcon_ros.prefix_path.catkin:The path '/opt/ros/kinetic' in the environment variable CMAKE_PREFIX_PATH seems to be a catkin workspace but it doesn't contain any 'local_setup.*' files. Maybe the catkin version is not up-to-date?
[Processing: px4_msgs]
Finished <<< px4_msgs [40.9s]
Starting >>> px4_ros_com
[Processing: px4_ros_com]
--- stderr: px4_ros_com
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.16.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.16.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.16.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.16.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.16.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.16.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.16.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.16.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.16.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.16.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.16.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.16.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.16.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.16.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.16.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.16.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.16.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.16.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.16.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.16.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.16.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.16.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.16.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.16.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.16.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.16.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.16.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.16.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.16.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.16.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.16.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.16.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.16.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.16.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.16.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.16.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.16.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.16.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.16.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.16.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.16.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.16.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.16.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.16.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.16.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.16.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.16.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.16.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.16.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.16.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.16.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.16.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.16.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.16.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.16.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.16.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.16.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.16.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.16.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.16.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.16.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.16.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.16.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.16.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.16.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.16.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.16.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.16.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.16.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.16.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.16.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.16.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.16.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.16.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.16.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.16.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.16.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.16.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.16.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.16.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.16.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.16.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.16.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.16.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.16.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.16.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.16.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.16.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.16.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.16.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.16.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.16.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.16.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.16.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.16.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.16.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.16.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.16.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.16.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.16.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.16.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.16.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.16.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.16.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.16.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.16.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.16.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.16.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.16.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.16.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.16.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.16.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.16.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.16.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.16.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.16.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.16.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.16.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.16.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.16.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.16.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.16.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.16.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.16.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.16.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.16.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.16.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
/home/ncrl/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/microRTPS_transport.cpp: In member function ‘ssize_t Transport_node::write(uint8_t, char*, size_t)’:
/home/ncrl/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/microRTPS_transport.cpp:208:32: warning: ISO C++ does not allow C99 designated initializers [-Wpedantic]
static struct Header header = {
^
/home/ncrl/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/microRTPS_transport.cpp:209:28: warning: ISO C++ does not allow C99 designated initializers [-Wpedantic]
.marker = {'>', '>', '>'},
^
/home/ncrl/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/microRTPS_transport.cpp:210:17: warning: ISO C++ does not allow C99 designated initializers [-Wpedantic]
.topic_ID = 0u,
^
/home/ncrl/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/microRTPS_transport.cpp:211:12: warning: ISO C++ does not allow C99 designated initializers [-Wpedantic]
.seq = 0u,
^
/home/ncrl/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/microRTPS_transport.cpp:212:22: warning: ISO C++ does not allow C99 designated initializers [-Wpedantic]
.payload_len_h = 0u,
^
/home/ncrl/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/microRTPS_transport.cpp:213:22: warning: ISO C++ does not allow C99 designated initializers [-Wpedantic]
.payload_len_l = 0u,
^
/home/ncrl/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/microRTPS_transport.cpp:214:14: warning: ISO C++ does not allow C99 designated initializers [-Wpedantic]
.crc_h = 0u,
^
In file included from /home/ncrl/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/VtolVehicleStatus_Publisher.h:47:0,
from /home/ncrl/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/RtpsTopics.h:35,
from /home/ncrl/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/RtpsTopics.cpp:33:
/home/ncrl/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/VtolVehicleStatus_PubSubTypes.h:32:2: error: #error Generated VtolVehicleStatus_ is not compatible with current installed Fast-RTPS. Please, regenerate it with fastrtpsgen.
#error Generated VtolVehicleStatus_ is not compatible with current installed Fast-RTPS. Please, regenerate it with fastrtpsgen.
^
In file included from /home/ncrl/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/VehicleTrajectoryWaypoint_PubSubTypes.cpp:26:0:
/home/ncrl/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/VehicleTrajectoryWaypoint_PubSubTypes.h:32:2: error: #error Generated VehicleTrajectoryWaypoint_ is not compatible with current installed Fast-RTPS. Please, regenerate it with fastrtpsgen.
#error Generated VehicleTrajectoryWaypoint_ is not compatible with current installed Fast-RTPS. Please, regenerate it with fastrtpsgen.
^
In file included from /home/ncrl/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/EstimatorStatus_Publisher.h:47:0,
from /home/ncrl/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/RtpsTopics.h:36,
from /home/ncrl/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/RtpsTopics.cpp:33:
/home/ncrl/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/EstimatorStatus_PubSubTypes.h:32:2: error: #error Generated EstimatorStatus_ is not compatible with current installed Fast-RTPS. Please, regenerate it with fastrtpsgen.
#error Generated EstimatorStatus_ is not compatible with current installed Fast-RTPS. Please, regenerate it with fastrtpsgen.
^
In file included from /home/ncrl/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/DistanceSensor_Publisher.h:47:0,
from /home/ncrl/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/RtpsTopics.h:37,
from /home/ncrl/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/RtpsTopics.cpp:33:
/home/ncrl/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/DistanceSensor_PubSubTypes.h:32:2: error: #error Generated DistanceSensor_ is not compatible with current installed Fast-RTPS. Please, regenerate it with fastrtpsgen.
#error Generated DistanceSensor_ is not compatible with current installed Fast-RTPS. Please, regenerate it with fastrtpsgen.
^
In file included from /home/ncrl/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/Cpuload_Publisher.h:47:0,
from /home/ncrl/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/RtpsTopics.h:38,
from /home/ncrl/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/RtpsTopics.cpp:33:
/home/ncrl/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/Cpuload_PubSubTypes.h:32:2: error: #error Generated Cpuload_ is not compatible with current installed Fast-RTPS. Please, regenerate it with fastrtpsgen.
#error Generated Cpuload_ is not compatible with current installed Fast-RTPS. Please, regenerate it with fastrtpsgen.
^
In file included from /home/ncrl/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/SensorBaro_Publisher.h:47:0,
from /home/ncrl/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/RtpsTopics.h:39,
from /home/ncrl/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/RtpsTopics.cpp:33:
/home/ncrl/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/SensorBaro_PubSubTypes.h:32:2: error: #error Generated SensorBaro_ is not compatible with current installed Fast-RTPS. Please, regenerate it with fastrtpsgen.
#error Generated SensorBaro_ is not compatible with current installed Fast-RTPS. Please, regenerate it with fastrtpsgen.
^
In file included from /home/ncrl/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/VehicleOdometry_Publisher.h:47:0,
from /home/ncrl/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/RtpsTopics.h:40,
from /home/ncrl/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/RtpsTopics.cpp:33:
/home/ncrl/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/VehicleOdometry_PubSubTypes.h:32:2: error: #error Generated VehicleOdometry_ is not compatible with current installed Fast-RTPS. Please, regenerate it with fastrtpsgen.
#error Generated VehicleOdometry_ is not compatible with current installed Fast-RTPS. Please, regenerate it with fastrtpsgen.
^
In file included from /home/ncrl/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/HomePosition_Publisher.h:47:0,
from /home/ncrl/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/RtpsTopics.h:41,
from /home/ncrl/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/RtpsTopics.cpp:33:
/home/ncrl/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/HomePosition_PubSubTypes.h:32:2: error: #error Generated HomePosition_ is not compatible with current installed Fast-RTPS. Please, regenerate it with fastrtpsgen.
#error Generated HomePosition_ is not compatible with current installed Fast-RTPS. Please, regenerate it with fastrtpsgen.
^
In file included from /home/ncrl/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/SatelliteInfo_Publisher.h:47:0,
from /home/ncrl/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/RtpsTopics.h:42,
from /home/ncrl/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/RtpsTopics.cpp:33:
/home/ncrl/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/SatelliteInfo_PubSubTypes.h:32:2: error: #error Generated SatelliteInfo_ is not compatible with current installed Fast-RTPS. Please, regenerate it with fastrtpsgen.
#error Generated SatelliteInfo_ is not compatible with current installed Fast-RTPS. Please, regenerate it with fastrtpsgen.
^
In file included from /home/ncrl/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/WindEstimate_Publisher.h:47:0,
from /home/ncrl/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/RtpsTopics.h:43,
from /home/ncrl/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/RtpsTopics.cpp:33:
/home/ncrl/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/WindEstimate_PubSubTypes.h:32:2: error: #error Generated WindEstimate_ is not compatible with current installed Fast-RTPS. Please, regenerate it with fastrtpsgen.
#error Generated WindEstimate_ is not compatible with current installed Fast-RTPS. Please, regenerate it with fastrtpsgen.
^
In file included from /home/ncrl/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/Airspeed_Publisher.h:47:0,
from /home/ncrl/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/RtpsTopics.h:44,
from /home/ncrl/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/RtpsTopics.cpp:33:
/home/ncrl/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/Airspeed_PubSubTypes.h:32:2: error: #error Generated Airspeed_ is not compatible with current installed Fast-RTPS. Please, regenerate it with fastrtpsgen.
#error Generated Airspeed_ is not compatible with current installed Fast-RTPS. Please, regenerate it with fastrtpsgen.
^
In file included from /home/ncrl/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/IridiumsbdStatus_Publisher.h:47:0,
from /home/ncrl/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/RtpsTopics.h:45,
from /home/ncrl/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/RtpsTopics.cpp:33:
/home/ncrl/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/IridiumsbdStatus_PubSubTypes.h:32:2: error: #error Generated IridiumsbdStatus_ is not compatible with current installed Fast-RTPS. Please, regenerate it with fastrtpsgen.
#error Generated IridiumsbdStatus_ is not compatible with current installed Fast-RTPS. Please, regenerate it with fastrtpsgen.
^
In file included from /home/ncrl/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/AdcReport_Publisher.h:47:0,
from /home/ncrl/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/RtpsTopics.h:46,
from /home/ncrl/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/RtpsTopics.cpp:33:
/home/ncrl/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/AdcReport_PubSubTypes.h:32:2: error: #error Generated AdcReport_ is not compatible with current installed Fast-RTPS. Please, regenerate it with fastrtpsgen.
#error Generated AdcReport_ is not compatible with current installed Fast-RTPS. Please, regenerate it with fastrtpsgen.
^
In file included from /home/ncrl/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/BatteryStatus_Publisher.h:47:0,
from /home/ncrl/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/RtpsTopics.h:47,
from /home/ncrl/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/RtpsTopics.cpp:33:
/home/ncrl/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/BatteryStatus_PubSubTypes.h:32:2: error: #error Generated BatteryStatus_ is not compatible with current installed Fast-RTPS. Please, regenerate it with fastrtpsgen.
#error Generated BatteryStatus_ is not compatible with current installed Fast-RTPS. Please, regenerate it with fastrtpsgen.
^
In file included from /home/ncrl/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/RadioStatus_Publisher.h:47:0,
from /home/ncrl/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/RtpsTopics.h:48,
from /home/ncrl/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/RtpsTopics.cpp:33:
/home/ncrl/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/RadioStatus_PubSubTypes.h:32:2: error: #error Generated RadioStatus_ is not compatible with current installed Fast-RTPS. Please, regenerate it with fastrtpsgen.
#error Generated RadioStatus_ is not compatible with current installed Fast-RTPS. Please, regenerate it with fastrtpsgen.

My fastrtps version is 1.7.1, operating system is Ubuntu 16.04, ros2 version is ardent, and ros1 version is kinetic. Are there any missing steps?

I have tried to reinstall fastrtps to version 1.5, it shows different error

Starting >>> px4_msgs
[0.169s] WARNING:colcon.colcon_ros.prefix_path.catkin:The path '/home/ncrl/vins_ws/devel' in the environment variable CMAKE_PREFIX_PATH seems to be a catkin workspace but it doesn't contain any 'local_setup.*' files. Maybe the catkin version is not up-to-date?
[0.169s] WARNING:colcon.colcon_ros.prefix_path.catkin:The path '/home/ncrl/robot_ws/devel' in the environment variable CMAKE_PREFIX_PATH seems to be a catkin workspace but it doesn't contain any 'local_setup.*' files. Maybe the catkin version is not up-to-date?
[0.169s] WARNING:colcon.colcon_ros.prefix_path.catkin:The path '/opt/ros/kinetic' in the environment variable CMAKE_PREFIX_PATH seems to be a catkin workspace but it doesn't contain any 'local_setup.*' files. Maybe the catkin version is not up-to-date?
Finished <<< px4_msgs [7.78s]
Starting >>> px4_ros_com
--- stderr: px4_ros_com
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.16.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
Traceback (most recent call last):
File "/home/ncrl/px4_ros_com_ros2/src/px4_ros_com/scripts/generate_microRTPS_bridge.py", line 396, in <module>
generate_agent(agent_out_dir)
File "/home/ncrl/px4_ros_com_ros2/src/px4_ros_com/scripts/generate_microRTPS_bridge.py", line 330, in generate_agent
"fastrtpsgen not found. Specify the location of fastrtpsgen with the -f flag")
Exception: fastrtpsgen not found. Specify the location of fastrtpsgen with the -f flag
make[2]: *** [/home/ncrl/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/microRTPS_agent.cpp] Error 1
make[2]: *** Deleting file '/home/ncrl/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/microRTPS_agent.cpp'
make[1]: *** [CMakeFiles/micrortps_agent.dir/all] Error 2
make: *** [all] Error 2
---
Failed <<< px4_ros_com [ Exited with code 2 ]

Summary: 1 package finished [8.32s]
1 package failed: px4_ros_com
1 package had stderr output: px4_ros_com

build_all.sh script exits without any erros

Most likely this is related to my system, but when I run makes the script exit without any errors. (or even if there was a error, the scripts exits and closes the terminal)

source build_all.bash --ros1_ws_dir <path/to/px4_ros_com_ros1/ws>

Running the script without source e.g. works without any problems.

./build_all.bash --ros1_ws_dir <path/to/px4_ros_com_ros1/ws>

Running on Ubuntu 18.04, with ROS2 dashing / ROS melodic

Build errror

I am having a problem with building px4_ros_com package, I am using Ubuntu 18.04, with ROS Melodic and ROS2 Crystal, followed these setup steps:

  1. Clone https://github.com/PX4/px4_ros_com master branch to a ROS2 workspace;
  2. Clone https://github.com/PX4/px4_msgs master branch to the same ROS2 workspace;
  3. Clone https://github.com/PX4/px4_ros_com ros1 to a ROS1 workspace;
  4. Clone https://github.com/PX4/px4_msgs ros1 branch to the same ROS1 workspace;
  5. Installed Fast RTPS using the steps over here https://dev.px4.io/en/setup/fast-rtps-installation.html

Steps to reproduce issue:

  • Terminal A in <ros1_ws_dir>:

    • source /opt/ros/melodic/setup.bash
    • colcon build
  • Terminal B in <ros2_ws_dir>:

    • source /opt/ros/melodic/setup.bash
    • source /opt/ros/crystal/setup.bash
    • export ROS2_DISTRO=$ROS_DISTRO
    • colcon build
      • px4_msgs build is completed successfully
      • px4_ros_com build fails and trigger the below error
        • generate_microRTPS_bridge.py: error: argument -f/--fastrtpsgen-dir: expected one argument

Thanks once again!

Building ros1_bridge failure

My system:
ROS1 Melodic, ROS2 Dashing on an ARM64 RPi4 running Ubuntu 18.04 Bionic

What I've done so far:

  1. Successfully built px4 ros2 workspace and can read uORB messages from pixhawk 4.
  2. Installed ROS1 melodic using: sudo apt install ros_melodic_ros_base.
  3. Sourced /opt/ros/melodic/setup.bash
  4. Cloned px4 ros1 packages.
  5. Built using build_ros1_workspace.bash - Fails with copious errors regarding packages not have a setup.py file and errors such as: "distutils.core.setup() was never called -- perhaps 'setup.py' us bit a Disutils setup script?".
  6. Built using: colcon build --symlink-install --event-handlers console_direct+. Succeeds with no issues.
  7. Sourced px4_ros_com_ros1/install/setup.bash
  8. Sourced px4_ros_com_ros2/install/setup.bash
  9. Ran colcon build --symlink-install --packages-select ros1_bridge --cmake-force-configure --event- handlers console_direct+

What I expect:
Successful build of ros1_bridge

What happened:
Failure during building of simple_bridge_2_to_1.cpp.o with the following error:

Traceback (most recent call last): File "bin/ros1_bridge_generate_factories", line 11, in <module> from ros1_bridge import generate_cpp File "/home/ubuntu/px4_ros_com_ros2/src/ros1_bridge/ros1_bridge/__init__.py", line 709, in <module> rosidl_parser.Field.__hash__ = FieldHash AttributeError: module 'rosidl_parser' has no attribute 'Field' make[2]: *** [generated/get_factory.cpp] Error 1 CMakeFiles/ros1_bridge.dir/build.make:61: recipe for target 'generated/get_factory.cpp' failed make[1]: *** [CMakeFiles/ros1_bridge.dir/all] Error 2 make[1]: *** Waiting for unfinished jobs.... CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/ros1_bridge.dir/all' failed

My comments:
Unsure if this invalid member reference is a developer issue or if it is an issue with my environment. I'm happy to supply the error output generated while running the build_ros1_workspace.bash if you feel its necessary. Any help would be greatly appreciated.

Error when I try to build px4_ros_com_ros2 package : error: ‘class eprosima::fastrtps::rtps::BuiltinAttributes’ has no member named ‘leaseDuration’

Hi !

I'm on ROS2-Eloquent and I follow this doc : https://dev.px4.io/master/en/middleware/micrortps.html
And I follow this page to install Fast-RTPS and Fast-RTPS-Gen : https://dev.px4.io/master/en/setup/fast-rtps-installation.html

The installation of FastRTPS-1.8.2 and FastRTPS-Gen succeed.

Then I cloned the repo of px4_ros_com_ros2 and I don't need the ros1 bridge then I didn't clone it.

And when I tried to build px4_ros_com_ros2 package with build_ros2_workspace.bash, my terminal just close and did nothing and when I build (after clean_all.bash) with this command : colcon build --symlink-install --packages-skip ros1_bridge --event-handlers console_direct+
I get this issue :

Screenshot from 2020-04-10 08-53-24
Screenshot from 2020-04-10 08-53-46
Screenshot from 2020-04-10 08-53-56

Thank's a lot for helping me !

Issues when building and running an example

I am trying to run px4_ros_com on Ubuntu 18.04 but have some problems. Can you tell me what's wrong? This is what I did:

  1. Installed the PX4 Firmware by using ubuntu_sim_nuttx.sh
  2. Added export FASTRTPSGEN_DIR=/home/aniemiec/eProsima_FastRTPS-1.7.1-Linux/bin to ~/.bashrc and restarted the session
  3. Built ROS2 Crystal by following Building ROS 2 on Linux
  4. Cloned the px4_msgs to ~/ros2_ws/src/
  5. Cloned the px4_ros_com to ~/ros2_ws/src/
  6. Installed genmsg by executing sudo apt install ros-melodic-genmsg
  7. Sourced ros by executing source /opt/ros/melodic/setup.bash
  8. Sourced ros2_ws by executing source ~/ros2_ws/install/local_setup.bash
  9. Built a ros2_ws by executing colcon build --symlink-install
  10. Sourced ros2_ws by executing source ~/ros2_ws/install/local_setup.bash
  11. Started a PX4 instance in another terminal by executing cd ~/src/Firmware/; make px4_sitl_rtps gazebo
  12. Executed micrortps_client start -t UDP inside a NuttShell
  13. Started micrortps_agent -t UDP in first terminal.

To test my setup I opened a third terminal, sourced ros2_ws and listed topics. This genertated an error:

/usr/bin/python3: symbol lookup error: /home/aniemiec/ros2_ws/install/rmw_fastrtps_shared_cpp/lib/librmw_fastrtps_shared_cpp.so: undefined symbol: _ZN8eprosima8fastrtps6Domain17createParticipantERNS0_21ParticipantAttributesEPNS0_19ParticipantListenerE

Sourcing ros2_ws by source ~/ros2_ws/install/setup.bash generates this message:

aniemiec@r2d2l:~/ros2_ws$ source ~/ros2_ws/install/setup.bash 
ROS_DISTRO was set to 'crystal' before. Please make sure that the environment does not mix paths from different distributions.
not found: "/home/aniemiec/ros2_ws/install/ament_index_cpp/local_setup.bash"
not found: "/home/aniemiec/ros2_ws/install/ament_cmake_core/local_setup.bash"
not found: "/home/aniemiec/ros2_ws/install/ament_cmake_export_definitions/local_setup.bash"
not found: "/home/aniemiec/ros2_ws/install/ament_cmake_export_include_directories/local_setup.bash"
not found: "/home/aniemiec/ros2_ws/install/ament_cmake_export_libraries/local_setup.bash"
not found: "/home/aniemiec/ros2_ws/install/ament_cmake_export_interfaces/local_setup.bash"
not found: "/home/aniemiec/ros2_ws/install/ament_cmake_export_link_flags/local_setup.bash"
not found: "/home/aniemiec/ros2_ws/install/ament_cmake_include_directories/local_setup.bash"
not found: "/home/aniemiec/ros2_ws/install/ament_cmake_libraries/local_setup.bash"
not found: "/home/aniemiec/ros2_ws/install/ament_cmake_export_dependencies/local_setup.bash"
...
not found: "/home/aniemiec/ros2_ws/install/examples_rclpy_executors/local_setup.bash"
not found: "/home/aniemiec/ros2_ws/install/examples_rclpy_minimal_publisher/local_setup.bash"
not found: "/home/aniemiec/ros2_ws/install/examples_rclpy_minimal_subscriber/local_setup.bash"
not found: "/home/aniemiec/ros2_ws/install/test_launch_ros/local_setup.bash"
not found: "/home/aniemiec/ros2_ws/install/rqt/local_setup.bash"
not found: "/home/aniemiec/ros2_ws/install/topic_monitor/local_setup.bash"
not found: "/home/aniemiec/ros2_ws/install/ament_uncrustify/local_setup.bash"
not found: "/home/aniemiec/ros2_ws/install/demo_nodes_py/local_setup.bash"
not found: "/home/aniemiec/ros2_ws/install/examples_rclpy_minimal_client/local_setup.bash"
not found: "/home/aniemiec/ros2_ws/install/examples_rclpy_minimal_service/local_setup.bash"
ROS_DISTRO was set to 'melodic' before. Please make sure that the environment does not mix paths from different distributions.

This sourcing allows me to run ros2 topic list but I got this error when I echo any topic:

aniemiec@r2d2l:~/ros2_ws$ ros2 topic echo /SensorCombined_topic
Traceback (most recent call last):
  File "/home/aniemiec/ros2_ws/install/ros2cli/bin/ros2", line 11, in <module>
    load_entry_point('ros2cli', 'console_scripts', 'ros2')()
  File "/home/aniemiec/ros2_ws/build/ros2cli/ros2cli/cli.py", line 69, in main
    rc = extension.main(parser=parser, args=args)
  File "/home/aniemiec/ros2_ws/build/ros2topic/ros2topic/command/topic.py", line 43, in main
    return extension.main(args=args)
  File "/home/aniemiec/ros2_ws/build/ros2topic/ros2topic/verb/echo.py", line 70, in main
    return main(args)
  File "/home/aniemiec/ros2_ws/build/ros2topic/ros2topic/verb/echo.py", line 81, in main
    node.node, args.topic_name, args.message_type, callback)
  File "/home/aniemiec/ros2_ws/build/ros2topic/ros2topic/verb/echo.py", line 124, in subscriber
    msg_module = import_message_type(topic_name, message_type)
  File "/home/aniemiec/ros2_ws/build/ros2topic/ros2topic/api/__init__.py", line 71, in import_message_type
    module = importlib.import_module(package_name + '.' + middle_module)
  File "/usr/lib/python3.6/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 994, in _gcd_import
  File "<frozen importlib._bootstrap>", line 971, in _find_and_load
  File "<frozen importlib._bootstrap>", line 941, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "<frozen importlib._bootstrap>", line 994, in _gcd_import
  File "<frozen importlib._bootstrap>", line 971, in _find_and_load
  File "<frozen importlib._bootstrap>", line 953, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'px4_ros_com'

I have also tested scripts and followed instructions in PX4 docks but ended up with same results.

Build failing for ROS2 workspace

Running the script build_ros2_workspace.bash in the workspace fails with the error:

AssertionError: 
The following message is not listen under  /root/dev_ws/src/px4_ros_com/templates/uorb_rtps_message_ids.yaml: SensorPreflightImu

Please add them to the yaml file with the respective ID and, if applicable, mark them to be sent or received by the micro-RTPS bridge.
NOTE: If the message has multi-topics (#TOPICS), these should be added as well.

CMake Error at cmake/GenerateMicroRTPSAgent.cmake:132 (string):
string sub-command FIND requires 3 or 4 parameters.

System:-
Ubuntu 18.04
ROS2 Dashing
FastRTPS 1.8.2

fastrtpsgen -version
openjdk version "1.8.0_265"
OpenJDK Runtime Environment (build 1.8.0_265-8u265-b01-0ubuntu2~18.04-b01)
OpenJDK 64-Bit Server VM (build 25.265-b01, mixed mode)
fastrtpsgen version 1.0.4

Installed FastRTPSGen & FastRTPS (from source) following this guide https://dev.px4.io/master/en/setup/fast-rtps-installation.html

Followed https://dev.px4.io/master/en/middleware/micrortps.html to build the workspace.

Full Error Output

root@fbdacbc26a95:~/dev_ws/src/px4_ros_com/scripts# ./build_ros2_workspace.bash 
openjdk version "1.8.0_265"
OpenJDK Runtime Environment (build 1.8.0_265-8u265-b01-0ubuntu2~18.04-b01)
OpenJDK 64-Bit Server VM (build 25.265-b01, mixed mode)
Starting >>> px4_msgs
Finished <<< px4_msgs [14.0s]                         
Starting >>> px4_ros_com
--- stderr: px4_ros_com                          
openjdk version "1.8.0_265"
OpenJDK Runtime Environment (build 1.8.0_265-8u265-b01-0ubuntu2~18.04-b01)
OpenJDK 64-Bit Server VM (build 25.265-b01, mixed mode)
Traceback (most recent call last):
  File "/root/dev_ws/src/px4_ros_com/scripts/uorb_rtps_classifier.py", line 232, in <module>
    classifier = (Classifier(os.path.abspath(args.yaml_file), msg_dir) if os.path.isabs(args.yaml_file)
  File "/root/dev_ws/src/px4_ros_com/scripts/uorb_rtps_classifier.py", line 55, in __init__
    self.check_if_listed(yaml_file)
  File "/root/dev_ws/src/px4_ros_com/scripts/uorb_rtps_classifier.py", line 142, in check_if_listed
    "to be sent or received by the micro-RTPS bridge.\n"
AssertionError: 
The following message is not listen under  /root/dev_ws/src/px4_ros_com/templates/uorb_rtps_message_ids.yaml: SensorPreflightImu

Please add them to the yaml file with the respective ID and, if applicable, mark them to be sent or received by the micro-RTPS bridge.
NOTE: If the message has multi-topics (#TOPICS), these should be added as well.

CMake Error at cmake/GenerateMicroRTPSAgent.cmake:106 (string):
  string sub-command FIND requires 3 or 4 parameters.
Call Stack (most recent call first):
  CMakeLists.txt:60 (include)


Traceback (most recent call last):
  File "/root/dev_ws/src/px4_ros_com/scripts/uorb_rtps_classifier.py", line 232, in <module>
    classifier = (Classifier(os.path.abspath(args.yaml_file), msg_dir) if os.path.isabs(args.yaml_file)
  File "/root/dev_ws/src/px4_ros_com/scripts/uorb_rtps_classifier.py", line 55, in __init__
    self.check_if_listed(yaml_file)
  File "/root/dev_ws/src/px4_ros_com/scripts/uorb_rtps_classifier.py", line 142, in check_if_listed
    "to be sent or received by the micro-RTPS bridge.\n"
AssertionError: 
The following message is not listen under  /root/dev_ws/src/px4_ros_com/templates/uorb_rtps_message_ids.yaml: SensorPreflightImu

Please add them to the yaml file with the respective ID and, if applicable, mark them to be sent or received by the micro-RTPS bridge.
NOTE: If the message has multi-topics (#TOPICS), these should be added as well.

CMake Error at cmake/GenerateMicroRTPSAgent.cmake:132 (string):
  string sub-command FIND requires 3 or 4 parameters.
Call Stack (most recent call first):
  CMakeLists.txt:60 (include)


---
Failed   <<< px4_ros_com [2.99s, exited with code 1]

Summary: 1 package finished [18.3s]
  1 package failed: px4_ros_com
  1 package had stderr output: px4_ros_com

px4_msgs class member error.

Compiling px4_ros_comm on Ubuntu 18.04 with ARM64 architecture and ROS crystal using the following command:

sudo bash src/px4_ros_com/scripts/build_ros2_workspace.bash --no_ros1_bridge --ros_distro crystal --ros_path ~/ros2_crystal/ros2-linux/setup.bash

It successfully compiles px4_msgs but fails during compilation of px4_ros_comm with about 55 errors similar to:

/home/ubuntu/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/RtpsTopics.cpp:297:42: error: ‘class px4_msgs::msg::dds_::BatteryStatus_’ has no member named ‘timestamp’; did you mean ‘timestamp_’? _timesync->subtractOffset(st.timestamp());

I have cloned the latest px4_msgs and px4_ros_comm repos. If this is not a bug, could someone please point me towards the solution?

Build failure with colcon

I have installed fastrtpsgen following this doc, and followed the installation tutorials.

However, the build fails when running

colcon build --symlink-install --packages-skip ros1_bridge --event-handlers console_direct+

The error log is as the following.

/sbin/ldconfig.real: /lib/i386-linux-gnu/ld-2.27.so is the dynamic linker, ignoring

/sbin/ldconfig.real: /lib/x86_64-linux-gnu/ld-2.27.so is the dynamic linker, ignoring

/sbin/ldconfig.real: /lib32/ld-2.27.so is the dynamic linker, ignoring

/sbin/ldconfig.real: Can't create temporary cache file /etc/ld.so.cache~: Permission denied
All good. RTPS ID's are unique
Traceback (most recent call last):                 
  File "/home/jaeyoung/px4_ros_com_ros2/src/px4_ros_com/scripts/generate_microRTPS_bridge.py", line 497, in <module>
    generate_agent(agent_out_dir)
  File "/home/jaeyoung/px4_ros_com_ros2/src/px4_ros_com/scripts/generate_microRTPS_bridge.py", line 415, in generate_agent
    raise Exception("No IDL files found in %s" % idl_dir)
Exception: No IDL files found in /home/jaeyoung/px4_ros_com_ros2/install/px4_msgs/share/px4_msgs/msg/dds_fastrtps
CMakeFiles/micrortps_agent.dir/build.make:61: recipe for target '/home/jaeyoung/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/microRTPS_agent.cpp' failed
make[2]: *** [/home/jaeyoung/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/microRTPS_agent.cpp] Error 1
make[2]: *** Deleting file '/home/jaeyoung/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/microRTPS_agent.cpp'
CMakeFiles/Makefile2:136: recipe for target 'CMakeFiles/micrortps_agent.dir/all' failed
make[1]: *** [CMakeFiles/micrortps_agent.dir/all] Error 2
Makefile:140: recipe for target 'all' failed
make: *** [all] Error 2
--- stderr: px4_ros_com
CMakeFiles/micrortps_agent.dir/build.make:353: warning: overriding recipe for target '/home/jaeyoung/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/Timesync_.cpp'
CMakeFiles/micrortps_agent.dir/build.make:182: warning: ignoring old recipe for target '/home/jaeyoung/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/Timesync_.cpp'
CMakeFiles/micrortps_agent.dir/build.make:356: warning: overriding recipe for target '/home/jaeyoung/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/Timesync_PubSubTypes.cpp'
CMakeFiles/micrortps_agent.dir/build.make:185: warning: ignoring old recipe for target '/home/jaeyoung/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/Timesync_PubSubTypes.cpp'
CMakeFiles/micrortps_agent.dir/build.make:359: warning: overriding recipe for target '/home/jaeyoung/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/Timesync_PubSubTypes.h'
CMakeFiles/micrortps_agent.dir/build.make:188: warning: ignoring old recipe for target '/home/jaeyoung/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/Timesync_PubSubTypes.h'
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
/sbin/ldconfig.real: Can't stat /usr/local/lib/i386-linux-gnu: No such file or directory
/sbin/ldconfig.real: Can't stat /usr/local/lib/i686-linux-gnu: No such file or directory
/sbin/ldconfig.real: Can't stat /lib/i686-linux-gnu: No such file or directory
/sbin/ldconfig.real: Can't stat /usr/lib/i686-linux-gnu: No such file or directory
/sbin/ldconfig.real: Can't stat /usr/local/lib/x86_64-linux-gnu: No such file or directory
/sbin/ldconfig.real: Path `/lib/x86_64-linux-gnu' given more than once
/sbin/ldconfig.real: Path `/usr/lib/x86_64-linux-gnu' given more than once
/sbin/ldconfig.real: /lib/i386-linux-gnu/ld-2.27.so is the dynamic linker, ignoring

/sbin/ldconfig.real: /lib/x86_64-linux-gnu/ld-2.27.so is the dynamic linker, ignoring

/sbin/ldconfig.real: /lib32/ld-2.27.so is the dynamic linker, ignoring

/sbin/ldconfig.real: Can't create temporary cache file /etc/ld.so.cache~: Permission denied
Traceback (most recent call last):
  File "/home/jaeyoung/px4_ros_com_ros2/src/px4_ros_com/scripts/generate_microRTPS_bridge.py", line 497, in <module>
    generate_agent(agent_out_dir)
  File "/home/jaeyoung/px4_ros_com_ros2/src/px4_ros_com/scripts/generate_microRTPS_bridge.py", line 415, in generate_agent
    raise Exception("No IDL files found in %s" % idl_dir)
Exception: No IDL files found in /home/jaeyoung/px4_ros_com_ros2/install/px4_msgs/share/px4_msgs/msg/dds_fastrtps
make[2]: *** [/home/jaeyoung/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/microRTPS_agent.cpp] Error 1
make[2]: *** Deleting file '/home/jaeyoung/px4_ros_com_ros2/src/px4_ros_com/src/micrortps_agent/microRTPS_agent.cpp'
make[1]: *** [CMakeFiles/micrortps_agent.dir/all] Error 2
make: *** [all] Error 2
---

System:

  • Ubuntu 18.04, ROS2 Dashing, ROS1 melodic is installed

Failure building ros2 workspace

px4_ros_com
Whenever I try to build the ros1 and ros2 workspaces. The ros1 workspace succeeds, but the ros2 workspace fails.

I followed the instructions on the dev guide, but to no avail.

At first I tried

source build_all.bash --ros1_ws_dir
The ros1 workspace would complete, but the ros2 build terminal would crash with no output, so I opted to try and build them manually.

In calling this command
colcon build --symlink-install --packages-skip ros1_bridge --event-handlers console_direct+
I get the above error.

Using the correct version of Java with fastrtpsgen

If you have a version of openjdk newer than 1.8, the setup will fail because of ambiguous libraries called Module (link). You must uninstall all versions of java newer than 8 and then install sudo apt install openjdk-8-jdk openjdk-8-jre gradle. (If you have a version of java newer than 8 installed, gradle will use that instead of the correct version)

This is not currently covered in the documentation

symbol lookup error when runing micrortps_agent

I am trying to launch an micrortps_agent but end up with this message:

micrortps_agent: symbol lookup error: micrortps_agent: undefined symbol: _ZN8eprosima8fastrtps6Domain17createParticipantERNS0_21ParticipantAttributesEPNS0_19ParticipantListenerE

What's wrong? I am trying to follow the docs.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.