已关闭
[Bug修复]: 7个aicpu公共头在pkg_inc/aicpu_common下重复安装,导致下游静态算子包链接时undefined reference #419
liu-wei创建于  9月15日关闭于  9月15日
liu-wei
liu-wei成员
9月15日 创建

问题描述

cmake/package.cmake 中 include/op_common/aicpu_common/ 下的 7 个公共头文件(cpu_attr_value.h、cpu_tensor.h、cpu_tensor_shape.h、cpu_context.h、cpu_types.h、cpu_kernel.h、cpu_kernel_register.h)被同时安装到两个路径:

  1. include/aicpu/(L165-178,扁平安装,7个文件平铺)
  2. pkg_inc/aicpu_common/context/{common,cpu_proto}/(L100-107,整目录安装)

这导致同一批头文件在安装产物中存在两份重复副本。

影响

  • 安装产物冗余:7个头文件被重复安装
  • 下游 Findaicpu.cmake 中 pkg_inc/aicpu_common/context* 路径变成死路径(无害但冗余)

修复方案

在 cmake/package.cmake L100-107 的 install(DIRECTORY ...) 规则中新增 7 个 PATTERN ... EXCLUDE,排除这 7 个文件,只保留 include/aicpu/ 一份。

关联 PR

https://gitcode.com/cann/opbase/pull/829

验证

  • 出包对比:修改前后 include/aicpu/ 下 8 个文件完全一致,pkg_inc/aicpu_common/ 下减少 7 个重复文件,其余产物零差异
  • 装包对比:安装后产物差异与包内清单一致
  • 下游兼容:下游 Findaicpu.cmake 已含 include/aicpu 路径,删除 pkg_inc/aicpu_common/ 下的重复副本后编译不受影响
likedislike
liu-weiliu-wei成员
9月15日 将 liu-wei 设为负责人
CANN-robotCANN-robot成员
9月15日 关闭了 issue
CANN-robotCANN-robot成员
9月15日 添加了label:resolved
liu-weiliu-wei成员
9月18日 关联了pull request:fix(package): 排除7个aicpu公共头在pkg_inc/aicpu_common下的重复安装(重新提交)
liu-weiliu-wei成员
9月18日 关联了pull request:Revert "fix(package): 排除7个aicpu公共头在pkg_inc/aicpu_common下的重复安装"
liu-weiliu-wei成员
25 天前 关联了pull request:feat(package): aicpu_common旧路径头文件弃用过渡期告警机制