From a9c9cabf2e1f07a32e88129063ae6a963515f512 Mon Sep 17 00:00:00 2001 From: Guo Yejun Date: Sat, 23 Apr 2022 16:58:09 +0800 Subject: [PATCH] Dockerfile_cxx11-abi: change base image from ubuntu18.04 to centos8 it is for backward compatibility to support more OSes. --- manywheel/Dockerfile_cxx11-abi | 74 ++++++++++++++++++++-------------- 1 file changed, 44 insertions(+), 30 deletions(-) diff --git a/manywheel/Dockerfile_cxx11-abi b/manywheel/Dockerfile_cxx11-abi index 49c63024e..966d57086 100644 --- a/manywheel/Dockerfile_cxx11-abi +++ b/manywheel/Dockerfile_cxx11-abi @@ -1,31 +1,28 @@ -FROM ubuntu:18.04 as base - -ENV DEBIAN_FRONTEND=noninteractive - -RUN apt-get clean && apt-get update -RUN apt-get install -y curl locales git-all autoconf automake make cmake wget unzip vim gcc g++ - -RUN locale-gen en_US.UTF-8 +FROM centos:8 as base ENV LC_ALL en_US.UTF-8 ENV LANG en_US.UTF-8 ENV LANGUAGE en_US.UTF-8 -# Install openssl +# 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 +RUN yum install -y autoconf automake make cmake gdb gcc 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 apt-get update -y && \ - apt-get install build-essential gdb lcov libbz2-dev libffi-dev \ - libgdbm-dev liblzma-dev libncurses5-dev libreadline6-dev \ - libsqlite3-dev libssl-dev lzma lzma-dev tk-dev uuid-dev zlib1g-dev -y && \ - bash ./install_cpython.sh && \ - rm install_cpython.sh && \ - apt-get clean +RUN bash ./install_cpython.sh && rm install_cpython.sh FROM base as intel # Install MKL @@ -35,20 +32,37 @@ RUN bash ./install_mkl.sh && rm install_mkl.sh FROM base as conda ADD ./common/install_conda.sh install_conda.sh RUN bash ./install_conda.sh && rm install_conda.sh -RUN /opt/conda/bin/conda install -y cmake=3.14 +RUN /opt/conda/bin/conda install -y cmake -FROM base as final -# Install LLVM -COPY --from=pytorch/llvm:9.0.1 /opt/llvm /opt/llvm -COPY --from=pytorch/llvm:9.0.1 /opt/llvm_no_cxx11_abi /opt/llvm_no_cxx11_abi -COPY --from=openssl /opt/openssl /opt/openssl -# Install patchelf +FROM base as patchelf ADD ./common/install_patchelf.sh install_patchelf.sh RUN bash ./install_patchelf.sh && rm install_patchelf.sh -COPY --from=intel /opt/intel /opt/intel -# Install Anaconda -COPY --from=conda /opt/conda /opt/conda -# Install python -COPY --from=python /opt/python /opt/python -COPY --from=python /opt/_internal /opt/_internal -ENV PATH /opt/conda/bin:$PATH +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=pytorch/llvm:9.0.1 /opt/llvm /opt/llvm +COPY --from=pytorch/llvm:9.0.1 /opt/llvm_no_cxx11_abi /opt/llvm_no_cxx11_abi +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