GXF 构建依赖清单

setup_env.sh 负责搭建 GXF 构建环境:下载/编译全部第三方依赖并导出环境变量。

本文档罗列其全部依赖的下载方式、构建方法、安装路径

  • 依赖根目录:GXF_DEPS_DIR(默认 <repo>/deps
  • 安装前缀:GXF_DEPS_PREFIX = $GXF_DEPS_DIR/install
  • 版本与 bazel .bzl 文件中固定的版本一一对应;重复执行为幂等(deps/.stamps/ 记录完成标记)
  • 清理:source ./setup_env.sh clean(删除整个 deps/

目录结构

复制代码
deps/
├── dist/        # 下载的归档文件(tar.gz/zip)
├── src/         # 解包/克隆的源码树(约 1.6 GB,含 grpc 与 boost 源码)
├── build/       # cmake 构建目录(约 226 MB)
├── install/     # 安装前缀 GXF_DEPS_PREFIX(约 104 MB)
│   ├── include/ # 全部头文件(yaml-cpp, grpcpp, absl, pybind11, ...)
│   ├── lib/     # 90 个静态库(.a)
│   └── bin/     # protoc, grpc_cpp_plugin 等工具
├── proto/       # 供代码生成的 .proto(gRPC 的 health.proto)
├── gen/         # make 阶段由 protoc 生成的 pb 代码
└── .stamps/     # 各依赖的完成标记(幂等跳过依据)

一、系统与环境依赖(不下载,由本机/变量提供)

依赖 指定方式 要求 用途
CUDA toolkit CUDA_HOME(默认 /usr/local/cuda 必须 12.6.x ;需 include/lib64/bin/nvcc 全部 CUDA 相关目标;-isystem $CUDA_HOME/include,链接 -L$CUDA_HOME/lib64
UCX UCX_HOME(默认 /opt/ucx-1.18.0 需含 lib/include/ 仅校验并导出(35 个 release 目标不直接链接;为 ucx 扩展预留)
Python GXF_PYTHON(默认取 python3 版本) pythonX.Y + 头文件 + 共享 libpython(pythonX.Y-devlibpythonX.Y-dev pybind 模块、python_codelet
OpenSSL 系统包 libssl-dev OpenSSL 3.x(Ubuntu 22.04 为 3.0.2) cpprestsdk(https 支持)→ libgxf_http.so 链接 -lssl -lcrypto
设备端编译器 DEVCC(默认 $CUDA_HOME/bin/nvcc 可编译 CUDA 源 gxf/cuda/tests/convolution.cu.cpp
构建工具 apt g++-11ld.gold(binutils-gold)、cmakegitcurlpatchrsynctarunzipmakear 编译/链接/下载

二、下载并构建的依赖(11 项)

1. lss(linux-syscall-support @ 93426bd)

内容
用途 breakpad 的编译依赖(third_party/lss/linux_syscall_support.h
下载 https://chromium.googlesource.com/linux-syscall-support/+archive/93426bda6535943ff1525d0460aab5cc0870ccaf.tar.gz
sha256 不固定(googlesource 动态生成归档,无稳定校验值)
补丁 com_nvidia_gxf/third_party/lss_gcc.patchpatch -p0,移除两处内联汇编 clobber)
构建 无(纯头文件)
安装 install/include/third_party/lss/linux_syscall_support.h
消费方 breakpad(编译期)→ gxe

2. yaml-cpp 0.6.3

内容
用途 GXF 参数/YAML 解析(core、std、behavior_tree、test 等)
下载 https://developer.nvidia.com/isaac/download/third_party/yaml-cpp-0-6-3-tar-gz
sha256 f38a7a7637993943c4c890e352b1fa3f3bf420535634e9a506d9a21c3890d505
构建 cmake:-DCMAKE_BUILD_TYPE=Release -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DYAML_CPP_BUILD_TESTS=OFF -DYAML_CPP_BUILD_TOOLS=OFF -DYAML_CPP_BUILD_CONTRIB=OFF -DBUILD_SHARED_LIBS=OFF
安装 install/include/yaml-cpp/install/lib/libyaml-cpp.a
消费方 几乎所有扩展(静态链接;libgxf_core.so 用 --exclude-libs 隐藏其符号)

3. gflags @ e292e04

内容
用途 gxe 命令行参数解析
下载 https://developer.nvidia.com/isaac/download/third_party/gflags-e292e0452fcfd5a8ae055b59052fc041cbab4abf-tar-gz
sha256 a4c5171355e67268b4fd2f31c3f7f2d125683d12e0686fc14893a3ca8c803659
构建 cmake:-DCMAKE_BUILD_TYPE=Release -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DGFLAGS_REGISTER_INSTALL_PREFIX=OFF -DGFLAGS_BUILD_TESTING=OFF -DBUILD_SHARED_LIBS=OFF
安装 install/include/gflags/*.h(cmake 生成,与 bazel genrule 等价)、install/lib/libgflags.a(另有 libgflags_nothreads.a
消费方 gxe

4. breakpad @ bae713b(+ lss)

内容
用途 gxe 崩溃转储(crash handler)
下载 https://github.com/google/breakpad/archive/bae713be2e51faa5cbe0ac4bcd21c0a3ee72ff8e.tar.gz
sha256 65a0dd6db9065dc539ddf35f969d10b5ad8a7b2c305d2dc5a66a1f8d46f4a904
预处理 将 lss 头复制到源码树 src/third_party/lss/
构建 不用 autotools :按 third_party/breakpad.BUILD 的 22 个源文件用 g++ 直接编译(-std=c++17 -O2 -fPIC -DHAVE_GETCONTEXT -Wno-maybe-uninitialized -Wno-array-bounds -I src),ar rcsD 打包
安装 install/lib/libbreakpad.a;头文件按 src/ 布局装到 install/include/breakpad/
消费方 gxe

5. magic_enum 0.9.3

内容
用途 枚举反射(gxf/core/expected_macro.hpp
下载 https://github.com/Neargye/magic_enum/archive/refs/tags/v0.9.3.zip
sha256 2ac5f5f0591c8f587b53b89c3ef64c85cc24ebaaa389a659c6bf36a0aa192fe6
构建 无(纯头文件),复制 include/magic_enum*.hpp
安装 install/include/magic_enum*.hpp(平铺)
消费方 gxf/core 及全部下游

6. dlpack 0.8

内容
用途 tensor 互操作(gxf/std/tensordlpack_utils
下载 https://github.com/dmlc/dlpack/archive/refs/tags/v0.8.tar.gz
sha256 cf965c26a5430ba4cc53d61963f288edddcd77443aa4c85ce722aaf1e2f29513
构建 无(纯头文件),复制 include/dlpack/
安装 install/include/dlpack/
消费方 gxf/std 及下游(serialization、multimedia、test_cuda 等)

7. nlohmann-json 3.10.5

内容
用途 JSON 解析(job_statisticsgraph_driver_worker_common
下载 https://github.com/nlohmann/json/archive/refs/tags/v3.10.5.zip
sha256 ea4b0084709fb934f92ca0a68669daa0fe6f2a2c6400bf353454993a834bb0bb
构建 无(纯头文件),复制 single_include/nlohmann/
安装 install/include/nlohmann/
消费方 gxf/std 及下游

8. pybind11(版本随 GXF_PYTHON

内容
用途 全部 pybind 模块 + python_codelet
版本策略 Python ≤3.12 → 2.11.1 ;3.13 → 2.13.6 ;≥3.14 → 3.0.1
下载 https://github.com/pybind/pybind11/archive/refs/tags/v<ver>.tar.gz
sha256 2.11.1: d475978da0cdc2d43b73f30910786759d593a9d8ee05b1b6846d1eb16c6d2e0c 2.13.6: e08cb87f4773da97fa7b5f035de8763abc656d87d5773e62f6da0587d1f0ec20 3.0.1: 741633da746b7c738bb71f1854f957b9da660bcd2dce68d71949037f0969d0ca
构建 无(纯头文件),复制 include/pybind11/
安装 install/include/pybind11/
消费方 core_pybind、7 个 std pybind、cuda_pybind、pycodelet、libgxf_python_codelet.so

9. boost 1.80.0(仅当系统无 boost ≥1.74 时构建)

内容
用途 cpprestsdk 的依赖(asio/system/thread 等)
下载 https://archives.boost.io/release/1.80.0/source/boost_1_80_0.tar.gz
sha256 4b2136f98bdd1f5857f1c3dea9ac2018effe65286cf251534b6ae20cc45e1847
构建 ./bootstrap.sh --with-libraries=system,thread,chrono,atomic,regex,date_time,filesystem,random,container && ./b2 -j$GXF_JOBS variant=release link=static threading=multi cxxflags=-fPIC stage
安装 不装进 prefix ,直接从源码树使用:头文件 deps/src/boost_1_80_0/,静态库 deps/src/boost_1_80_0/stage/lib/;经 BOOST_INCLUDE_DIR / BOOST_LIBRARY_DIR 导出
系统分支 /usr/include/boost/version.hpp ≥ 1.74 且存在 libboost_system,则直接用系统 boost(BOOST_INCLUDE_DIR=/usr/includeBOOST_LIBRARY_DIR=/usr/lib/x86_64-linux-gnu
消费方 cpprestsdk(编译与链接)→ libgxf_http.so 链接 -lboost_system -lboost_thread -lboost_chrono -lboost_atomic -lboost_regex -lboost_date_time -lboost_filesystem -lboost_random

10. gRPC 1.48.0(含 protobuf 21.7 / abseil / re2 / c-ares / zlib / boringssl)

内容
用途 libgxf_grpc.so(IPC gRPC 传输)
下载 git clone --depth 1 --branch v1.48.0 --recurse-submodules --shallow-submodules --jobs 8 https://github.com/grpc/grpc(约 300 MB)
构建 cmake:-DCMAKE_BUILD_TYPE=Release -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DgRPC_BUILD_TESTS=OFF -DgRPC_BUILD_CSHARP_EXT=OFF -DgRPC_INSTALL=ON -DgRPC_ABSL_PROVIDER=module -DgRPC_CARES_PROVIDER=module -DgRPC_PROTOBUF_PROVIDER=module -DgRPC_RE2_PROVIDER=module -DgRPC_SSL_PROVIDER=module -DgRPC_ZLIB_PROVIDER=module -DgRPC_BENCHMARK_PROVIDER=none(全部子模块静态、PIC)
安装 头文件:install/include/{grpcpp,grpc,grpc++,absl,google/protobuf,re2,upb,...} 静态库(90 个中的主要者):libgrpc++.alibgrpc.alibgpr.alibaddress_sorting.alibupb.alibprotobuf.alibre2.alibcares.alibz.alibssl.a+libcrypto.a(boringssl)、65 个 libabsl_*.a 工具:install/bin/protocinstall/bin/grpc_cpp_plugin(Makefile 代码生成用)
附带 src/proto/grpc/health/v1/health.proto 复制到 deps/proto/(安装版 gRPC 不带 health 模块,grpc_client.cpp 需要)
消费方 libgxf_grpc.so--start-group 静态链接全部上述库,.so 无 grpc NEEDED)

11. cpprestsdk 2.10.18

内容
用途 libgxf_http.so(IPC HTTP 传输)
下载 https://github.com/microsoft/cpprestsdk/archive/refs/tags/2.10.18.tar.gz
sha256 6bd74a637ff182144b6a4271227ea8b6b3ea92389f88b25b215e6f94fd4d41cb
构建 cmake:-DCMAKE_BUILD_TYPE=Release -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DCPPREST_EXCLUDE_WEBSOCKETS=ON -DBUILD_SHARED_LIBS=OFF -DBUILD_TESTS=OFF -DBUILD_SAMPLES=OFF -DWERROR=OFF + BOOST_ROOT/Boost_INCLUDE_DIR/Boost_LIBRARY_DIR(系统 OpenSSL,不打 third_party/cmake/cpprestsdk.patch------该补丁是为 boringssl CONFIG 模式准备的)
安装 install/include/cpprest/install/lib/libcpprest.a
消费方 libgxf_http.so(链接 libcpprest.a + boost + 系统 -lssl -lcrypto

三、导出的环境变量(供 Makefile 使用)

变量 值(默认) 说明
GXF_ROOT / GXF_WS <repo> / <repo>/com_nvidia_gxf 仓库/源码根
GXF_DEPS_DIR / GXF_DEPS_PREFIX <repo>/deps / .../install 依赖根/安装前缀
GXF_GEN_DIR / GXF_PROTO_DIR .../gen / .../proto pb 代码生成目录/ proto 源
CUDA_HOME / CUDA_LIB64 /usr/local/cuda(readlink 解析) CUDA 安装/库目录
UCX_HOME /opt/ucx-1.18.0 UCX 安装(校验用)
DEVCC $CUDA_HOME/bin/nvcc CUDA 设备端编译器
GXF_PYTHON / PYTHON_INCLUDE / PYTHON_LIBDIR / PYTHON_LIB 3.10 等 Python 版本与路径
BOOST_INCLUDE_DIR / BOOST_LIBRARY_DIR 系统或 deps/src/boost_1_80_0 boost 位置
GXF_JOBS nproc 依赖构建并行度
PATH 前置 $GXF_DEPS_PREFIX/bin protoc、grpc_cpp_plugin
LD_LIBRARY_PATH 前置 $CUDA_LIB64:$UCX_HOME/lib:$GXF_DEPS_PREFIX/lib 运行时库解析

四、模块 → 第三方依赖 对应表

GXF 模块(产物) 第三方依赖
core(libgxf_core.so、core_pybind.so) yaml-cpp、magic_enum;pybind11 + Python(pybind)
std(libgxf_std.so、7 个 pybind) yaml-cpp、dlpack、nlohmann-json、CUDA(cudart/headers);pybind11 + Python(pybind)
gxe gflags、breakpad(+lss)、yaml-cpp
logger / sample / network 无(仅 GXF 内部)
serialization / behavior_tree / test yaml-cpp(+ CUDA 经 std 闭包)
cuda(libgxf_cuda.so、cuda_pybind.so) CUDA(cudart);pybind11 + Python(pybind)
cuda/tests(libgxf_test_cuda.so) CUDA(cudart/cublas/driver stub/nvToolsExt)、yaml-cpp
npp(libgxf_npp.so) CUDA NPP(nppial/nppidei/nppc/npps/cudart)
multimedia CUDA(cudart 经 tensor)
python_codelet pybind11、Python、CUDA(cudart)
ipc/grpc(libgxf_grpc.so) gRPC 全家(grpc++/grpc/gpr/upb/protobuf/absl/re2/c-ares/zlib/boringssl)
ipc/http(libgxf_http.so) cpprestsdk、boost、系统 OpenSSL、CUDA(cudart)

五、常见问题

  • 重复执行deps/.stamps/ 下每个依赖一个完成标记,已完成的自动跳过(0.1s 内返回)。
  • 强制重建某个依赖 :删除对应标记(如 rm deps/.stamps/grpc)与产物后重新 source ./setup_env.sh
  • 全部重来source ./setup_env.sh clean 后重新 source ./setup_env.sh(gRPC 全量编译约 20--40 分钟,boost 约 10 分钟,其余 <2 分钟)。
  • 离线/内网 :所有下载集中在 deps/dist/,可将该目录复制到离线机器后执行(sha256 会校验);gRPC 走 git clone,需要 git 可达 github。

2. # GXF 依赖下载清单(dependences_download)

setup_env.sh 搭建环境时需要下载的全部内容、下载方法与校验值。

总计下载约 1 GB ,解压/构建后占用约 2 GBdeps/)。

  • 所有归档统一下载到 deps/dist/,存在则跳过,sha256 校验通过后解包到 deps/src/
  • gRPC 是唯一走 git clone 的依赖(其子模块含 protobuf 21.7/abseil/re2/c-ares/zlib/boringssl)

一、HTTP 归档下载(10 项,约 147 MB)

# 依赖 版本 下载 URL 保存为(deps/dist/) 大小 sha256
1 lss (linux-syscall-support) 93426bd https://chromium.googlesource.com/linux-syscall-support/+archive/93426bda6535943ff1525d0460aab5cc0870ccaf.tar.gz 93426bda6535943ff1525d0460aab5cc0870ccaf.tar.gz 36K 不固定(动态生成)※本次实测 7188f6da...c15c
2 yaml-cpp 0.6.3 https://developer.nvidia.com/isaac/download/third_party/yaml-cpp-0-6-3-tar-gz yaml-cpp-0-6-3-tar-gz 1.4M f38a7a7637993943c4c890e352b1fa3f3bf420535634e9a506d9a21c3890d505
3 gflags e292e04 https://developer.nvidia.com/isaac/download/third_party/gflags-e292e0452fcfd5a8ae055b59052fc041cbab4abf-tar-gz gflags-e292e0452fcfd5a8ae055b59052fc041cbab4abf-tar-gz 96K a4c5171355e67268b4fd2f31c3f7f2d125683d12e0686fc14893a3ca8c803659
4 breakpad bae713b https://github.com/google/breakpad/archive/bae713be2e51faa5cbe0ac4bcd21c0a3ee72ff8e.tar.gz bae713be2e51faa5cbe0ac4bcd21c0a3ee72ff8e.tar.gz 5.3M 65a0dd6db9065dc539ddf35f969d10b5ad8a7b2c305d2dc5a66a1f8d46f4a904
5 magic_enum 0.9.3 https://github.com/Neargye/magic_enum/archive/refs/tags/v0.9.3.zip v0.9.3.zip 228K 2ac5f5f0591c8f587b53b89c3ef64c85cc24ebaaa389a659c6bf36a0aa192fe6
6 dlpack 0.8 https://github.com/dmlc/dlpack/archive/refs/tags/v0.8.tar.gz v0.8.tar.gz 76K cf965c26a5430ba4cc53d61963f288edddcd77443aa4c85ce722aaf1e2f29513
7 nlohmann-json 3.10.5 https://github.com/nlohmann/json/archive/refs/tags/v3.10.5.zip v3.10.5.zip 7.1M ea4b0084709fb934f92ca0a68669daa0fe6f2a2c6400bf353454993a834bb0bb
8 pybind11 2.11.1 ※ https://github.com/pybind/pybind11/archive/refs/tags/v2.11.1.tar.gz v2.11.1.tar.gz 740K d475978da0cdc2d43b73f30910786759d593a9d8ee05b1b6846d1eb16c6d2e0c
9 boost 1.80.0 ※※ https://archives.boost.io/release/1.80.0/source/boost_1_80_0.tar.gz boost_1_80_0.tar.gz 131M 4b2136f98bdd1f5857f1c3dea9ac2018effe65286cf251534b6ae20cc45e1847
10 cpprestsdk 2.10.18 https://github.com/microsoft/cpprestsdk/archive/refs/tags/2.10.18.tar.gz 2.10.18.tar.gz 1.7M 6bd74a637ff182144b6a4271227ea8b6b3ea92389f88b25b215e6f94fd4d41cb

※ pybind11 版本随 GXF_PYTHON 变化(≤3.12 用 2.11.1;3.13 用 v2.13.6.tar.gz(sha256 e08cb87f...ec20);≥3.14 用 v3.0.1.tar.gz(sha256 741633da...d0ca)),URL 仅版本号不同。

※※ 仅当系统没有 boost ≥1.74 时才下载(否则跳过,用系统 boost)。

逐条下载命令(可直接复制执行)

bash 复制代码
mkdir -p deps/dist && cd deps/dist

# 1. lss (93426bd) ------ googlesource 动态生成归档,无固定 sha256
curl -fSL --retry 3 -o 93426bda6535943ff1525d0460aab5cc0870ccaf.tar.gz \
  "https://chromium.googlesource.com/linux-syscall-support/+archive/93426bda6535943ff1525d0460aab5cc0870ccaf.tar.gz"

# 2. yaml-cpp 0.6.3
curl -fSL --retry 3 -o yaml-cpp-0-6-3-tar-gz \
  "https://developer.nvidia.com/isaac/download/third_party/yaml-cpp-0-6-3-tar-gz"
echo "f38a7a7637993943c4c890e352b1fa3f3bf420535634e9a506d9a21c3890d505  yaml-cpp-0-6-3-tar-gz" | sha256sum -c -

# 3. gflags (e292e04)
curl -fSL --retry 3 -o gflags-e292e0452fcfd5a8ae055b59052fc041cbab4abf-tar-gz \
  "https://developer.nvidia.com/isaac/download/third_party/gflags-e292e0452fcfd5a8ae055b59052fc041cbab4abf-tar-gz"
echo "a4c5171355e67268b4fd2f31c3f7f2d125683d12e0686fc14893a3ca8c803659  gflags-e292e0452fcfd5a8ae055b59052fc041cbab4abf-tar-gz" | sha256sum -c -

# 4. breakpad (bae713b)
curl -fSL --retry 3 -o bae713be2e51faa5cbe0ac4bcd21c0a3ee72ff8e.tar.gz \
  "https://github.com/google/breakpad/archive/bae713be2e51faa5cbe0ac4bcd21c0a3ee72ff8e.tar.gz"
echo "65a0dd6db9065dc539ddf35f969d10b5ad8a7b2c305d2dc5a66a1f8d46f4a904  bae713be2e51faa5cbe0ac4bcd21c0a3ee72ff8e.tar.gz" | sha256sum -c -

# 5. magic_enum 0.9.3
curl -fSL --retry 3 -o v0.9.3.zip \
  "https://github.com/Neargye/magic_enum/archive/refs/tags/v0.9.3.zip"
echo "2ac5f5f0591c8f587b53b89c3ef64c85cc24ebaaa389a659c6bf36a0aa192fe6  v0.9.3.zip" | sha256sum -c -

# 6. dlpack 0.8
curl -fSL --retry 3 -o v0.8.tar.gz \
  "https://github.com/dmlc/dlpack/archive/refs/tags/v0.8.tar.gz"
echo "cf965c26a5430ba4cc53d61963f288edddcd77443aa4c85ce722aaf1e2f29513  v0.8.tar.gz" | sha256sum -c -

# 7. nlohmann-json 3.10.5
curl -fSL --retry 3 -o v3.10.5.zip \
  "https://github.com/nlohmann/json/archive/refs/tags/v3.10.5.zip"
echo "ea4b0084709fb934f92ca0a68669daa0fe6f2a2c6400bf353454993a834bb0bb  v3.10.5.zip" | sha256sum -c -

# 8. pybind11 2.11.1(Python ≤3.12;3.13→v2.13.6,≥3.14→v3.0.1,改版本号即可)
curl -fSL --retry 3 -o v2.11.1.tar.gz \
  "https://github.com/pybind/pybind11/archive/refs/tags/v2.11.1.tar.gz"
echo "d475978da0cdc2d43b73f30910786759d593a9d8ee05b1b6846d1eb16c6d2e0c  v2.11.1.tar.gz" | sha256sum -c -

# 9. boost 1.80.0(仅当系统无 boost ≥1.74 时需要)
curl -fSL --retry 3 -o boost_1_80_0.tar.gz \
  "https://archives.boost.io/release/1.80.0/source/boost_1_80_0.tar.gz"
echo "4b2136f98bdd1f5857f1c3dea9ac2018effe65286cf251534b6ae20cc45e1847  boost_1_80_0.tar.gz" | sha256sum -c -

# 10. cpprestsdk 2.10.18
curl -fSL --retry 3 -o 2.10.18.tar.gz \
  "https://github.com/microsoft/cpprestsdk/archive/refs/tags/2.10.18.tar.gz"
echo "6bd74a637ff182144b6a4271227ea8b6b3ea92389f88b25b215e6f94fd4d41cb  2.10.18.tar.gz" | sha256sum -c -

cd - >/dev/null

一键下载脚本(HTTP 归档 + gRPC 克隆)

bash 复制代码
#!/usr/bin/env bash
# 预下载 setup_env.sh 所需的全部依赖(等价于其下载阶段,不做构建)
set -e
cd "$(dirname "$0")"
mkdir -p deps/dist deps/src

dl() {  # dl <保存名> <URL> [sha256]
  local f="deps/dist/$1"
  [[ -f "$f" ]] && { echo "[skip] $1"; return 0; }
  echo "[dl] $1"
  curl -fSL --connect-timeout 20 --retry 3 -o "$f" "$2" || return 1
  if [[ -n "${3:-}" ]]; then
    echo "$3  $f" | sha256sum -c - || return 1
  fi
  return 0
}

dl 93426bda6535943ff1525d0460aab5cc0870ccaf.tar.gz \
   "https://chromium.googlesource.com/linux-syscall-support/+archive/93426bda6535943ff1525d0460aab5cc0870ccaf.tar.gz"
dl yaml-cpp-0-6-3-tar-gz \
   "https://developer.nvidia.com/isaac/download/third_party/yaml-cpp-0-6-3-tar-gz" \
   f38a7a7637993943c4c890e352b1fa3f3bf420535634e9a506d9a21c3890d505
dl gflags-e292e0452fcfd5a8ae055b59052fc041cbab4abf-tar-gz \
   "https://developer.nvidia.com/isaac/download/third_party/gflags-e292e0452fcfd5a8ae055b59052fc041cbab4abf-tar-gz" \
   a4c5171355e67268b4fd2f31c3f7f2d125683d12e0686fc14893a3ca8c803659
dl bae713be2e51faa5cbe0ac4bcd21c0a3ee72ff8e.tar.gz \
   "https://github.com/google/breakpad/archive/bae713be2e51faa5cbe0ac4bcd21c0a3ee72ff8e.tar.gz" \
   65a0dd6db9065dc539ddf35f969d10b5ad8a7b2c305d2dc5a66a1f8d46f4a904
dl v0.9.3.zip \
   "https://github.com/Neargye/magic_enum/archive/refs/tags/v0.9.3.zip" \
   2ac5f5f0591c8f587b53b89c3ef64c85cc24ebaaa389a659c6bf36a0aa192fe6
dl v0.8.tar.gz \
   "https://github.com/dmlc/dlpack/archive/refs/tags/v0.8.tar.gz" \
   cf965c26a5430ba4cc53d61963f288edddcd77443aa4c85ce722aaf1e2f29513
dl v3.10.5.zip \
   "https://github.com/nlohmann/json/archive/refs/tags/v3.10.5.zip" \
   ea4b0084709fb934f92ca0a68669daa0fe6f2a2c6400bf353454993a834bb0bb
dl v2.11.1.tar.gz \
   "https://github.com/pybind/pybind11/archive/refs/tags/v2.11.1.tar.gz" \
   d475978da0cdc2d43b73f30910786759d593a9d8ee05b1b6846d1eb16c6d2e0c
dl boost_1_80_0.tar.gz \
   "https://archives.boost.io/release/1.80.0/source/boost_1_80_0.tar.gz" \
   4b2136f98bdd1f5857f1c3dea9ac2018effe65286cf251534b6ae20cc45e1847
dl 2.10.18.tar.gz \
   "https://github.com/microsoft/cpprestsdk/archive/refs/tags/2.10.18.tar.gz" \
   6bd74a637ff182144b6a4271227ea8b6b3ea92389f88b25b215e6f94fd4d41cb

# gRPC v1.48.0(含子模块,约 680 MB)
[[ -d deps/src/grpc-1.48.0 ]] || \
  git clone --depth 1 --branch v1.48.0 \
    --recurse-submodules --shallow-submodules --jobs 8 \
    https://github.com/grpc/grpc deps/src/grpc-1.48.0

echo "全部依赖下载完成。"

二、git 克隆(1 项,约 680 MB)

依赖 版本 命令
gRPC(含 protobuf 21.7 / abseil / re2 / c-ares / zlib / boringssl 子模块) v1.48.0 git clone --depth 1 --branch v1.48.0 --recurse-submodules --shallow-submodules --jobs 8 https://github.com/grpc/grpc deps/src/grpc-1.48.0

三、系统/环境依赖(不走 setup_env.sh 下载)

依赖 获取方式 说明
CUDA 12.6.x NVIDIA 官方安装包 CUDA_HOME(默认 /usr/local/cuda),需 include/lib64/bin/nvcc
UCX 1.18 源码编译或预装 UCX_HOME(默认 /opt/ucx-1.18.0),需 lib/include/
Python 3.10 + dev sudo apt install python3.10-dev libpython3.10-dev 其他版本用 GXF_PYTHON 指定
OpenSSL 3 dev sudo apt install libssl-dev cpprestsdk 用
构建工具 sudo apt install build-essential gcc-11 g++-11 binutils-gold cmake git curl patch rsync tar unzip g+±11 为必须(与 bazel 工具链一致)

四、离线/内网使用

  1. 在联网机器执行一次 source ./setup_env.sh(或仅下载阶段)
  2. 将整个 deps/dist/(10 个归档)+ deps/src/grpc-1.48.0/(gRPC 克隆)拷贝到目标机器相同位置
  3. 目标机器执行 source ./setup_env.sh:归档存在即跳过下载,sha256 校验通过后直接解包构建

提示:gRPC 若无法 git clone,也可在联网机器打包 tar -czf grpc-1.48.0-src.tar.gz -C deps/src grpc-1.48.0 转移后解压到 deps/src/

相关推荐
蒸鱼Yuzheng21 小时前
游戏 Shader 与材质怎么测:丢失、变粉、编译卡顿与平台差异
gpu·游戏测试·shader测试·材质测试·图形兼容
众人皆醒我独醉1 天前
Kubernetes GPU 调度与管理的完整机制——从节点上架到 Pod 拿到 GPU
面试·kubernetes·gpu
SDWAN_Cheap2 天前
CPU与GPU的区别及应用场景详解
cpu·gpu
Eloudy2 天前
全文 - 第1部分 - NVIDIA Fabric Manager User Guide
gpu·fabric·超节点
Eloudy2 天前
全文 - Scale-up fabrics
gpu·eda·超节点
zLLM_Lab2 天前
GPU kernel 已返回,显存为什么还不能释放?用 Rust 管理 CPU/GPU 完整生命周期
rust·gpu
江厌013 天前
金融大模型私有化:信创合规下,算力该按哪个口径配
人工智能·深度学习·大模型·私有化部署·gpu·信创·ai服务器
Eloudy7 天前
Isaac ROS 3.2 编译
gpu
Eloudy7 天前
GXF 报告 - 构建依赖分析,NvSci 裁剪,公网裸机构建与测试
gpu