ROS 2 Navigation stack on Ubuntu Xenial

asked 2020-09-01 13:41:50 -0500

mrunaljsarvaiya gravatar image

Hello! I'm trying to port over my navigation stack from ROS 1 -> ROS 2 using the ros1_bridge. Unfortunately since my stack is on Ubuntu Xenial (porting to Focal right now would be a nightmare), the only supported ROS 2 version seems to be ROS 2 Crystal, which is not great since most of the nav improvements have been made on the newer versions. Has anyone been able to use the bridge to talk to ROS 2 Dashing/Eloquent/Foxy on Ubuntu Xenial?


edit retag flag offensive close merge delete


I have been using ROS2 Foxy on Ubuntu Bionic, and there were only minor compilation issues. Therefore, I believe it should be similar for ROS2 Foxy on Ubuntu Xenial.

Have you tried to compile ROS2 on Ubuntu Xenial? Do you have a concrete issue?

lukicdarkoo gravatar image lukicdarkoo  ( 2020-09-01 19:05:16 -0500 )edit

I haven't tried it recently, but according to REP-2000: ROS 2 Releases and Target Platforms - Platforms by Distribution: Foxy Fitzroy (May 2020 - May 2023), Foxy is only really supported on Focal when it comes to Ubuntu.

You could always build from source, but the chances your dependencies are out-of-date are very high, necessitating building those from source as well (ad infinitum).

I would not recommend you try this, unless you have experience with this and an absolute need.


  • using Docker containers (ie: ros:foxy or derivatives)
  • using Singularity containers (also derived from ros:foxy)
gvdhoorn gravatar image gvdhoorn  ( 2020-09-02 02:04:25 -0500 )edit

With THIRDPARTY flag on, ROS2 packages should try to download third-party dependencies. Not sure how well does it scale, but for the ROS2 Foxy base I needed to install only liblog4cxx-dev on clean Raspberry Pi OS. On Ubuntu 18.04 I had a very few issues to compile complete ROS2 Foxy (desktop).

However, in general, the Docker container is a better solution, I completely overlooked it.

lukicdarkoo gravatar image lukicdarkoo  ( 2020-09-02 02:44:16 -0500 )edit