1# Dockerfile to build a manylinux 2010 compliant cross-compiler. 2# 3# Builds a devtoolset gcc/libstdc++ that targets manylinux 2010 compatible 4# glibc (2.12) and system libstdc++ (4.4). 5# 6# To push a new version, run: 7# $ docker build -f Dockerfile.rbe.cuda10.2-cudnn7-ubuntu18.04-manylinux2010-multipython \ 8# --tag "gcr.io/tensorflow-testing/nosla-cuda10.2-cudnn7-ubuntu18.04-manylinux2010-multipython" . 9# $ docker push gcr.io/tensorflow-testing/nosla-cuda10.2-cudnn7-ubuntu18.04-manylinux2010-multipython 10 11FROM gcr.io/tensorflow-testing/nosla-cuda10.0-cudnn7-ubuntu16.04-manylinux2010 12 13RUN apt-get update 14RUN apt-get remove -y --allow-change-held-packages cuda-license-10-0 libcudnn7 libcudnn8 libnccl2 libnccl-dev 15RUN apt-get install -y --no-install-recommends --allow-downgrades --allow-change-held-packages \ 16 libcublas10 \ 17 libcublas-dev \ 18 cuda-nvml-dev-10.2 \ 19 cuda-command-line-tools-10.2 \ 20 cuda-libraries-dev-10.2 \ 21 cuda-minimal-build-10.2 \ 22 libcudnn7=7.6.5.32-1+cuda10.2 \ 23 libcudnn7-dev=7.6.5.32-1+cuda10.2 24RUN rm -f /usr/local/cuda 25RUN ln -s /usr/local/cuda-10.2 /usr/local/cuda 26 27ENV DEBIAN_FRONTEND=noninteractive 28RUN apt-get update && apt-get install -y \ 29 cpio \ 30 file \ 31 flex \ 32 g++ \ 33 make \ 34 rpm2cpio \ 35 unar \ 36 wget \ 37 && \ 38 rm -rf /var/lib/apt/lists/* 39 40# Copy and run the install scripts. 41ARG DEBIAN_FRONTEND=noninteractive 42 43COPY install/install_bootstrap_deb_packages.sh /install/ 44RUN /install/install_bootstrap_deb_packages.sh 45 46COPY install/install_deb_packages.sh /install/ 47RUN /install/install_deb_packages.sh 48 49# Install additional packages needed for this image: 50# - dependencies to build Python from source 51# - patchelf, as it is required by auditwheel 52RUN apt-get update && apt-get install -y \ 53 libbz2-dev \ 54 libffi-dev \ 55 libgdbm-dev \ 56 libncurses5-dev \ 57 libnss3-dev \ 58 libreadline-dev \ 59 patchelf \ 60 && \ 61 rm -rf /var/lib/apt/lists/* 62 63COPY install/install_bazel.sh /install/ 64RUN /install/install_bazel.sh 65 66COPY install/build_and_install_python.sh /install/ 67RUN /install/build_and_install_python.sh "3.7.7" 68RUN /install/build_and_install_python.sh "3.8.2" 69RUN /install/build_and_install_python.sh "3.9.0" 70 71COPY install/install_pip_packages_by_version.sh /install/ 72RUN /install/install_pip_packages_by_version.sh "/usr/local/bin/pip3.7" 73RUN /install/install_pip_packages_by_version.sh "/usr/local/bin/pip3.8" 74RUN /install/install_pip_packages_by_version.sh "/usr/local/bin/pip3.9" 75 76ENV CLANG_VERSION="r42cab985fd95ba4f3f290e7bb26b93805edb447d" 77COPY install/install_latest_clang.sh /install/ 78RUN /install/install_latest_clang.sh 79