Skip to content

ARM64 CLI Docker image (v2) uses Bullseye base but binary requires Bookworm #1281

@kenitech-io

Description

@kenitech-io

Description

The ghcr.io/moghtech/komodo-cli:2 ARM64 image uses Debian Bullseye (11) as its base, but the km binary inside was built against Debian Bookworm (12) and requires glibc 2.32+ and OpenSSL 3 (libssl.so.3, libcrypto.so.3).

Steps to reproduce

# On an ARM64 host (e.g. Raspberry Pi 5)
docker run --rm ghcr.io/moghtech/komodo-cli:2 km --version

Expected

komodo-cli 2.0.0

Actual

km: error while loading shared libraries: libssl.so.3: cannot open shared object file: No such file or directory

Details

# Base image is Bullseye
$ docker run --rm --entrypoint cat ghcr.io/moghtech/komodo-cli:2 /etc/os-release
PRETTY_NAME="Debian GNU/Linux 11 (bullseye)"

# Binary requires glibc 2.32+ and OpenSSL 3
$ docker run --rm --entrypoint ldd ghcr.io/moghtech/komodo-cli:2 /usr/local/bin/km
/usr/local/bin/km: /lib/aarch64-linux-gnu/libc.so.6: version `GLIBC_2.32' not found
/usr/local/bin/km: /lib/aarch64-linux-gnu/libc.so.6: version `GLIBC_2.34' not found
libssl.so.3 => not found
libcrypto.so.3 => not found

Workaround

Download the binary from the GitHub release and run it in a Bookworm container:

docker run --rm debian:bookworm bash -c "
  apt-get update -qq && apt-get install -y -qq libssl3 ca-certificates curl >/dev/null 2>&1
  curl -sL https://github.com/moghtech/komodo/releases/download/v2.0.0/km-aarch64 -o /usr/local/bin/km
  chmod +x /usr/local/bin/km
  km --version
"

Fix

The ARM64 Dockerfile for the CLI image should use debian:bookworm (or debian:bookworm-slim) as the base image, matching the build environment. The amd64 image likely already does this or uses static linking.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions