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
posted @ 2026-09-16 18:30  LoftyAmbition  阅读(16)  评论(0)    收藏  举报