Skip to content

Commit 6bbab18

Browse files
authored
Dockerfile_cxx11-abi: change base image from ubuntu18.04 to centos8 (#1023)
it is for backward compatibility to support more OSes.
1 parent 874e4b7 commit 6bbab18

File tree

1 file changed

+44
-30
lines changed

1 file changed

+44
-30
lines changed

manywheel/Dockerfile_cxx11-abi

Lines changed: 44 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,28 @@
1-
FROM ubuntu:18.04 as base
2-
3-
ENV DEBIAN_FRONTEND=noninteractive
4-
5-
RUN apt-get clean && apt-get update
6-
RUN apt-get install -y curl locales git-all autoconf automake make cmake wget unzip vim gcc g++
7-
8-
RUN locale-gen en_US.UTF-8
1+
FROM centos:8 as base
92

103
ENV LC_ALL en_US.UTF-8
114
ENV LANG en_US.UTF-8
125
ENV LANGUAGE en_US.UTF-8
136

14-
# Install openssl
7+
# change to a valid repo
8+
RUN sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-Linux-*.repo
9+
# enable to install ninja-build
10+
RUN sed -i 's|enabled=0|enabled=1|g' /etc/yum.repos.d/CentOS-Linux-PowerTools.repo
11+
12+
RUN yum -y update
13+
RUN yum install -y wget curl perl util-linux xz bzip2 git patch which zlib-devel
14+
RUN yum install -y autoconf automake make cmake gdb gcc gcc-c++
15+
16+
1517
FROM base as openssl
1618
ADD ./common/install_openssl.sh install_openssl.sh
1719
RUN bash ./install_openssl.sh && rm install_openssl.sh
1820

1921
# Install python
2022
FROM base as python
23+
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
2124
ADD common/install_cpython.sh install_cpython.sh
22-
RUN apt-get update -y && \
23-
apt-get install build-essential gdb lcov libbz2-dev libffi-dev \
24-
libgdbm-dev liblzma-dev libncurses5-dev libreadline6-dev \
25-
libsqlite3-dev libssl-dev lzma lzma-dev tk-dev uuid-dev zlib1g-dev -y && \
26-
bash ./install_cpython.sh && \
27-
rm install_cpython.sh && \
28-
apt-get clean
25+
RUN bash ./install_cpython.sh && rm install_cpython.sh
2926

3027
FROM base as intel
3128
# Install MKL
@@ -35,20 +32,37 @@ RUN bash ./install_mkl.sh && rm install_mkl.sh
3532
FROM base as conda
3633
ADD ./common/install_conda.sh install_conda.sh
3734
RUN bash ./install_conda.sh && rm install_conda.sh
38-
RUN /opt/conda/bin/conda install -y cmake=3.14
35+
RUN /opt/conda/bin/conda install -y cmake
3936

40-
FROM base as final
41-
# Install LLVM
42-
COPY --from=pytorch/llvm:9.0.1 /opt/llvm /opt/llvm
43-
COPY --from=pytorch/llvm:9.0.1 /opt/llvm_no_cxx11_abi /opt/llvm_no_cxx11_abi
44-
COPY --from=openssl /opt/openssl /opt/openssl
45-
# Install patchelf
37+
FROM base as patchelf
4638
ADD ./common/install_patchelf.sh install_patchelf.sh
4739
RUN bash ./install_patchelf.sh && rm install_patchelf.sh
48-
COPY --from=intel /opt/intel /opt/intel
49-
# Install Anaconda
50-
COPY --from=conda /opt/conda /opt/conda
51-
# Install python
52-
COPY --from=python /opt/python /opt/python
53-
COPY --from=python /opt/_internal /opt/_internal
54-
ENV PATH /opt/conda/bin:$PATH
40+
RUN cp $(which patchelf) /patchelf
41+
42+
FROM base as jni
43+
ADD ./common/install_jni.sh install_jni.sh
44+
ADD ./java/jni.h jni.h
45+
RUN bash ./install_jni.sh && rm install_jni.sh
46+
47+
FROM base as libpng
48+
ADD ./common/install_libpng.sh install_libpng.sh
49+
RUN bash ./install_libpng.sh && rm install_libpng.sh
50+
51+
FROM base as final
52+
COPY --from=pytorch/llvm:9.0.1 /opt/llvm /opt/llvm
53+
COPY --from=pytorch/llvm:9.0.1 /opt/llvm_no_cxx11_abi /opt/llvm_no_cxx11_abi
54+
COPY --from=openssl /opt/openssl /opt/openssl
55+
COPY --from=python /opt/python /opt/python
56+
COPY --from=python /opt/_internal /opt/_internal
57+
COPY --from=intel /opt/intel /opt/intel
58+
COPY --from=conda /opt/conda /opt/conda
59+
COPY --from=patchelf /usr/local/bin/patchelf /usr/local/bin/patchelf
60+
COPY --from=jni /usr/local/include/jni.h /usr/local/include/jni.h
61+
COPY --from=libpng /usr/local/bin/png* /usr/local/bin/
62+
COPY --from=libpng /usr/local/bin/libpng* /usr/local/bin/
63+
COPY --from=libpng /usr/local/include/png* /usr/local/include/
64+
COPY --from=libpng /usr/local/include/libpng* /usr/local/include/
65+
COPY --from=libpng /usr/local/lib/libpng* /usr/local/lib/
66+
COPY --from=libpng /usr/local/lib/pkgconfig /usr/local/lib/pkgconfig
67+
68+
RUN yum install -y ninja-build

0 commit comments

Comments
 (0)