diff --git a/scripts/Dockerfile_infinity_builder_centos7 b/scripts/Dockerfile_infinity_builder_centos7 index 24aa95866e..37f07e7d65 100644 --- a/scripts/Dockerfile_infinity_builder_centos7 +++ b/scripts/Dockerfile_infinity_builder_centos7 @@ -1,20 +1,5 @@ # NOTICE: This Dockerfile depends on BuildKit -# NOTICE: You should prepare the following files -# NOTICE: You can use the download_deps_infinity_builder_centos7.sh script to download them -# bison-3.8.2.tar.xz -# binutils-2.41.tar.xz -# gcc-13.2.0.tar.xz -# cmake-3.29.3-linux-x86_64.tar.gz -# ninja-linux.zip -# llvm-project-18.1.8.src.tar.xz -# boost_1_81_0.tar.bz2 -# flex-2.6.4.tar.gz -# libevent-2.1.12-stable.tar.gz -# lz4-1.9.4.tar.gz -# jemalloc-5.3.0.tar.bz2 -# gperftools-2.15.tar.gz -# openssl-1.1.1w.tar.gz -# Python-3.12.4.tar.xz +# NOTICE: You can use the download_deps_infinity_builder_centos7.sh script to download dependencies. FROM centos:7.9.2009 @@ -36,6 +21,7 @@ RUN --mount=type=bind,source=bison-3.8.2.tar.xz,target=/root/bison-3.8.2.tar.xz && ldconfig && cd /root && rm -rf bison-3.8.2 # Install binutils-2.41 +# Failed to build binutils-2.42 RUN --mount=type=bind,source=binutils-2.41.tar.xz,target=/root/binutils-2.41.tar.xz \ cd /root && tar xf binutils-2.41.tar.xz && cd binutils-2.41 \ && ./configure --enable-gold \ @@ -55,12 +41,12 @@ RUN --mount=type=bind,source=gcc-13.2.0.tar.xz,target=/root/gcc-13.2.0.tar.xz \ ENV LIBRARY_PATH=/usr/local/lib:/usr/local/lib64 -# Install cmake-3.29.3 -RUN --mount=type=bind,source=cmake-3.29.3-linux-x86_64.tar.gz,target=/root/cmake-3.29.3-linux-x86_64.tar.gz \ - cd /root && tar xf cmake-3.29.3-linux-x86_64.tar.gz \ - && cp -rf cmake-3.29.3-linux-x86_64/bin/* /usr/local/bin \ - && cp -rf cmake-3.29.3-linux-x86_64/share/* /usr/local/share \ - && rm -rf cmake-3.29.3-linux-x86_64 +# Install cmake-3.30.1 +RUN --mount=type=bind,source=cmake-3.30.1-linux-x86_64.tar.gz,target=/root/cmake-3.30.1-linux-x86_64.tar.gz \ + cd /root && tar xf cmake-3.30.1-linux-x86_64.tar.gz \ + && cp -rf cmake-3.30.1-linux-x86_64/bin/* /usr/local/bin \ + && cp -rf cmake-3.30.1-linux-x86_64/share/* /usr/local/share \ + && rm -rf cmake-3.30.1-linux-x86_64 # Install ninja-1.12.1 RUN --mount=type=bind,source=ninja-linux.zip,target=/root/ninja-linux.zip \ @@ -107,11 +93,11 @@ RUN --mount=type=bind,source=libevent-2.1.12-stable.tar.gz,target=/root/libevent && ninja install \ && ldconfig && cd /root && rm -rf libevent-2.1.12-stable -# Install lz4-1.9.4 -RUN --mount=type=bind,source=lz4-1.9.4.tar.gz,target=/root/lz4-1.9.4.tar.gz \ - cd /root && tar xf lz4-1.9.4.tar.gz \ - && cd lz4-1.9.4 && CFLAGS="-fPIC" make -j install \ - && ldconfig && cd /root && rm -rf lz4-1.9.4 +# Install lz4-1.10.0 +RUN --mount=type=bind,source=lz4-1.10.0.tar.gz,target=/root/lz4-1.10.0.tar.gz \ + cd /root && tar xf lz4-1.10.0.tar.gz \ + && cd lz4-1.10.0 && CFLAGS="-fPIC" make -j install \ + && ldconfig && cd /root && rm -rf lz4-1.10.0 # Install zlib-1.3.1 RUN --mount=type=bind,source=zlib-1.3.1.tar.gz,target=/root/zlib-1.3.1.tar.gz \ @@ -119,6 +105,24 @@ RUN --mount=type=bind,source=zlib-1.3.1.tar.gz,target=/root/zlib-1.3.1.tar.gz \ && cd zlib-1.3.1 && ./configure && CFLAGS="-fPIC" make -j install \ && ldconfig && cd /root && rm -rf zlib-1.3.1 +# Install zstd-1.5.5 +RUN --mount=type=bind,source=zstd-1.5.5.tar.gz,target=/root/zstd-1.5.5.tar.gz \ + cd /root && tar xf zstd-1.5.5.tar.gz \ + && cd zstd-1.5.5 && make -j lib-mt && make install \ + && ldconfig && cd /root && rm -rf zstd-1.5.5 + +# Install bzip2-1.0.8 +RUN --mount=type=bind,source=bzip2-1.0.8.tar.gz,target=/root/bzip2-1.0.8.tar.gz \ + cd /root && tar xf bzip2-1.0.8.tar.gz \ + && cd bzip2-1.0.8 && make install \ + && ldconfig && cd /root && rm -rf bzip2-1.0.8 + +# Install brotli-1.1.0 +RUN --mount=type=bind,source=v1.1.0.tar.gz,target=/root/v1.1.0.tar.gz \ + cd /root && tar xf v1.1.0.tar.gz \ + && cd brotli-1.1.0 && mkdir out && cd out && cmake -DCMAKE_BUILD_TYPE=Release .. && cmake --build . --config Release --target install \ + && ldconfig && cd /root && rm -rf brotli-1.1.0 + # Install jemalloc-5.3.0 # Known issue: Composition of `-fsanitize=address`, staticly linked jemalloc and `mallctl` cause crash at initialization. # Refers to https://github.com/jemalloc/jemalloc/issues/2454 diff --git a/scripts/download_deps_infinity_builder_centos7.sh b/scripts/download_deps_infinity_builder_centos7.sh index 4074846c63..48857a956e 100644 --- a/scripts/download_deps_infinity_builder_centos7.sh +++ b/scripts/download_deps_infinity_builder_centos7.sh @@ -1,18 +1,5 @@ #!/usr/bin/env bash -# This script will download the following files: -# bison-3.8.2.tar.xz -# binutils-2.41.tar.xz -# gcc-13.2.0.tar.xz -# cmake-3.28.3-linux-x86_64.tar.gz -# ninja-linux.zip -# llvm-project-17.0.6.src.tar.xz -# boost_1_81_0.tar.bz2 -# flex-2.6.4.tar.gz -# liburing-2.5.tar.gz -# libevent-2.1.12-stable.tar.gz -# lz4-1.9.4.tar.gz - download() { echo "download $1" @@ -27,14 +14,17 @@ download() names="https://ftp.gnu.org/gnu/bison/bison-3.8.2.tar.xz https://ftp.gnu.org/gnu/binutils/binutils-2.41.tar.xz https://ftp.gnu.org/gnu/gcc/gcc-13.2.0/gcc-13.2.0.tar.xz -https://github.com/Kitware/CMake/releases/download/v3.29.3/cmake-3.29.3-linux-x86_64.tar.gz +https://github.com/Kitware/CMake/releases/download/v3.30.1/cmake-3.30.1-linux-x86_64.tar.gz https://github.com/ninja-build/ninja/releases/download/v1.12.1/ninja-linux.zip https://github.com/llvm/llvm-project/releases/download/llvmorg-18.1.8/llvm-project-18.1.8.src.tar.xz https://boostorg.jfrog.io/artifactory/main/release/1.81.0/source/boost_1_81_0.tar.bz2 https://github.com/westes/flex/releases/download/v2.6.4/flex-2.6.4.tar.gz https://github.com/libevent/libevent/releases/download/release-2.1.12-stable/libevent-2.1.12-stable.tar.gz -https://github.com/lz4/lz4/releases/download/v1.9.4/lz4-1.9.4.tar.gz +https://github.com/lz4/lz4/releases/download/v1.10.0/lz4-1.10.0.tar.gz https://github.com/madler/zlib/releases/download/v1.3.1/zlib-1.3.1.tar.gz +https://github.com/facebook/zstd/releases/download/v1.5.5/zstd-1.5.5.tar.gz +https://sourceware.org/pub/bzip2/bzip2-1.0.8.tar.gz +https://github.com/google/brotli/archive/refs/tags/v1.1.0.tar.gz https://github.com/jemalloc/jemalloc/releases/download/5.3.0/jemalloc-5.3.0.tar.bz2 https://github.com/gperftools/gperftools/releases/download/gperftools-2.15/gperftools-2.15.tar.gz https://github.com/openssl/openssl/releases/download/OpenSSL_1_1_1w/openssl-1.1.1w.tar.gz