Add Zstd and zlib installation to Dockerfiles and update dependencies

This commit is contained in:
Guofang committed 2026-08-13 15:58:09 +08:00
1 parent 2a96844f99
commit 3d679d8682
3 files changed
+90 -88

No files matched your search

+4 -4
View File
@@ -5,6 +5,8 @@
| Boost | `1.83.0` | | Boost | `1.83.0` |
| OpenSSL | `3.0.15` | | OpenSSL | `3.0.15` |
| libevent | `release-2.1.12-stable` | | libevent | `release-2.1.12-stable` |
| Zstd | `1.5.7` |
| zlib | `1.3.1` |
| Protobuf | `v3.21.12` | | Protobuf | `v3.21.12` |
| log4cplus | `REL_2_0_5` | | log4cplus | `REL_2_0_5` |
| fmt | `12.2.0` | | fmt | `12.2.0` |
@@ -18,8 +20,6 @@
| LibAIO | `0.3.113` | | LibAIO | `0.3.113` |
| LibDwarf | `v2.3.2` | | LibDwarf | `v2.3.2` |
| libsodium | `1.0.20` | | libsodium | `1.0.20` |
| Zstd | `1.5.7` |
| zlib | `1.3.1` |
| xxHash | `v0.8.3` | | xxHash | `v0.8.3` |
| googletest | `v1.17.0` | | googletest | `v1.17.0` |
| numactl | `v2.0.19` | | numactl | `v2.0.19` |
@@ -29,13 +29,13 @@
| mvfst | `v2026.08.03.00` | | mvfst | `v2026.08.03.00` |
| fbthrift | `v2026.08.03.00` | | fbthrift | `v2026.08.03.00` |
| CacheLib | `v2026.08.03.00` | | CacheLib | `v2026.08.03.00` |
| util-linux libuuid | `2.42.2` |
| ZeroMQ | `4.3.5` | | ZeroMQ | `4.3.5` |
| CZMQ | `4.2.1` | | CZMQ | `4.2.1` |
| JsonCpp | `1.9.8` | | JsonCpp | `1.9.8` |
| librdkafka | `2.15.0` | | librdkafka | `2.15.0` |
| json-c | `0.19` | | json-c | `0.19` |
| RapidJSON | `24b5e7a8b27f42fa16b96fc70aade9106cf7102f` | | RapidJSON | `24b5e7a8b27f42fa16b96fc70aade9106cf7102f` |
| util-linux libuuid | `2.42.2` |
| curl | `8.21.0` | | curl | `8.21.0` |
| hiredis | `1.4.1` | | hiredis | `1.4.1` |
| GMP | `6.3.0` | | GMP | `6.3.0` |
@@ -44,4 +44,4 @@
| libmaxminddb | `1.13.3` | | libmaxminddb | `1.13.3` |
| libyaml | `0.2.5` | | libyaml | `0.2.5` |
The image includes position-independent static builds of these libraries. ZeroMQ enables CURVE security using static libsodium. CZMQ disables undeclared optional integrations. librdkafka includes SSL, zlib, Zstd, and bundled LZ4 support while disabling undeclared optional integrations. spdlog uses external fmt, glog uses gflags, and all Meta libraries share the same release tag. The image includes position-independent static builds of these libraries. Protobuf enables zlib support, and LibDwarf enables compressed debug section support using zlib and Zstd. ZeroMQ enables CURVE security using static libsodium. CZMQ enables UUID support using static util-linux libuuid while disabling undeclared optional integrations. librdkafka includes SSL, zlib, Zstd, and bundled LZ4 support while disabling undeclared optional integrations. spdlog uses external fmt, glog uses gflags, and all Meta libraries share the same release tag.
+43 -42
View File
@@ -58,9 +58,29 @@ RUN git clone --branch=release-2.1.12-stable --depth=1 https://github.com/libeve
&& cmake --build build --parallel "$(nproc)" --target install \ && cmake --build build --parallel "$(nproc)" --target install \
&& rm -rf build src && rm -rf build src
RUN git clone --branch=v1.5.7 --depth=1 https://github.com/facebook/zstd.git src \
&& cmake -S src/build/cmake -B build -DCMAKE_BUILD_TYPE=Release \
-DCMAKE_POSITION_INDEPENDENT_CODE=ON \
-DZSTD_BUILD_CONTRIB=OFF \
-DZSTD_BUILD_PROGRAMS=OFF \
-DZSTD_BUILD_SHARED=OFF \
-DZSTD_BUILD_STATIC=ON \
-DZSTD_BUILD_TESTS=OFF \
&& cmake --build build --parallel "$(nproc)" --target install \
&& rm -rf build src
RUN git clone --branch=v1.3.1 --depth=1 https://github.com/madler/zlib.git src \
&& cd src \
&& CFLAGS=-fPIC ./configure --prefix=/usr/local --static \
&& make --jobs="$(nproc)" \
&& make install \
&& cd .. \
&& rm -rf src
RUN git clone --branch=v3.21.12 --depth=1 https://github.com/protocolbuffers/protobuf.git src \ RUN git clone --branch=v3.21.12 --depth=1 https://github.com/protocolbuffers/protobuf.git src \
&& cmake -S src -B build -Dprotobuf_BUILD_TESTS=OFF \ && cmake -S src -B build -Dprotobuf_BUILD_TESTS=OFF \
-Dprotobuf_BUILD_SHARED_LIBS=OFF \ -Dprotobuf_BUILD_SHARED_LIBS=OFF \
-Dprotobuf_WITH_ZLIB=ON \
-DCMAKE_BUILD_TYPE=Release \ -DCMAKE_BUILD_TYPE=Release \
-DBUILD_SHARED_LIBS=OFF \ -DBUILD_SHARED_LIBS=OFF \
-DCMAKE_POSITION_INDEPENDENT_CODE=ON \ -DCMAKE_POSITION_INDEPENDENT_CODE=ON \
@@ -164,7 +184,7 @@ RUN git clone --branch=v2.3.2 --depth=1 https://github.com/davea42/libdwarf-code
-DBUILD_NON_SHARED=ON \ -DBUILD_NON_SHARED=ON \
-DBUILD_SHARED=OFF \ -DBUILD_SHARED=OFF \
-DDO_TESTING=OFF \ -DDO_TESTING=OFF \
-DENABLE_DECOMPRESSION=OFF \ -DENABLE_DECOMPRESSION=ON \
-DPIC_ALWAYS=ON \ -DPIC_ALWAYS=ON \
&& cmake --build build --parallel "$(nproc)" --target install \ && cmake --build build --parallel "$(nproc)" --target install \
&& rm -rf build src && rm -rf build src
@@ -178,25 +198,6 @@ RUN git clone --branch=1.0.20-RELEASE --depth=1 https://github.com/jedisct1/libs
&& cd .. \ && cd .. \
&& rm -rf src && rm -rf src
RUN git clone --branch=v1.5.7 --depth=1 https://github.com/facebook/zstd.git src \
&& cmake -S src/build/cmake -B build -DCMAKE_BUILD_TYPE=Release \
-DCMAKE_POSITION_INDEPENDENT_CODE=ON \
-DZSTD_BUILD_CONTRIB=OFF \
-DZSTD_BUILD_PROGRAMS=OFF \
-DZSTD_BUILD_SHARED=OFF \
-DZSTD_BUILD_STATIC=ON \
-DZSTD_BUILD_TESTS=OFF \
&& cmake --build build --parallel "$(nproc)" --target install \
&& rm -rf build src
RUN git clone --branch=v1.3.1 --depth=1 https://github.com/madler/zlib.git src \
&& cd src \
&& CFLAGS=-fPIC ./configure --prefix=/usr/local --static \
&& make --jobs="$(nproc)" \
&& make install \
&& cd .. \
&& rm -rf src
RUN git clone --branch=v0.8.3 --depth=1 https://github.com/Cyan4973/xxHash.git src \ RUN git clone --branch=v0.8.3 --depth=1 https://github.com/Cyan4973/xxHash.git src \
&& cmake -S src/cmake_unofficial -B build -DCMAKE_BUILD_TYPE=Release \ && cmake -S src/cmake_unofficial -B build -DCMAKE_BUILD_TYPE=Release \
-DBUILD_SHARED_LIBS=OFF \ -DBUILD_SHARED_LIBS=OFF \
@@ -292,6 +293,27 @@ RUN git clone --branch=v2026.08.03.00 --depth=1 https://github.com/facebook/Cach
&& cmake --build build --parallel "$(nproc)" --target install \ && cmake --build build --parallel "$(nproc)" --target install \
&& rm -rf build src && rm -rf build src
RUN curl --fail --location --output util-linux.tar.xz \
https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.42/util-linux-2.42.2.tar.xz \
&& echo "03a05d3adf9602ef128f2da05b84b3205ce60c351e5737c0370f74000679ce8a util-linux.tar.xz" \
| sha256sum --check - \
&& mkdir src \
&& tar --extract --xz --file=util-linux.tar.xz --directory=src --strip-components=1 \
&& rm util-linux.tar.xz \
&& cd src \
&& CFLAGS=-fPIC ./configure --prefix=/usr/local \
--disable-all-programs \
--disable-bash-completion \
--disable-makeinstall-chown \
--disable-nls \
--disable-shared \
--enable-libuuid \
--enable-static \
&& make --jobs="$(nproc)" \
&& make install \
&& cd .. \
&& rm -rf src
RUN git clone --branch=v4.3.5 --depth=1 https://github.com/zeromq/libzmq.git src \ RUN git clone --branch=v4.3.5 --depth=1 https://github.com/zeromq/libzmq.git src \
&& cmake -S src -B build -DCMAKE_BUILD_TYPE=Release \ && cmake -S src -B build -DCMAKE_BUILD_TYPE=Release \
-DBUILD_SHARED=OFF \ -DBUILD_SHARED=OFF \
@@ -318,7 +340,7 @@ RUN git clone --branch=v4.2.1 --depth=1 https://github.com/zeromq/czmq.git src \
-DCZMQ_WITH_LIBMICROHTTPD=OFF \ -DCZMQ_WITH_LIBMICROHTTPD=OFF \
-DCZMQ_WITH_NSS=OFF \ -DCZMQ_WITH_NSS=OFF \
-DCZMQ_WITH_SYSTEMD=OFF \ -DCZMQ_WITH_SYSTEMD=OFF \
-DCZMQ_WITH_UUID=OFF \ -DCZMQ_WITH_UUID=ON \
-DENABLE_DRAFTS=OFF \ -DENABLE_DRAFTS=OFF \
&& cmake --build build --parallel "$(nproc)" --target install \ && cmake --build build --parallel "$(nproc)" --target install \
&& rm -rf build src && rm -rf build src
@@ -376,27 +398,6 @@ RUN curl --fail --location --output rapidjson.tar.gz \
&& cmake --build build --parallel "$(nproc)" --target install \ && cmake --build build --parallel "$(nproc)" --target install \
&& rm -rf build src && rm -rf build src
RUN curl --fail --location --output util-linux.tar.xz \
https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.42/util-linux-2.42.2.tar.xz \
&& echo "03a05d3adf9602ef128f2da05b84b3205ce60c351e5737c0370f74000679ce8a util-linux.tar.xz" \
| sha256sum --check - \
&& mkdir src \
&& tar --extract --xz --file=util-linux.tar.xz --directory=src --strip-components=1 \
&& rm util-linux.tar.xz \
&& cd src \
&& CFLAGS=-fPIC ./configure --prefix=/usr/local \
--disable-all-programs \
--disable-bash-completion \
--disable-makeinstall-chown \
--disable-nls \
--disable-shared \
--enable-libuuid \
--enable-static \
&& make --jobs="$(nproc)" \
&& make install \
&& cd .. \
&& rm -rf src
RUN git clone --branch=curl-8_21_0 --depth=1 https://github.com/curl/curl.git src \ RUN git clone --branch=curl-8_21_0 --depth=1 https://github.com/curl/curl.git src \
&& cmake -S src -B build -DCMAKE_BUILD_TYPE=Release \ && cmake -S src -B build -DCMAKE_BUILD_TYPE=Release \
-DBUILD_CURL_EXE=OFF \ -DBUILD_CURL_EXE=OFF \
+43 -42
View File
@@ -72,9 +72,29 @@ RUN git clone --branch=release-2.1.12-stable --depth=1 https://github.com/libeve
&& cmake --build build --parallel "$(nproc)" --target install \ && cmake --build build --parallel "$(nproc)" --target install \
&& rm -rf build src && rm -rf build src
RUN git clone --branch=v1.5.7 --depth=1 https://github.com/facebook/zstd.git src \
&& cmake -S src/build/cmake -B build -DCMAKE_BUILD_TYPE=Release \
-DCMAKE_POSITION_INDEPENDENT_CODE=ON \
-DZSTD_BUILD_CONTRIB=OFF \
-DZSTD_BUILD_PROGRAMS=OFF \
-DZSTD_BUILD_SHARED=OFF \
-DZSTD_BUILD_STATIC=ON \
-DZSTD_BUILD_TESTS=OFF \
&& cmake --build build --parallel "$(nproc)" --target install \
&& rm -rf build src
RUN git clone --branch=v1.3.1 --depth=1 https://github.com/madler/zlib.git src \
&& cd src \
&& CFLAGS=-fPIC ./configure --prefix=/usr/local --static \
&& make --jobs="$(nproc)" \
&& make install \
&& cd .. \
&& rm -rf src
RUN git clone --branch=v3.21.12 --depth=1 https://github.com/protocolbuffers/protobuf.git src \ RUN git clone --branch=v3.21.12 --depth=1 https://github.com/protocolbuffers/protobuf.git src \
&& cmake -S src -B build -Dprotobuf_BUILD_TESTS=OFF \ && cmake -S src -B build -Dprotobuf_BUILD_TESTS=OFF \
-Dprotobuf_BUILD_SHARED_LIBS=OFF \ -Dprotobuf_BUILD_SHARED_LIBS=OFF \
-Dprotobuf_WITH_ZLIB=ON \
-DCMAKE_BUILD_TYPE=Release \ -DCMAKE_BUILD_TYPE=Release \
-DBUILD_SHARED_LIBS=OFF \ -DBUILD_SHARED_LIBS=OFF \
-DCMAKE_POSITION_INDEPENDENT_CODE=ON \ -DCMAKE_POSITION_INDEPENDENT_CODE=ON \
@@ -178,7 +198,7 @@ RUN git clone --branch=v2.3.2 --depth=1 https://github.com/davea42/libdwarf-code
-DBUILD_NON_SHARED=ON \ -DBUILD_NON_SHARED=ON \
-DBUILD_SHARED=OFF \ -DBUILD_SHARED=OFF \
-DDO_TESTING=OFF \ -DDO_TESTING=OFF \
-DENABLE_DECOMPRESSION=OFF \ -DENABLE_DECOMPRESSION=ON \
-DPIC_ALWAYS=ON \ -DPIC_ALWAYS=ON \
&& cmake --build build --parallel "$(nproc)" --target install \ && cmake --build build --parallel "$(nproc)" --target install \
&& rm -rf build src && rm -rf build src
@@ -192,25 +212,6 @@ RUN git clone --branch=1.0.20-RELEASE --depth=1 https://github.com/jedisct1/libs
&& cd .. \ && cd .. \
&& rm -rf src && rm -rf src
RUN git clone --branch=v1.5.7 --depth=1 https://github.com/facebook/zstd.git src \
&& cmake -S src/build/cmake -B build -DCMAKE_BUILD_TYPE=Release \
-DCMAKE_POSITION_INDEPENDENT_CODE=ON \
-DZSTD_BUILD_CONTRIB=OFF \
-DZSTD_BUILD_PROGRAMS=OFF \
-DZSTD_BUILD_SHARED=OFF \
-DZSTD_BUILD_STATIC=ON \
-DZSTD_BUILD_TESTS=OFF \
&& cmake --build build --parallel "$(nproc)" --target install \
&& rm -rf build src
RUN git clone --branch=v1.3.1 --depth=1 https://github.com/madler/zlib.git src \
&& cd src \
&& CFLAGS=-fPIC ./configure --prefix=/usr/local --static \
&& make --jobs="$(nproc)" \
&& make install \
&& cd .. \
&& rm -rf src
RUN git clone --branch=v0.8.3 --depth=1 https://github.com/Cyan4973/xxHash.git src \ RUN git clone --branch=v0.8.3 --depth=1 https://github.com/Cyan4973/xxHash.git src \
&& cmake -S src/cmake_unofficial -B build -DCMAKE_BUILD_TYPE=Release \ && cmake -S src/cmake_unofficial -B build -DCMAKE_BUILD_TYPE=Release \
-DBUILD_SHARED_LIBS=OFF \ -DBUILD_SHARED_LIBS=OFF \
@@ -309,6 +310,27 @@ RUN git clone --branch=v2026.08.03.00 --depth=1 https://github.com/facebook/Cach
&& cmake --build build --parallel "$(nproc)" --target install \ && cmake --build build --parallel "$(nproc)" --target install \
&& rm -rf build src /tmp/cachelib-optional-interface.patch && rm -rf build src /tmp/cachelib-optional-interface.patch
RUN curl --fail --location --output util-linux.tar.xz \
https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.42/util-linux-2.42.2.tar.xz \
&& echo "03a05d3adf9602ef128f2da05b84b3205ce60c351e5737c0370f74000679ce8a util-linux.tar.xz" \
| sha256sum --check - \
&& mkdir src \
&& tar --extract --xz --file=util-linux.tar.xz --directory=src --strip-components=1 \
&& rm util-linux.tar.xz \
&& cd src \
&& CFLAGS=-fPIC ./configure --prefix=/usr/local \
--disable-all-programs \
--disable-bash-completion \
--disable-makeinstall-chown \
--disable-nls \
--disable-shared \
--enable-libuuid \
--enable-static \
&& make --jobs="$(nproc)" \
&& make install \
&& cd .. \
&& rm -rf src
RUN git clone --branch=v4.3.5 --depth=1 https://github.com/zeromq/libzmq.git src \ RUN git clone --branch=v4.3.5 --depth=1 https://github.com/zeromq/libzmq.git src \
&& cmake -S src -B build -DCMAKE_BUILD_TYPE=Release \ && cmake -S src -B build -DCMAKE_BUILD_TYPE=Release \
-DBUILD_SHARED=OFF \ -DBUILD_SHARED=OFF \
@@ -335,7 +357,7 @@ RUN git clone --branch=v4.2.1 --depth=1 https://github.com/zeromq/czmq.git src \
-DCZMQ_WITH_LIBMICROHTTPD=OFF \ -DCZMQ_WITH_LIBMICROHTTPD=OFF \
-DCZMQ_WITH_NSS=OFF \ -DCZMQ_WITH_NSS=OFF \
-DCZMQ_WITH_SYSTEMD=OFF \ -DCZMQ_WITH_SYSTEMD=OFF \
-DCZMQ_WITH_UUID=OFF \ -DCZMQ_WITH_UUID=ON \
-DENABLE_DRAFTS=OFF \ -DENABLE_DRAFTS=OFF \
&& cmake --build build --parallel "$(nproc)" --target install \ && cmake --build build --parallel "$(nproc)" --target install \
&& rm -rf build src && rm -rf build src
@@ -393,27 +415,6 @@ RUN curl --fail --location --output rapidjson.tar.gz \
&& cmake --build build --parallel "$(nproc)" --target install \ && cmake --build build --parallel "$(nproc)" --target install \
&& rm -rf build src && rm -rf build src
RUN curl --fail --location --output util-linux.tar.xz \
https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.42/util-linux-2.42.2.tar.xz \
&& echo "03a05d3adf9602ef128f2da05b84b3205ce60c351e5737c0370f74000679ce8a util-linux.tar.xz" \
| sha256sum --check - \
&& mkdir src \
&& tar --extract --xz --file=util-linux.tar.xz --directory=src --strip-components=1 \
&& rm util-linux.tar.xz \
&& cd src \
&& CFLAGS=-fPIC ./configure --prefix=/usr/local \
--disable-all-programs \
--disable-bash-completion \
--disable-makeinstall-chown \
--disable-nls \
--disable-shared \
--enable-libuuid \
--enable-static \
&& make --jobs="$(nproc)" \
&& make install \
&& cd .. \
&& rm -rf src
RUN git clone --branch=curl-8_21_0 --depth=1 https://github.com/curl/curl.git src \ RUN git clone --branch=curl-8_21_0 --depth=1 https://github.com/curl/curl.git src \
&& cmake -S src -B build -DCMAKE_BUILD_TYPE=Release \ && cmake -S src -B build -DCMAKE_BUILD_TYPE=Release \
-DBUILD_CURL_EXE=OFF \ -DBUILD_CURL_EXE=OFF \