ROS Notes: Downgrading from Lunar to Kinetic

The first step is to undo the package installation, which can be accomplished by asking the Ubuntu package manager to remove the desktop package I used to install.
sudo apt remove ros-lunar-desktop-full
Once the top-level package was removed, all of its related packages were marked as unnecessary and could be auto-removed.
sudo apt autoremove
At this point ROS Lunar is gone. If a new terminal is opened at this point, there will be an error because the Lunar setup script called by ~/.bashrc
is gone.
bash: /opt/ros/lunar/setup.bash: No such file or directory
This is not an immediate problem. We can leave it for now and install Kinetic.
sudo apt install ros-kinetic-desktop-full
After this completes, we can edit ~/.bashrc
and change the reference from /opt/ros/lunar/setup.bash
to /opt/ros/kinetic/setup.bash
. This will address the above "No such file or directory" error when opening up a new terminal.
Then we can fix up the build environment. If we now go into the catkin workspace and run source devel/setup.bash
as usual, that command will succeed but trying to run catkin_make
will result in an error:
The program 'catkin_make' is currently not installed. You can install it by typing:
sudo apt install catkin
This is a misleading error message because catkin_make was installed as part of ROS Kinetic. However, devel/setup.bash
still pointed to ROS Lunar which is now gone and that's why our system believes catkin_make is not installed.
How to fix this: open a new terminal window but do NOT run source devel/setup.bash
. Go into the catkin workspace and run catkin_make
there. This will update devel/setup.bash
for ROS Kinetic. After this completes, it is safe to run source devel/setup.bash
to set up ROS Kinetic. Now catkin_make
will execute successfully using ROS Kinetic version of files, and we're back in business!