Rocky 9.8上 3FS 构建整理
说明:不选择构建 FoundationDB。临时测试可直接在 Rocky 9 上安装 FoundationDB 7.4.6 的 rpm 包。
可能缺部分步骤
一、环境准备(Rocky 9)
1. 安装系统依赖
dnf install wget git meson cmake perl lld clang-tools-extra gcc gcc-c++ autoconf \
lz4 lz4-devel xz xz-devel \
double-conversion-devel libdwarf-devel libunwind-devel libaio-devel gflags-devel glog-devel \
libuv-devel gmock-devel gperftools gperftools-devel openssl-devel boost1.78-devel boost1.78-static mono-devel \
libevent-devel libibverbs-devel numactl-devel python3-devel clang libsodium-devel binutils-devel \
fuse3-devel rust cargo
2. 安装 FoundationDB(临时测试用)
dnf -y install foundationdb-clients-7.4.6-1.el9.x86_64.rpm foundationdb-server-7.4.6-1.el9.x86_64.rpm
3. 安装 ClickHouse
sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://packages.clickhouse.com/rpm/clickhouse.repo
sudo yum install -y clickhouse-server clickhouse-client
二、签出源码
git clone https://github.com/deepseek-ai/3fs
cd 3fs
git submodule update --init --recursive
./patches/apply.sh
打补丁(如需应用 rocky9.8.patch)
# 检查 patch 是否能成功应用
git apply --check rocky9.8.patch
# 查看 patch 的统计信息
git apply --stat rocky9.8.patch
# 应用 patch(不会自动 commit)
git apply rocky9.8.patch
三、构建 3FS
官方示例
# Replace <method> with 'g++10' or 'g++11' based on your environment
cmake -S . -B build \
-DCMAKE_CXX_COMPILER=clang++-14 -DCMAKE_C_COMPILER=clang-14 \
-DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_EXPORT_COMPILE_COMMANDS=ON \
-DSHUFFLE_METHOD=<method>
cmake --build build -j 32
实际使用(GCC Toolset 12)
cmake -S . -B build \
-DCMAKE_CXX_COMPILER=/opt/rh/gcc-toolset-12/root/bin/g++ \
-DCMAKE_C_COMPILER=/opt/rh/gcc-toolset-12/root/bin/gcc \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_EXPORT_COMPILE_COMMANDS=ON \
-DSHUFFLE_METHOD=g++11
cmake --build build -j $(nproc) 2>&1 | tee /tmp/build_gcc14.log
要点提示
| 项目 | 说明 |
|---|---|
| FoundationDB | 不自行构建,临时测试用 rpm 包安装 7.4.6 |
| 编译器 | 官方示例用 clang-14;实际用 GCC Toolset 12 |
| SHUFFLE_METHOD | 根据环境选择 g++10 / g++11,实际用 g++11 |
| 构建日志 | 通过 tee 输出到 /tmp/build_gcc14.log |
| 补丁 | rocky9.8.patch 先 check 再 apply,不会自动 commit |

浙公网安备 33010602011771号