关于 holoscan-install-source
用于从源码构建 Holoscan 5.x,面向需要未发布功能、SDK 变更、自定义组件或调试构建的开发者。流程强调核对准确的源码版本、保留现有检出状态,并验证选定测试。
主要功能
- 01选择并核验 5.x 源码版本
- 02检查系统依赖与构建配置
- 03配置调试、ARM64 和自定义路径
- 04使用 run 封装脚本构建和安装
- 05运行选定测试并报告覆盖情况
适用场景
- 01构建已确认的 Holoscan 开发分支
- 02编译定制版或调试版 SDK
- 03验证 C++ 与 Python 示例测试
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ nvidia/ skills --skill holoscan-install-source安装后在 Claude Code 中输入/holoscan-install-source确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
BENCHMARK.mdskill-card.mdskill.oms.sigevals/evals.json详细介绍
从源代码构建 Holoscan 5.x
选择源代码和先决条件
对于尚未发布的早期访问功能、SDK 更改、自定义组件或调试构建,请使用源代码。此工作流使用检出内容中的构建容器,其中包含 Ubuntu 24.04 和 CUDA 13,目标为 x86_64 或 arm64 dGPU。检查 Linux、磁盘容量、GPU/驱动程序、Git、Docker、buildx 和 NVIDIA Container Toolkit 是否可用。开始前说明下载容器和构建所需的成本。
从发行说明或用户指定的开发分支中选择明确的 5.x 源代码引用。复用现有检出内容前先检查;保留其分支和本地更改。将指定引用解析为完整提交;对于远程分支,使用目标远程的引用,必要时获取该引用。从现有仓库根目录出发,构建前将其 HEAD 与解析出的引用进行比较:
git status --short
git rev-parse HEAD
git rev-parse --verify "${SDK_REF}^{commit}"
SDK_REF 必须指向选定的标签、提交或带远程名称的分支。如果无法解析该引用,或者提交不一致,请停止并报告差异。保留现有分支和工作树;可提出在指定引用处单独检出。即使 HEAD 匹配,也要报告任何本地更改;如果用户要求构建经过修改的检出内容,则保留这些更改。
对于新的公共检出:
# SDK_REF is a confirmed published 5.x tag or development branch.
git ls-remote --heads --tags https://github.com/nvidia-holoscan/holoscan-sdk.git
mkdir -p ~/holoscan
git clone --branch "$SDK_REF" https://github.com/nvidia-holoscan/holoscan-sdk.git ~/holoscan/holoscan-sdk-5x
cd ~/holoscan/holoscan-sdk-5x
cat VERSION
./run --help
./run build --help
确认 VERSION 为 5.x。阅读此检出中的 AGENTS.md、DEVELOP.md 和 docs/sdk_installation.mdx;这些文件适用于尚未发布的分支。在内部检出中,导出的源代码根目录是包含 VERSION 和 run 的目录;从该目录运行命令。切勿假定仓库默认分支或 4.x 示例就是用户要求的 5.x 源代码。
构建
./run check_system_deps
./run build --dryrun
./run build
该封装脚本会进行构建、配置、编译和安装。默认启用 Python、示例、算子测试和可选模块。常用选项:
| 选项 | 含义 |
|---|---|
--type debug / --type rel-debug | 调试构建 / 带调试信息的发布构建 |
--arch arm64 | ARM64 目标;请参阅此检出内容的交叉编译先决条件 |
--buildpath build-custom | 指定构建目录 |
--installprefix install-custom | 指定安装前缀 |
--build-python false | 仅构建 C++ |
--config "-DHOLOSCAN_BUILD_VISION=OFF" | 在此检出内容支持的情况下禁用可选组件 |
构建、查询目录和启动时,使用相同的目标选择。标准目录结构为 build-<arch> 和 install-<arch>;请使用 ./run get_build_dir 和 ./run get_install_dir,而不要使用 4.x 的 build-cu<N>-<arch> 命名方式。自定义路径必须显式传入。对于过时的配置,先使用 --reconfigure;使用清理命令前,先检查它会删除哪些内容。
验证
对于默认构建目录:
./run test --name 'EXAMPLE_CPP_HELLO_WORLD_TEST|EXAMPLE_CPP_HELLO_CORE_TEST|EXAMPLE_PYTHON_FIRST_PIPELINE_TEST'
确认已找到并运行所选测试,不要将零个测试视为成功。仅构建 C++ 时会省略 Python 测试。对于自定义目录:
./run launch build-custom --run-cmd "ctest -N"
./run launch build-custom --run-cmd "ctest -R 'EXAMPLE_CPP_HELLO_WORLD_TEST|EXAMPLE_CPP_HELLO_CORE_TEST|EXAMPLE_PYTHON_FIRST_PIPELINE_TEST' --output-on-failure"
这些测试涵盖问候示例、运行范围受限的 C++ Core,以及 5.x Python 管线。根据所选组件运行适用的其他模块/GPU 测试;说明尚未测试的内容。交叉编译不能证明程序可在目标架构上运行。
对于使用 find_package(holoscan) 和 holoscan::core 的使用方项目,请将绝对安装前缀用作 CMAKE_PREFIX_PATH。报告源代码提交、构建选项、构建/安装目录和测试结果。如果 GPU 直通或 buildx 失败,请报告失败的命令和诊断输出,然后解决此检出内容的检查所指出的先决条件。如果原因仍不明确,请在构建前停止并询问缺失的主机信息,不要无限重试或更改无关的系统设置。