已合并
修复install.sh权限失败静默报 SUCCESS 并补充 QUICKSTART 安装校验指引 #9670
修复install.sh权限失败静默报 SUCCESS 并补充 QUICKSTART 安装校验指引 #9670
已合并
游震创建于 8月6日
游震成员
8月6日

描述

安装时 config.ini 因 opp/vendors 目录属主/权限问题更新失败,但 install.sh 仍输出 SUCCESS,导致用户按 QUICKSTART 操作后运行算子报 error 161001(issue #4106)。

修改内容:

  1. install.sh(cmake/scripts/custom/install.sh):为 config.ini 更新流程的六处关键操作(chmod vendors / touch / chmod 640 / echo load_priority / sed 更新 / chmod 755)增加返回值检查,失败时记录明确错误并 exit 1,避免静默报 SUCCESS;安装结束时增加 verify 日志提示用户校验;
  2. QUICKSTART.md / compile.md:安装步骤后增加 grep load_priority 校验指引,预期不符时提示排查 opp/vendors 属主或权限。

关于工具链优先级:本仓 install.sh 的修改在 CANN 工具链 fwk_modules/scripts/install.sh 不存在时生效(custom_build.cmake:1223 的 fallback 分支)。当工具链目录存在时,构建优先使用工具链版本,本仓修改不进入 .run 包。工具链版本的修复需由 CANN 侧同步,本 PR 通过文档校验指引覆盖此场景——用户按文档校验即可发现安装失败,排查权限后重装可解决问题。

关联的Issue

关联Issue #4106

测试

  • 替换工具链 install.sh 为本仓版本后重新编译打包,验证六处 exit 1 逐处触发(正常路径不误触发,权限失败路径正确 exit 1 非 SUCCESS);
  • 正常路径:安装 SUCCESS + add_example 运行成功(mean result=2.000000);
  • --install-path 路径:安装+运行成功;
  • 文档校验指引:grep load_priority 无输出时正确指向权限问题。

文档更新

  • docs/QUICKSTART.md:第3步安装后增加 config.ini 校验指引(1 行);
  • docs/zh/install/compile.md:安装步骤后同步增加校验指引(1 行)。

类型标签

likedislike
Pull Request已成功合入, 合并人@CANN-robot
(感谢 游震 的贡献)
游游震成员
8月6日 创建了 pull request,commit 3876939b
游游震成员
8月6日 关联了issue:[Bug-Report|缺陷反馈]: [AI 识别] QUICKSTART 缺少 ASCEND_CUSTOM_OPP_PATH 配置,导致首次运行算子失败 (error 161001)
atomgit-bot
atomgit-bot
8月6日 评论:

变更摘要

本次 PR 修复了 install.sh 安装脚本中一个关键缺陷:当 config.ini 文件因 opp/vendors 目录属主/权限问题更新失败时,脚本仍静默输出 SUCCESS,导致用户按 QUICKSTART 操作后运行算子报 error 161001(关联 issue #4106)。核心改动是为 cmake/scripts/custom/install.sh 中 config.ini 更新流程的六处关键操作补充返回值检查,失败时记录明确错误信息并 exit 1;同时在安装结束处增加 grep load_priority 校验提示。文档侧在 QUICKSTART.md 和 compile.md 安装步骤后同步增加校验指引,覆盖工具链安装脚本不包含本修复时的场景。

主要改动

  • install.sh 增加六处返回值检查与错误退出:对 chmod u+w vendors、touch config.ini、chmod 640 config.ini、echo load_priority 写入、sed 更新及 chmod 755 config.ini 六处操作增加 $? 检查,失败时输出包含当前用户(whoami)和具体路径的 [ERROR] 日志并 exit 1,杜绝权限失败静默报 SUCCESS 的问题。
  • 优化 echo load_priority 错误日志信息:将原有 "[ERROR] echo load_priority failed" 改为 "[ERROR] write load_priority to ${config_file} failed",使错误信息包含目标文件路径,更便于排查。
  • 安装结束新增 verify 日志提示:在安装流程末尾增加 log "[INFO] verify install: run [ grep load_priority ${config_file} ] to confirm the vendor is loaded",引导用户主动校验安装结果。
  • 文档补充安装校验指引:在 docs/QUICKSTART.md 和 docs/zh/install/compile.md 的安装步骤后增加 grep load_priority 校验指引,当工具链版本安装脚本不包含本修复时,用户仍可通过文档指引发现安装失败并排查权限问题。
likedislike
不准确?
CANN-robotCANN-robot成员
8月6日 添加了label:cann-cla/yes
CANN-robot
CANN-robot成员
8月6日 评论:

Thanks for your pull-request.
The full list of commands accepted by me can be found at here.
You can get sig-info at here.
For more, you also can visit HICANN.


PR Approval Progress

✅ Congratulations! All modules have met the lgtm and approve requirements.

Module Approval Details

module lgtm status approve status
cmake ✅ wang-minbo, gaoxiang618 (2/2) ✅ wang-minbo, gaoxiang618 (2/1)
docs ✅ wang-minbo, 宋恺 (2/2) ✅ 宋恺, wang-minbo (2/1)

💡 Tip:

  • Committer can comment /approve or /lgtm
  • Commenting /approve implies both code review (lgtm) and intent to merge (approve)

CLA Signature Pass

youzhen5418, thanks for your pull request. All authors of the commits have signed the CLA. 👍

likedislike
此处折叠了73条消息 查看更多
CANN-robot
CANN-robot成员
8月18日 评论:

流水线任务触发成功
任务链接 [1bf781c9704d4b589bcfda87b2375652][流水线指导]

任务名称状态日志下载链接
codecheck ✅ SUCCESS >>>>>
SCA ✅ SUCCESS >>>>>
antipoison ✅ SUCCESS >>>>>
codecheck_style ✅ SUCCESS >>>>>
StaticCheck_codespell ✅ SUCCESS
StaticCheck_link_validity ✅ SUCCESS
StaticCheck_resource_existence ✅ SUCCESS
StaticCheck_tag_closed ✅ SUCCESS
StaticCheck_markdownlint ✅ SUCCESS
codecheck_checkpr ✅ SUCCESS
codecheck_precommit ✅ SUCCESS >>>>>

[2026-08-18 11:47:45]    CI执行结束

likedislike
CANN-robotCANN-robot成员
8月18日 添加了label:api-check-pass
CANN-robotCANN-robot成员
8月18日 删除了label:ci-pipeline-running
CANN-robotCANN-robot成员
8月18日 添加了label:ci-pipeline-passed
CANN-robotCANN-robot成员
8月18日 合入了pull request