Build Apache Arrow/Parquet and its dependencies on rocky9

Add xsimd, Thrift, Snappy, LZ4 and Arrow/Parquet before DuckDB, in the
same order as debian13, using lib64 as the library directory.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
GuofangandClaude Sonnet 5.5 committed 2026-10-27 13:49:48 +08:00
1 parent 0bd9d85880
commit 8f24cf0e17
2 files changed
+94 -1

No files matched your search

+93
View File
@@ -683,6 +683,99 @@ RUN --mount=type=bind,from=sources,source=libproxyprotocol-v1.3.3.tar.gz,target=
&& cp src/src/proxy_protocol.h /usr/local/include/ \
&& rm -rf src
RUN --mount=type=bind,from=sources,source=xsimd-14.2.0.tar.gz,target=/tmp/xsimd.tar.gz \
mkdir src \
&& tar --extract --gzip --file=/tmp/xsimd.tar.gz --directory=src --strip-components=1 \
&& cmake -G Ninja -S src -B build -DCMAKE_BUILD_TYPE=Release \
-DBUILD_TESTS=OFF \
-DCMAKE_INSTALL_LIBDIR=lib64 \
&& cmake --build build --parallel "$(nproc)" --target install \
&& rm -rf build src
RUN --mount=type=bind,from=sources,source=thrift-v0.22.0.tar.gz,target=/tmp/thrift.tar.gz \
mkdir src \
&& tar --extract --gzip --file=/tmp/thrift.tar.gz --directory=src --strip-components=1 \
&& cmake -G Ninja -S src -B build -DCMAKE_BUILD_TYPE=Release \
-DBUILD_COMPILER=OFF \
-DBUILD_SHARED_LIBS=OFF \
-DBUILD_TESTING=OFF \
-DBUILD_TUTORIALS=OFF \
-DCMAKE_INSTALL_DIR=/usr/local/lib64/cmake \
-DCMAKE_POSITION_INDEPENDENT_CODE=ON \
-DLIB_INSTALL_DIR=/usr/local/lib64 \
-DPKGCONFIG_INSTALL_DIR=/usr/local/lib64/pkgconfig \
-DWITH_AS3=OFF \
-DWITH_C_GLIB=OFF \
-DWITH_CPP=ON \
-DWITH_JAVA=OFF \
-DWITH_JAVASCRIPT=OFF \
-DWITH_LIBEVENT=OFF \
-DWITH_NODEJS=OFF \
-DWITH_OPENSSL=OFF \
-DWITH_PYTHON=OFF \
-DWITH_QT5=OFF \
-DWITH_ZLIB=OFF \
&& cmake --build build --parallel "$(nproc)" --target install \
&& sed -i 's|^libdir=.*|libdir=${prefix}/lib64|' \
/usr/local/lib64/pkgconfig/thrift.pc \
&& rm -rf build src
RUN --mount=type=bind,from=sources,source=snappy-1.2.2.tar.gz,target=/tmp/snappy.tar.gz \
mkdir src \
&& tar --extract --gzip --file=/tmp/snappy.tar.gz --directory=src --strip-components=1 \
&& cmake -G Ninja -S src -B build -DCMAKE_BUILD_TYPE=Release \
-DBUILD_SHARED_LIBS=OFF \
-DCMAKE_INSTALL_LIBDIR=lib64 \
-DCMAKE_POSITION_INDEPENDENT_CODE=ON \
-DSNAPPY_BUILD_BENCHMARKS=OFF \
-DSNAPPY_BUILD_TESTS=OFF \
&& cmake --build build --parallel "$(nproc)" --target install \
&& rm -rf build src
RUN --mount=type=bind,from=sources,source=lz4-v1.10.0.tar.gz,target=/tmp/lz4.tar.gz \
mkdir src \
&& tar --extract --gzip --file=/tmp/lz4.tar.gz --directory=src --strip-components=1 \
&& cmake -G Ninja -S src/build/cmake -B build -DCMAKE_BUILD_TYPE=Release \
-DBUILD_SHARED_LIBS=OFF \
-DBUILD_STATIC_LIBS=ON \
-DCMAKE_INSTALL_LIBDIR=lib64 \
-DCMAKE_POSITION_INDEPENDENT_CODE=ON \
-DLZ4_BUILD_CLI=OFF \
-DLZ4_POSITION_INDEPENDENT_LIB=ON \
&& cmake --build build --parallel "$(nproc)" --target install \
&& rm -rf build src
RUN --mount=type=bind,from=sources,source=arrow-apache-arrow-25.0.1.tar.gz,target=/tmp/arrow.tar.gz \
mkdir src \
&& tar --extract --gzip --file=/tmp/arrow.tar.gz --directory=src --strip-components=1 \
&& cmake -G Ninja -S src/cpp -B build -DCMAKE_BUILD_TYPE=Release \
-DARROW_BUILD_BENCHMARKS=OFF \
-DARROW_BUILD_EXAMPLES=OFF \
-DARROW_BUILD_SHARED=OFF \
-DARROW_BUILD_STATIC=ON \
-DARROW_BUILD_TESTS=OFF \
-DARROW_BUILD_UTILITIES=OFF \
-DARROW_DEPENDENCY_SOURCE=SYSTEM \
-DARROW_DEPENDENCY_USE_SHARED=OFF \
-DARROW_IPC=ON \
-DARROW_JEMALLOC=OFF \
-DARROW_MIMALLOC=OFF \
-DARROW_PARQUET=ON \
-DARROW_POSITION_INDEPENDENT_CODE=ON \
-DARROW_WITH_BROTLI=OFF \
-DARROW_WITH_BZ2=OFF \
-DARROW_WITH_LZ4=ON \
-DARROW_WITH_SNAPPY=ON \
-DARROW_WITH_ZLIB=ON \
-DARROW_WITH_ZSTD=ON \
-DCMAKE_INSTALL_LIBDIR=lib64 \
-DCMAKE_POSITION_INDEPENDENT_CODE=ON \
-DPARQUET_BUILD_EXAMPLES=OFF \
-DPARQUET_BUILD_EXECUTABLES=OFF \
-DPARQUET_REQUIRE_ENCRYPTION=ON \
&& cmake --build build --parallel "$(nproc)" --target install \
&& rm -rf build src
RUN --mount=type=bind,from=sources,source=duckdb-v1.5.6.tar.gz,target=/tmp/duckdb.tar.gz \
--mount=type=bind,from=sources,source=duckdb-ui-0628932f74b1e2e9eaf68a05b22d737455541dca.tar.gz,target=/tmp/duckdb-ui.tar.gz \
mkdir src \