Unmet dependencies on Ubuntu 19.10 eloquent
I have spent a very frustrating afternoon trying to install ROS2 eloquent on a clean Ubuntu 19.10 VM without success. The VM was fully updated before the install. I chose the minimal installation as I only want to use ROS2 in the VM.
I started by following the installation instructions: https://index.ros.org/doc/ros2/Installation/Eloquent/Linux-Install-Debians/. I installed the keys and the ros2-latest.list
file, did the sudo apt update
and then tried:
$ sudo apt install ros-eloquent-desktop
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package ros-eloquent-desktop
This format of command used to work on ROS but failed this time. Reading other questions, the following information was requested, so here it is.
$ uname -a
Linux andy-VirtualBox 5.3.0-46-generic #38-Ubuntu SMP Fri Mar 27 17:37:05 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
$ cat /etc/apt/sources.list.d/ros2-latest.list
deb [arch=amd64] http://packages.ros.org/ros2/ubuntu eoan main
$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=19.10
DISTRIB_CODENAME=eoan
DISTRIB_DESCRIPTION="Ubuntu 19.10"
After a bit of searching around, I read that each ROS2 release is paired with an Ubuntu release, so I tried the following command.
$ sudo apt install ros-desktop-full
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies.
ros-desktop-full : Depends: ros-desktop but it is not going to be installed
Depends: ros-perception but it is not going to be installed
Depends: ros-simulators but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
Finally, something that apt
can install, but still no cigar! I then spent about an hour trying to manually fill in the missing dependencies. I ended up with this command:
$ sudo apt install -y \
> ros-desktop \
> ros-robot \
> tf-tools \
> python-tf\
> tf2-tools \
> python-tf2 \
> python-rospy \
> python-tf2-ros \
> python-actionlib \
> libtf2-ros-dev \
> ros-viz \
> ros-base \
> ros-core \
> python3-rosbag \
> python-roslib \
> catkin \
> python3-catkin \
> python3-catkin-pkg \
> python3-catkin-pkg-modules \
> python-rospkg \
> python-rospkg-modules \
> python-catkin-pkg-modules \
> python3-rosclean \
> python-rosgraph \
> python-rosmaster \
> python-rosparam \
> python-roslaunch \
> python-rosmsg \
> python-rosnode \
> python-rosservice \
> python-rostopic \
> python-message-filters \
> python-roswtf
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies.
catkin : Depends: python-catkin-pkg but it is not going to be installed
python-catkin-pkg-modules : Conflicts: catkin but 0.7.18-1 is to be installed
python3-catkin-pkg ...