diff --git a/msg/tools/generate_microRTPS_bridge.py b/msg/tools/generate_microRTPS_bridge.py index 67b1b6ae2d76..057770066d45 100644 --- a/msg/tools/generate_microRTPS_bridge.py +++ b/msg/tools/generate_microRTPS_bridge.py @@ -206,9 +206,14 @@ fastrtps_version = subprocess.check_output( "ldconfig -v 2>/dev/null | grep libfastrtps", shell=True).decode("utf-8").strip().split('so.')[-1] else: - # grab the version of the ros--fastrtps package - fastrtps_version = re.search(r'Version:\s*([\dd.]+)', subprocess.check_output( - "dpkg -s ros-" + ros2_distro + "-fastrtps 2>/dev/null | grep -i version", shell=True).decode("utf-8").strip()).group(1) + try: + # grab the version of the ros--fastrtps package + fastrtps_version = re.search(r'Version:\s*([\dd.]+)', subprocess.check_output( + "dpkg -s ros-" + ros2_distro + "-fastrtps 2>/dev/null | grep -i version", shell=True).decode("utf-8").strip()).group(1) + except subprocess.CalledProcessError: + # if ROS2 was installed from sources the command above fails, get the system-wide version instead + fastrtps_version = subprocess.check_output( + "ldconfig -v 2>/dev/null | grep libfastrtps", shell=True).decode("utf-8").strip().split('so.')[-1] # If nothing specified it's generated both