diff --git a/tools/dockerfile/Dockerfile.ubuntu20 b/tools/dockerfile/Dockerfile.ubuntu20 index 3a11f530c1416d525e25bd0b7527a0fdebc9e7cb..d4c3c1bfa915db1d652f314c3c8c6ce51078d8cf 100644 --- a/tools/dockerfile/Dockerfile.ubuntu20 +++ b/tools/dockerfile/Dockerfile.ubuntu20 @@ -57,7 +57,6 @@ WORKDIR /home RUN wget -q https://cmake.org/files/v3.18/cmake-3.18.0-Linux-x86_64.tar.gz && tar -zxvf cmake-3.18.0-Linux-x86_64.tar.gz && rm cmake-3.18.0-Linux-x86_64.tar.gz ENV PATH=/home/cmake-3.18.0-Linux-x86_64/bin:$PATH - RUN apt-get update && \ apt-get install -y python3.7 python3.7-dev python3.7-distutils\ python3.8 python3.8-dev python3.8-distutils \ @@ -67,7 +66,6 @@ RUN apt-get update && \ rm /usr/bin/python && ln -s /usr/bin/python3.9 /usr/bin/python && \ rm /usr/bin/python3 && ln -s /usr/bin/python3.9 /usr/bin/python3 - WORKDIR /home RUN wget https://files.pythonhosted.org/packages/a7/e0/30642b9c2df516506d40b563b0cbd080c49c6b3f11a70b4c7a670f13a78b/setuptools-50.3.2.zip && apt-get -y install unzip && unzip setuptools-50.3.2.zip WORKDIR /home/setuptools-50.3.2 @@ -152,10 +150,6 @@ RUN pip3.7 --no-cache-dir install -r /root/requirements.txt && \ pip3.9 --no-cache-dir install -r /root/requirements.txt && \ pip3.10 --no-cache-dir install -r /root/requirements.txt -# Configure OpenSSH server. c.f. https://docs.docker.com/engine/examples/running_ssh_service -#RUN mkdir /var/run/sshd && echo 'root:root' | chpasswd && sed -ri 's/^PermitRootLogin\s+.*/PermitRootLogin yes/' /etc/ssh/sshd_config && sed -ri 's/UsePAM yes/#UsePAM yes/g' /etc/ssh/sshd_config -#CMD source ~/.bashrc - # ccache 4.2.0 RUN wget -q https://paddle-ci.gz.bcebos.com/ccache-4.8.2.tar.gz && \ tar xf ccache-4.8.2.tar.gz && mkdir /usr/local/ccache-4.8.2 && cd ccache-4.8.2 && \ diff --git a/tools/dockerfile/build_scripts/install_gcc.sh b/tools/dockerfile/build_scripts/install_gcc.sh index f0889bb5a919fefafad3d4db7b09712a52359195..abee06a42dded8a851e8f81efba1de50d0835c4a 100644 --- a/tools/dockerfile/build_scripts/install_gcc.sh +++ b/tools/dockerfile/build_scripts/install_gcc.sh @@ -33,30 +33,16 @@ if [ "$1" == "gcc82" ]; then wget -q --no-proxy https://paddle-ci.gz.bcebos.com/gcc-8.2.0.tar.xz tar -xvf gcc-8.2.0.tar.xz && \ cd gcc-8.2.0 && \ + wget -q --no-proxy https://paddle-ci.gz.bcebos.com/sanitizer_platform_limits_posix.cc.patch + wget -q --no-proxy https://paddle-ci.gz.bcebos.com/sanitizer_platform_limits_posix.h.patch + patch -p0 libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc sanitizer_platform_limits_posix.cc.patch + patch -p0 libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h sanitizer_platform_limits_posix.h.patch unset LIBRARY_PATH CPATH C_INCLUDE_PATH PKG_CONFIG_PATH CPLUS_INCLUDE_PATH INCLUDE && \ ./contrib/download_prerequisites && \ cd .. && mkdir temp_gcc82 && cd temp_gcc82 && \ ../gcc-8.2.0/configure --prefix=/usr/local/gcc-8.2 --enable-threads=posix --disable-checking --disable-multilib && \ make -j8 && make install cd .. && rm -rf temp_gcc82 gcc-8.2.0 gcc-8.2.0.tar.xz - cp ${lib_so_6} ${lib_so_6}.bak && rm -f ${lib_so_6} && - ln -s /usr/local/gcc-8.2/lib64/libgfortran.so.5 ${lib_so_5} && \ - ln -s /usr/local/gcc-8.2/lib64/libstdc++.so.6 ${lib_so_6} && \ - cp /usr/local/gcc-8.2/lib64/libstdc++.so.6.0.25 ${lib_path} -elif [ "$1" == "gcc54" ]; then - wget -q --no-proxy https://paddle-ci.gz.bcebos.com/gcc-5.4.0.tar.gz - tar -xzf gcc-5.4.0.tar.gz && \ - cd gcc-5.4.0 && \ - unset LIBRARY_PATH CPATH C_INCLUDE_PATH PKG_CONFIG_PATH CPLUS_INCLUDE_PATH INCLUDE && \ - ./contrib/download_prerequisites && \ - cd .. && mkdir temp_gcc54 && cd temp_gcc54 && \ - ../gcc-5.4.0/configure --prefix=/usr/local/gcc-5.4 --enable-checking=release --enable-languages=c,c++ --disable-multilib && \ - make -j8 && make install - cd .. && rm -rf temp_gcc54 gcc-5.4.0 gcc-5.4.0.tar.gz - cp ${lib_so_6} ${lib_so_6}.bak && rm -f ${lib_so_6} && - ln -s /usr/local/gcc-5.4/lib64/libgfortran.so.5 ${lib_so_5} && \ - ln -s /usr/local/gcc-5.4/lib64/libstdc++.so.6 ${lib_so_6} && \ - cp /usr/local/gcc-5.4/lib64/libstdc++.so.6.0.21 ${lib_path} elif [ "$1" == "gcc122" ]; then wget -q --no-proxy https://paddle-ci.gz.bcebos.com/gcc-12.2.0.tar.gz tar -xzf gcc-12.2.0.tar.gz && \ diff --git a/tools/dockerfile/ci_dockerfile.sh b/tools/dockerfile/ci_dockerfile.sh index f3d0f0f5dfebf869238f8096b1bca04a241b9e87..408b5a63dc25c7dd5ae595a26c810aea49958097 100644 --- a/tools/dockerfile/ci_dockerfile.sh +++ b/tools/dockerfile/ci_dockerfile.sh @@ -95,30 +95,20 @@ function make_cinn_dockerfile(){ function make_ce_framework_dockcerfile(){ dockerfile_name="Dockerfile.cuda11.2_cudnn8_gcc82_trt8" - sed "s//11.2.0-cudnn8-devel-ubuntu16.04/g" ./Dockerfile.ubuntu >${dockerfile_name} + sed "s##nvidia/cuda:11.8.0-cudnn8-devel-ubuntu20.04#g" ./Dockerfile.ubuntu20 >${dockerfile_name} dockerfile_line=$(wc -l ${dockerfile_name}|awk '{print $1}') + sed -i "s##ENV LD_LIBRARY_PATH=/usr/local/cuda-11.8/targets/x86_64-linux/lib:\$LD_LIBRARY_PATH #g" ${dockerfile_name} + sed -i 's###g' ${dockerfile_name} sed -i "7i RUN chmod 777 /tmp" ${dockerfile_name} sed -i "${dockerfile_line}i RUN wget --no-check-certificate -q https://paddle-edl.bj.bcebos.com/hadoop-2.7.7.tar.gz \&\& \ tar -xzf hadoop-2.7.7.tar.gz && mv hadoop-2.7.7 /usr/local/" ${dockerfile_name} - sed -i "${dockerfile_line}i RUN apt remove git -y \&\& apt install -y zstd pigz libcurl4-openssl-dev gettext ninja-build \&\& wget -q https://paddle-ci.gz.bcebos.com/git-2.17.1.tar.gz \&\& \ - tar -xvf git-2.17.1.tar.gz \&\& \ - cd git-2.17.1 \&\& \ - ./configure --with-openssl --with-curl --prefix=/usr/local \&\& \ - make -j8 \&\& make install " ${dockerfile_name} - sed -i "${dockerfile_line}i RUN pip install wheel \&\& pip3 install PyGithub wheel \&\& pip3.7 install PyGithub distro" ${dockerfile_name} + sed -i "${dockerfile_line}i RUN apt install -y zstd pigz libcurl4-openssl-dev gettext ninja-build" ${dockerfile_name} + sed -i "${dockerfile_line}i RUN pip install wheel distro" ${dockerfile_name} sed -i "s##WORKDIR /usr/bin \\ - COPY tools/dockerfile/build_scripts /build_scripts \\ - RUN bash /build_scripts/install_gcc.sh gcc82 \&\& rm -rf /build_scripts \\ - RUN cp gcc gcc.bak \&\& cp g++ g++.bak \&\& rm gcc \&\& rm g++ \\ - RUN ln -s /usr/local/gcc-8.2/bin/gcc /usr/local/bin/gcc \\ - RUN ln -s /usr/local/gcc-8.2/bin/g++ /usr/local/bin/g++ \\ - RUN ln -s /usr/local/gcc-8.2/bin/gcc /usr/bin/gcc \\ - RUN ln -s /usr/local/gcc-8.2/bin/g++ /usr/bin/g++ \\ ENV PATH=/usr/local/gcc-8.2/bin:\$PATH #g" ${dockerfile_name} + sed -i "s#gcc121#gcc82#g" ${dockerfile_name} + sed -i "s#gcc-12.1#gcc-8.2#g" ${dockerfile_name} sed -i 's#RUN bash /build_scripts/install_trt.sh#RUN bash /build_scripts/install_trt.sh trt8531#g' ${dockerfile_name} - sed -i 's#28/af/2c76c8aa46ccdf7578b83d97a11a2d1858794d4be4a1610ade0d30182e8b/pip-20.0.1.tar.gz#b7/2d/ad02de84a4c9fd3b1958dc9fb72764de1aa2605a9d7e943837be6ad82337/pip-21.0.1.tar.gz#g' ${dockerfile_name} - sed -i 's#pip-20.0.1#pip-21.0.1#g' ${dockerfile_name} - sed -i 's#python setup.py install#python3.7 setup.py install#g' ${dockerfile_name} } function make_unbuntu18_cu117_dockerfile(){