Skip to content

Missing dependencies for ARM containers on master #4404

@patrick-stephens

Description

@patrick-stephens

Bug Report

Describe the bug
Missing dependencies in the ARM32 image:
/fluent-bit/bin/fluent-bit: error while loading shared libraries: libatomic.so.1: cannot open shared object file: No such file or directory
There is a fix for it to just add the libatomic1 dependency to the runtime image so I will raise a PR for this.

Detected during the updates to add release automation and testing: #3753
It looks like this might be down to the recent update to systemd: #3177

To Reproduce

Set up multi-arch builds:

sudo apt-get install qemu binfmt-support qemu-user-static # Install the qemu packages
docker run --rm --privileged multiarch/qemu-user-static --reset -p yes

Confirm it supports an ARM 32 image:

docker run --rm -t arm64v8/ubuntu uname -m # Run an executable made for aarch64 on x86_64
WARNING: The requested image's platform (linux/arm64/v8) does not match the detected host platform (linux/amd64) and no specific platform was requested
aarch64

Checkout current master 3197e97
Patch in version 1.8.10 to the dockerfiles/Dockerfile.arm32v7 - otherwise it'll default to using 1.9.0 source which doesn't exist.

# Fluent Bit version
ENV FLB_MAJOR 1
ENV FLB_MINOR 8
ENV FLB_PATCH 10
ENV FLB_VERSION 1.8.10

Build the ARM 32 container image:

docker build -t arm32-test -f dockerfiles/Dockerfile.arm32v7 .

Run the ARM 32 container image:

docker run --rm -it arm32-test:latest
WARNING: The requested image's platform (linux/arm/v7) does not match the detected host platform (linux/amd64) and no specific platform was requested
/fluent-bit/bin/fluent-bit: error while loading shared libraries: libatomic.so.1: cannot open shared object file: No such file or directory

Expected behavior
No failures.

If I patch in the required dependency and rebuild then we're all good:

FROM arm32v7/debian:buster-slim

COPY --from=builder /usr/bin/qemu-arm-static /usr/bin/qemu-arm-static

RUN echo "deb http://deb.debian.org/debian buster-backports main" > /etc/apt/sources.list.d/backports.list && \
    apt-get update && \
    apt-get install -y --no-install-recommends \
      libssl1.1 \
      libsasl2-2 \
      pkg-config \
      libpq5 \
      libsystemd0/buster-backports \
      zlib1g \
      ca-certificates \
      libatomic1

Your Environment

  • Version used: master build of 1.8.10 source
  • Configuration: container builds of multiarch using Qemu
  • Operating System and version: Ubuntu 20.04 amd64

Metadata

Metadata

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