Skip to content

Commit

Permalink
Added zstd, bzip2 and brotli to builder image (#1523)
Browse files Browse the repository at this point in the history
Added zstd, bzip2 and brotli to builder image

### Type of change

- [x] Other (please describe):
CI improvement
  • Loading branch information
yuzhichang authored Jul 24, 2024
1 parent aa27e47 commit 1b28b21
Show file tree
Hide file tree
Showing 2 changed files with 36 additions and 42 deletions.
58 changes: 31 additions & 27 deletions scripts/Dockerfile_infinity_builder_centos7
Original file line number Diff line number Diff line change
@@ -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

Expand All @@ -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 \
Expand All @@ -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 \
Expand Down Expand Up @@ -107,18 +93,36 @@ 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 \
cd /root && tar xf 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
Expand Down
20 changes: 5 additions & 15 deletions scripts/download_deps_infinity_builder_centos7.sh
Original file line number Diff line number Diff line change
@@ -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"
Expand All @@ -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
Expand Down

0 comments on commit 1b28b21

Please sign in to comment.