FROM --platform=linux/s390x docker.io/ubuntu:24.04 as base # Language variables ENV LC_ALL=C.UTF-8 ENV LANG=C.UTF-8 ENV LANGUAGE=C.UTF-8 # Installed needed OS packages. This is to support all # the binary builds (torch, vision, audio, text, data) RUN apt update ; apt upgrade -y RUN apt install -y \ build-essential \ autoconf \ automake \ bzip2 \ curl \ diffutils \ file \ git \ make \ patch \ perl \ unzip \ util-linux \ wget \ which \ xz-utils \ less \ zstd \ cmake \ python3 \ python3-dev \ python3-setuptools \ python3-yaml \ python3-typing-extensions \ libblas-dev \ libopenblas-dev \ liblapack-dev \ libatlas-base-dev # git236+ would refuse to run git commands in repos owned by other users # Which causes version check to fail, as pytorch repo is bind-mounted into the image # Override this behaviour by treating every folder as safe # For more details see https://github.com/pytorch/pytorch/issues/78659#issuecomment-1144107327 RUN git config --global --add safe.directory "*" FROM base as openssl # Install openssl (this must precede `build python` step) # (In order to have a proper SSL module, Python is compiled # against a recent openssl [see env vars above], which is linked # statically. We delete openssl afterwards.) ADD ./common/install_openssl.sh install_openssl.sh RUN bash ./install_openssl.sh && rm install_openssl.sh ENV SSL_CERT_FILE=/opt/_internal/certs.pem # EPEL for cmake FROM base as patchelf # Install patchelf ADD ./common/install_patchelf.sh install_patchelf.sh RUN bash ./install_patchelf.sh && rm install_patchelf.sh RUN cp $(which patchelf) /patchelf FROM patchelf as python # build python COPY manywheel/build_scripts /build_scripts ADD ./common/install_cpython.sh /build_scripts/install_cpython.sh RUN bash build_scripts/build.sh && rm -r build_scripts FROM openssl as final COPY --from=python /opt/python /opt/python COPY --from=python /opt/_internal /opt/_internal COPY --from=python /opt/python/cp39-cp39/bin/auditwheel /usr/local/bin/auditwheel COPY --from=patchelf /usr/local/bin/patchelf /usr/local/bin/patchelf