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
9
2
10
3
ENV LC_ALL en_US.UTF-8
11
4
ENV LANG en_US.UTF-8
12
5
ENV LANGUAGE en_US.UTF-8
13
6
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
+
15
17
FROM base as openssl
16
18
ADD ./common/install_openssl.sh install_openssl.sh
17
19
RUN bash ./install_openssl.sh && rm install_openssl.sh
18
20
19
21
# Install python
20
22
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
21
24
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
29
26
30
27
FROM base as intel
31
28
# Install MKL
@@ -35,20 +32,37 @@ RUN bash ./install_mkl.sh && rm install_mkl.sh
35
32
FROM base as conda
36
33
ADD ./common/install_conda.sh install_conda.sh
37
34
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
39
36
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
46
38
ADD ./common/install_patchelf.sh install_patchelf.sh
47
39
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