Can't install ROS2 Humble on RasPi with Ubuntu Server 22.04
I have a fresh Ubuntu Server 22.04 64Bit installation on my Raspberry Pi 4B 4GB and followed the instructions exactly, here's my history:
1 sudo apt update
2 sudo apt upgrade
3 uname -a
4 sudo reboot now
5 uname -a
6 sudo apt update
7 sudo apt upgrade
8 locale
9 sudo apt update && sudo apt install locales
10 sudo locale-gen en_US en_US.UTF-8
11 sudo update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8
12 export LANG=en_US.UTF-8
13 locale
14 apt-cache policy | grep universe
15 sudo apt update && sudo apt install curl gnupg lsb-release
16 sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg
17 echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu $(source /etc/os-release && echo $UBUNTU_CODENAME) main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null
18 sudo apt update
19 sudo apt upgrade
20 sudo apt install ros-humble-ros-base
This returns the following error:
ubuntu@ubuntu:~$ sudo apt install ros-humble-ros-base
Reading package lists... Done
Building dependency tree... Done
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:
apt : Depends: libapt-pkg6.0 (>= 2.4.5) but it is not going to be installed
Depends: libsystemd0 but it is not installable
bsdutils : PreDepends: libsystemd0 but it is not installable
init : PreDepends: systemd-sysv but it is not going to be installed
libprocps8 : Depends: libsystemd0 (>= 209) but it is not installable
util-linux : PreDepends: libsystemd0 but it is not installable
PreDepends: libudev1 (>= 183) but it is not installable
E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.
The fun part is that all dependencies are already installed, they're just not found:
ubuntu@ubuntu:~$ sudo apt install libapt-pkg6.0 libsystemd0 systemd-sysv libudev1
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
libapt-pkg6.0 is already the newest version (2.4.5).
libsystemd0 is already the newest version (249.11-0ubuntu3).
libudev1 is already the newest version (249.11-0ubuntu3).
systemd-sysv is already the newest version (249.11-0ubuntu3).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
ubuntu@ubuntu:~$ dpkg -l | grep libapt-pkg6.0
ii libapt-pkg6.0:arm64 2.4.5 arm64 package management runtime library
ubuntu@ubuntu:~$ dpkg -l | grep libsystemd0
ii libsystemd0:arm64 249.11-0ubuntu3 arm64 systemd utility library
ubuntu@ubuntu:~$ dpkg -l | grep libudev1
ii libudev1:arm64 249.11-0ubuntu3 arm64 libudev shared library
Just for the sake of completeness:
ubuntu@ubuntu:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 22.04 LTS
Release: 22.04
Codename: jammy
ubuntu@ubuntu:~$ uname -a
Linux ubuntu 5.15.0-1011-raspi #13-Ubuntu SMP PREEMPT ...