Skip to content

M1 Mac libssl.so.3 file too short. #1005

@fuadnafiz98

Description

@fuadnafiz98

Hello I am facing an issue with building python images on M1 Mac.

I have this simple django python Dockerfile

# syntax = docker/dockerfile:1.5
FROM python:3.12-bookworm
ENV PYTHONUNBUFFERED=1

# install node/npm
#    mount /tmp -o remount,exec
RUN --mount=target=/var/lib/apt/lists,type=cache,sharing=locked \
    --mount=target=/var/cache/apt,type=cache,sharing=locked \
    rm -f /etc/apt/apt.conf.d/docker-clean && \
    echo "deb https://deb.nodesource.com/node_20.x bookworm main" > /etc/apt/sources.list.d/nodesource.list && \
    wget -qO- https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add - && \
    apt-get update && \
    apt-get upgrade && \
    apt-get install -yqq nodejs \
    # install gettext for translations
    gettext \
    openssl \
    libssl-dev

# create code directory
RUN mkdir /code
WORKDIR /code

# install python requirements
RUN pip install --upgrade pip

# copy just requirements and install before rest of code to avoid having to
# reinstall packages during build every time code changes
COPY requirements.txt requirements.txt
COPY dev-requirements.txt dev-requirements.txt
COPY requirements requirements/
RUN --mount=type=cache,target=/root/.cache \
    pip install -r dev-requirements.txt

# copy code files
COPY . /code/

```bash

And when I run it I get this error

celery-1    | Traceback (most recent call last):
celery-1    |   File "/usr/local/bin/celery", line 8, in <module>
celery-1    |     sys.exit(main())
celery-1    |              ^^^^^^
celery-1    |   File "/usr/local/lib/python3.12/site-packages/celery/__main__.py", line 13, in main
celery-1    |     maybe_patch_concurrency()
celery-1    |   File "/usr/local/lib/python3.12/site-packages/celery/__init__.py", line 143, in maybe_patch_concurrency
celery-1    |     from celery import concurrency
celery-1    |   File "/usr/local/lib/python3.12/site-packages/celery/concurrency/__init__.py", line 7, in <module>
celery-1    |     from kombu.utils.imports import symbol_by_name
celery-1    |   File "/usr/local/lib/python3.12/site-packages/kombu/utils/__init__.py", line 6, in <module>
celery-1    |     from .compat import fileno, maybe_fileno, nested, register_after_fork
celery-1    |   File "/usr/local/lib/python3.12/site-packages/kombu/utils/compat.py", line 12, in <module>
celery-1    |     from kombu.exceptions import reraise
celery-1    |   File "/usr/local/lib/python3.12/site-packages/kombu/exceptions.py", line 9, in <module>
celery-1    |     from amqp import ChannelError, ConnectionError, ResourceError
celery-1    |   File "/usr/local/lib/python3.12/site-packages/amqp/__init__.py", line 31, in <module>
celery-1    |     from .connection import Connection  # noqa
celery-1    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
celery-1    |   File "/usr/local/lib/python3.12/site-packages/amqp/connection.py", line 21, in <module>
celery-1    |     from .transport import Transport
celery-1    |   File "/usr/local/lib/python3.12/site-packages/amqp/transport.py", line 8, in <module>
celery-1    |     import ssl
celery-1    |   File "/usr/local/lib/python3.12/ssl.py", line 100, in <module>
celery-1    |     import _ssl             # if we can't import it, let the error propagate
celery-1    |     ^^^^^^^^^^^
celery-1    | ImportError: /lib/aarch64-linux-gnu/libssl.so.3: file too short

I exec into the container and find that the libssl.so.3 file is empty on /lib/aarch64-linux-gnu

Can anyone please help me how to debug and fix this issue?

Thanks :)

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