已关闭
[Bug-Report|缺陷反馈]: bash build.sh --experimental 报错 #2036
zhaohujie创建于  6月24日关闭于  6月29日
zhaohujie
zhaohujie
6月24日 创建

一、问题描述 (必填)

bash build.sh --experimental --soc=ascend910b 实验模式构建在链接 libophost_math.so 时失败:ops::op_impl_register_infershape_ZerosLike 符号重复定义。

根因:实验算子 experimental/math/isin_part_v1 同时依赖 zeros_likezero_op--experimentalzeros_like 解析到实验自包含算子 experimental/conversion/zeros_like;而实验目录无 zero_op,依赖回退到主线 math/zero_op——它本身也是一套 ZerosLike 实现(同样 IMPL_OP_INFERSHAPE(ZerosLike))。两套实现被同时编入 ophost_math_infer_obj,导致同名全局符号重复定义。

[2026-06-24 15:54:56] [100%] Linking CXX shared library libophost_math.so
[2026-06-24 15:54:56] /usr/bin/ld: experimental/math/accumulate_nv2/CMakeFiles/ophost_math_infer_obj.dir/__/__/conversion/zeros_like/op_host/zeros_like_infershape.cpp.o:(.bss+0x4e8): multiple definition of `ops::op_impl_register_infershape_ZerosLike'; experimental/math/accumulate_nv2/CMakeFiles/ophost_math_infer_obj.dir/__/__/__/math/zero_op/op_host/zeros_like_infershape.cpp.o:(.bss+0x4e8): first defined here

二、环境信息 (可选)

  • 昇腾硬件型号:Ascend 910B
  • CANN版本:9.0.0(/usr/local/Ascend/cann-9.0.0
  • 操作系统:Linux(内核 5.15.0-119-generic)
  • 其他相关软件版本:构建分支开启 --experimental 实验模式;系统 awk 为 mawk(无 gawk,与下方备注的次生报错相关)

三、重现步骤 (可选)

cd ops-math && bash build.sh --experimental --soc=ascend910b -j16

四、预期结果 (可选)

--experimental 模式构建全程无报错,libophost_math.so 正常链接通过。

💡 备注(选填)

  • 同一条 --experimental 构建命令还会在 scripts/util/gen_compile_option.sh 阶段刷屏 awk: line 2: syntax error at or near ,:该脚本使用了 gawk 专属的三参数 match($0, regex, arr),在 mawk 环境下无法解析。此为构建脚本可移植性问题,与算子实现无关,不中断构建但会丢失逐算子 compile_options

likedislike
zhaohujie
zhaohujie
6月24日 评论:

/assign @zhaohujie

likedislike
CANN-robotCANN-robot成员
6月24日 将 zhaohujie 设为负责人
zhaohujiezhaohujie
6月24日 修改了issue 的描述
zhaohujiezhaohujie
6月24日 关联了pull request:bug fix: experimental build error 'multiple definition of `ops::op_impl_register_infershape_ZerosLike` for zeros_like' + gen_compile_option.sh awk portability
CANN-robotCANN-robot成员
6月29日 关闭了 issue
CANN-robotCANN-robot成员
6月29日 添加了label:resolved