FROM centos:8 as base ENV LC_ALL en_US.UTF-8 ENV LANG en_US.UTF-8 ENV LANGUAGE en_US.UTF-8 ENV PATH /opt/rh/gcc-toolset-11/root/bin/:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin # change to a valid repo RUN sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-Linux-*.repo # enable to install ninja-build RUN sed -i 's|enabled=0|enabled=1|g' /etc/yum.repos.d/CentOS-Linux-PowerTools.repo RUN yum -y update RUN yum install -y wget curl perl util-linux xz bzip2 git patch which zlib-devel sudo RUN yum install -y autoconf automake make cmake gdb gcc-toolset-11-gcc-c++ FROM base as openssl ADD ./common/install_openssl.sh install_openssl.sh RUN bash ./install_openssl.sh && rm install_openssl.sh # Install python FROM base as python RUN yum install -y openssl-devel zlib-devel bzip2-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel libpcap-devel xz-devel libffi-devel ADD common/install_cpython.sh install_cpython.sh RUN bash ./install_cpython.sh && rm install_cpython.sh FROM base as conda ADD ./common/install_conda_docker.sh install_conda.sh RUN bash ./install_conda.sh && rm install_conda.sh RUN /opt/conda/bin/conda install -y cmake FROM base as intel # Install MKL COPY --from=python /opt/python /opt/python COPY --from=python /opt/_internal /opt/_internal COPY --from=conda /opt/conda /opt/conda ENV PATH=/opt/conda/bin:$PATH ADD ./common/install_mkl.sh install_mkl.sh RUN bash ./install_mkl.sh && rm install_mkl.sh FROM base as patchelf ADD ./common/install_patchelf.sh install_patchelf.sh RUN bash ./install_patchelf.sh && rm install_patchelf.sh RUN cp $(which patchelf) /patchelf FROM base as jni ADD ./common/install_jni.sh install_jni.sh ADD ./java/jni.h jni.h RUN bash ./install_jni.sh && rm install_jni.sh FROM base as libpng ADD ./common/install_libpng.sh install_libpng.sh RUN bash ./install_libpng.sh && rm install_libpng.sh FROM base as final COPY --from=openssl /opt/openssl /opt/openssl COPY --from=python /opt/python /opt/python COPY --from=python /opt/_internal /opt/_internal COPY --from=intel /opt/intel /opt/intel COPY --from=conda /opt/conda /opt/conda COPY --from=patchelf /usr/local/bin/patchelf /usr/local/bin/patchelf COPY --from=jni /usr/local/include/jni.h /usr/local/include/jni.h COPY --from=libpng /usr/local/bin/png* /usr/local/bin/ COPY --from=libpng /usr/local/bin/libpng* /usr/local/bin/ COPY --from=libpng /usr/local/include/png* /usr/local/include/ COPY --from=libpng /usr/local/include/libpng* /usr/local/include/ COPY --from=libpng /usr/local/lib/libpng* /usr/local/lib/ COPY --from=libpng /usr/local/lib/pkgconfig /usr/local/lib/pkgconfig RUN yum install -y ninja-build