Failed to install mender-client on 2019-04-08-raspbian-stretch-lite because of GLBC and OpenSSL dependencies

Hey everyone, I was wondering if someone could help me sort out a problem I had when setting up the mender client for my demo application on a Raspberry Pi Compute Module 3 Plus Rev 1.0.

The image I’m running is the default 2019-04-08-raspbian-stretch-lite image, so not converted for Mender. This post indicates it should be supported: https://hub.mender.io/t/raspberry-pi-3-model-b-b-raspbian/140

Additional system information:

$  cat /etc/os-release
PRETTY_NAME="Raspbian GNU/Linux 9 (stretch)"
NAME="Raspbian GNU/Linux"
VERSION_ID="9"
VERSION="9 (stretch)"
ID=raspbian
ID_LIKE=debian
HOME_URL="http://www.raspbian.org/"
SUPPORT_URL="http://www.raspbian.org/RaspbianForums"
BUG_REPORT_URL="http://www.raspbian.org/RaspbianBugs"

$ uname -a
Linux anon 4.19.93-v7+ #1290 SMP Fri Jan 10 16:39:50 GMT 2020 armv7l GNU/Linux

$ cat /etc/rpi-issue
Raspberry Pi reference 2019-04-08
Generated using pi-gen, https://github.com/RPi-Distro/pi-gen, e910bf55ac92e27c6e77043e8995bcb5e0a2d742, stage2

$ uname -r
4.19.93-v7+

$ cat /proc/device-tree/model && echo
Raspberry Pi Compute Module 3 Plus Rev 1.0

I tried to run the following command as indicated by the manual: https://docs.mender.io/get-started/preparation/prepare-a-raspberry-pi-device

$ wget -q -O- https://get.mender.io | sudo bash -s -- --demo --commercial --jwt-token $JWT_TOKEN -- --quiet --device-type "raspberrypi3" --demo --hosted-mender --tenant-token $TENANT_TOKEN

But I get the following output:

 _ __ ___   ___ _ __   __| | ___ _ __
| '_ ` _ \ / _ \ '_ \ / _` |/ _ \ '__|
| | | | | |  __/ | | | (_| |  __/ |
|_| |_| |_|\___|_| |_|\__,_|\___|_|

Running the Mender installation script.
--

  Detected architecture:
	armhf
  Installing from channel:
	stable
  Selected components:
	mender-client
	mender-configure
	mender-connect
	mender-configure-demo
	mender-configure-timezone
	mender-monitor
Setting up mender-client (3.1.0-1) ...
mender: /lib/arm-linux-gnueabihf/libc.so.6: version `GLIBC_2.28' not found (required by mender)
mender: /usr/lib/arm-linux-gnueabihf/libcrypto.so.1.1: version `OPENSSL_1_1_1' not found (required by mender)
dpkg: error processing package mender-client (--configure):
 subprocess installed post-installation script returned error exit status 1
dpkg: dependency problems prevent configuration of mender-configure:
 mender-configure depends on mender-client (>= 2.5.0); however:
  Package mender-client is not configured yet.

dpkg: error processing package mender-configure (--configure):
 dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of mender-configure-demo:
 mender-configure-demo depends on mender-configure; however:
  Package mender-configure is not configured yet.

dpkg: error processing package mender-configure-demo (--configure):
 dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of mender-connect:
 mender-connect depends on mender-client (>= 2.5.0); however:
  Package mender-client is not configured yet.

dpkg: error processing package mender-connect (--configure):
 dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of mender-configure-timezone:
 mender-configure-timezone depends on mender-configure; however:
  Package mender-configure is not configured yet.

dpkg: error processing package mender-configure-timezone (--configure):
 dependency problems - leaving unconfigured
Errors were encountered while processing:
 mender-client
 mender-configure
 mender-configure-demo
 mender-connect
 mender-configure-timezone

So apparently the mender-client application needs at least GLIBC 2.28 and OpenSSL 1.1.1. I checked on my system and I run GLIBC version 2.24 and OpenSSL 1.1.0j.

My questions would be:

  • Is there a way to install mender-client, possibly an older version, so it’s compatible with GLIBC 2.24 and OpenSSL 1.1.0j?
  • Is the Raspbian image 2019-04-08-raspbian-stretch-lite only compatible with Mender when converted to a Mender image instead of out-of-the-box?

Thanks in advance for your help.

Hello @Bas !

I don’t know exactly about the OpenSSL version and which dependencies are used but a Raspberry Pi OS from 2019 is getting a bit old by now, so it’s probably not often tested against the latest Mender version.

The best path is probably to upgrade your OpenSSL and GLIBC (either in your OS or upgrade your OS). If that’s not possible then the easiest is likely to try an older version of Mender client. I see Mender 2.1 was released around the same time as your OS, which is likely what was used in that post you referred to: Mender 2.1 released: Deploy your first application easily | Mender

Of course you’ll miss 2 years of recent Mender features if you go down that route.

Hey Eystein,

Upgrading the OS will be the difficult because of current deployments unfortunately, but Mender 2.1 might be a good option. I will look into it. Thanks for your help!