So as part of the work I do with AWS DeepRacer I use SSM Agent on the cars and (finally) now also on the Raspberry Pi based timing system, to make things easier I thought I’d “quickly” install and activate SSM on the RPi so I can access them remotely and show the timer online as part of DeepRacer Event Manager (DREM – more on which in another blog post)
Installing SSM on a 32bit OS on an RPi Zero or 4 was easy, just works, however on a 64bit OS I was getting errors:
dpkg: dependency problems prevent configuration of amazon-ssm-agent:armhf:
amazon-ssm-agent:armhf depends on libc6.
dpkg: error processing package amazon-ssm-agent:armhf (--install):
dependency problems - leaving unconfigured
Errors were encountered while processing:
amazon-ssm-agent:armhf
Took me a while to find the answer as I didn’t happen to have the time to get an uninterrupted run at fixing the issue and more importantly testing the fix (because I was activating SSM as part of a scripted process) each attempt meant I needed to re-install the OS on the RPi to ensure it was working correctly.
Anyway, the solution was to install libc6:armhf
so now my code to install SSM on an RPi 4 running 64bit OS is as follows:
sudo dpkg --add-architecture armhf
sudo apt-get update
sudo apt-get install -y libc6:armhf
mkdir /tmp/ssm
sudo curl https://s3.amazonaws.com/ec2-downloads-windows/SSMAgent/latest/debian_arm/amazon-ssm-agent.deb -o /tmp/ssm/amazon-ssm-agent.deb
dpkg -i /tmp/ssm/amazon-ssm-agent.deb
rm -rf /tmp/ssm
And once installed activate SSM as normal.
Hopefully this helps someone, and if not it will probably help future me.