您好,感谢您的反馈!关于源码编译缺少torch/library.h的问题,这是由于PyTorch开发头文件未安装导致的报错。请确认已安装PyTorch开发版本(pip install torch --pre)或从源码编译PyTorch。您关联的PR !239 已处理此问题,我们会尽快审核。如有其他疑问欢迎继续反馈!


Bug 根因分析
问题类型: 编译配置问题
错误关键信息:
fatal error: torch/library.h: No such file or directory
fatal error: ATen/Tensor.h: No such file or directory
根本原因
- CMake 路径查找问题: CMake 脚本通过
site.getsitepackages()获取 Python 全局包路径,进而推断 torch 和 torch_npu 的安装路径 - 路径不匹配: 在某些环境下,torch/torch_npu 安装路径不属于 Python 全局包路径,导致无法定位相关头文件
解决方案
✅ 已通过 PR #239 修复
PR #239 已合并,修改方案:
- 替换为利用
torch.__file__属性动态计算 torch 库父目录路径的方法 - 确保在各种安装环境下都能正确找到 torch 头文件
验证步骤
- 拉取最新代码:
git pull origin master或git pull origin dev - 重新编译:
python3 setup.py bdist_wheel - 安装:
pip install dist/mindiesd-*.whl
推荐责任人
此问题已由 @changetheway 通过 PR #239 修复。
关联 PR: #239


Issue 自动评审结果
分类
- 类型: Installation / Bug
- 优先级: High
- 建议标签: installation, bug, build
问题根因分析
编译时找不到 PyTorch C++ 头文件:
根因:
- 系统缺少 PyTorch 开发头文件(通常需要 的 C++ 前端)
- CMake 未能正确找到 PyTorch 的 include 路径
- 可能需要设置 或安装
排查方向
- 确认 PyTorch 安装方式:Requirement already satisfied: torch in /Users/gty/miniconda3/lib/python3.13/site-packages (2.8.0)
Requirement already satisfied: filelock in /Users/gty/miniconda3/lib/python3.13/site-packages (from torch) (3.18.0)
Requirement already satisfied: typing-extensions>=4.10.0 in /Users/gty/miniconda3/lib/python3.13/site-packages (from torch) (4.12.2)
Requirement already satisfied: setuptools in /Users/gty/miniconda3/lib/python3.13/site-packages (from torch) (78.1.1)
Requirement already satisfied: sympy>=1.13.3 in /Users/gty/miniconda3/lib/python3.13/site-packages (from torch) (1.14.0)
Requirement already satisfied: networkx in /Users/gty/miniconda3/lib/python3.13/site-packages (from torch) (3.5)
Requirement already satisfied: jinja2 in /Users/gty/miniconda3/lib/python3.13/site-packages (from torch) (3.1.6)
Requirement already satisfied: fsspec in /Users/gty/miniconda3/lib/python3.13/site-packages (from torch) (2025.7.0)
Requirement already satisfied: mpmath<1.4,>=1.1.0 in /Users/gty/miniconda3/lib/python3.13/site-packages (from sympy>=1.13.3->torch) (1.3.0)
Requirement already satisfied: MarkupSafe>=2.0 in /Users/gty/miniconda3/lib/python3.13/site-packages (from jinja2->torch) (3.0.2) 还是源码编译? - 检查 PyTorch 版本是否兼容(项目要求 torch 2.1+)
- 确认是否安装了 和
- 检查 或 中的 PyTorch 路径检测逻辑
优化建议
- 在 中添加 PyTorch 头文件路径自动检测
- 提供明确的错误提示,告知用户如何安装开发依赖
- 考虑使用 替代手动 CMake 配置
推荐责任人
@changetheway(报告者)
可能的解决方案
Requirement already satisfied: torch in /Users/gty/miniconda3/lib/python3.13/site-packages (2.8.0)
Collecting torch
Downloading torch-2.11.0-cp313-cp313-macosx_11_0_arm64.whl.metadata (29 kB)
Requirement already satisfied: filelock in /Users/gty/miniconda3/lib/python3.13/site-packages (from torch) (3.18.0)
Requirement already satisfied: typing-extensions>=4.10.0 in /Users/gty/miniconda3/lib/python3.13/site-packages (from torch) (4.12.2)
Requirement already satisfied: setuptools<82 in /Users/gty/miniconda3/lib/python3.13/site-packages (from torch) (78.1.1)
Requirement already satisfied: sympy>=1.13.3 in /Users/gty/miniconda3/lib/python3.13/site-packages (from torch) (1.14.0)
Requirement already satisfied: networkx>=2.5.1 in /Users/gty/miniconda3/lib/python3.13/site-packages (from torch) (3.5)
Requirement already satisfied: jinja2 in /Users/gty/miniconda3/lib/python3.13/site-packages (from torch) (3.1.6)
Requirement already satisfied: fsspec>=0.8.5 in /Users/gty/miniconda3/lib/python3.13/site-packages (from torch) (2025.7.0)
Requirement already satisfied: mpmath<1.4,>=1.1.0 in /Users/gty/miniconda3/lib/python3.13/site-packages (from sympy>=1.13.3->torch) (1.3.0)
Requirement already satisfied: MarkupSafe>=2.0 in /Users/gty/miniconda3/lib/python3.13/site-packages (from jinja2->torch) (3.0.2)
Downloading torch-2.11.0-cp313-cp313-macosx_11_0_arm64.whl (80.6 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 80.6/80.6 MB 9.6 MB/s eta 0:00:00
Installing collected packages: torch
Attempting uninstall: torch
Found existing installation: torch 2.8.0
Uninstalling torch-2.8.0:
Successfully uninstalled torch-2.8.0
Successfully installed torch-2.11.0


🤖 AI 评审跟进:
感谢您提供的详细根因分析!您的分析非常专业。
PR 关联确认:PR #239(修复 plugin 编译报错)已合并到 master/dev 分支,该 PR 使用 torch.__file__ 动态计算路径,理论上可以解决您描述的问题。
请确认更新到最新代码后问题是否已解决:
git pull origin master # 或 dev 分支
python3 setup.py bdist_wheel
如有其他编译问题,欢迎继续反馈!


🤖 【AI 自动分析】
感谢提交此 Bug 报告!我是 AI 助手,已将此 Issue 分类为 installation + bug 类型并添加 ai-triaged 标记。
🔍 根因分析
问题核心:编译时找不到 PyTorch C++ 扩展头文件 torch/library.h 和 ATen/Tensor.h。
根本原因:
- Torch 头文件未安装:使用
python setup.py bdist_wheel源码编译时,需要确保 PyTorch 开发头文件已安装 - Torch 版本不匹配:requirements.txt 中 torch 版本可能与 CANN 要求的版本不一致
报错文件分析:
csrc/plugin/block_sparse_attention.cppcsrc/plugin/la.cpp(Laser Attention)csrc/plugin/sparse_block_estimate.cpp
这些插件都依赖 PyTorch 的 C++ API 进行自定义算子注册。
🛠 排查方向
-
安装 PyTorch 开发依赖:
pip install torch --index-url https://download.pytorch.org/whl/cpu # 或者安装带编译头的版本 -
检查 CMake 配置:
- CMakeLists.txt 中的
find_package(Torch REQUIRED)应该能找到 torch - 确保
torch_DIR或TORCH_INSTALL_PREFIX环境变量设置正确
- CMakeLists.txt 中的
-
使用 Docker 环境(推荐):
docker pull ascend-mindie/mindie-sd:8.5.1官方提供的 Docker 镜像已包含所有编译依赖。
-
检查 CANN 版本:
- 当前使用 CANN 8.5,建议确认是否需要更新的 CANN 版本
💡 优化建议
- 文档增强:建议在
docs/zh/installing_guide.md中明确说明源码编译的前置依赖 - 自动化检查:添加
python setup.py develop --pre-check命令来验证编译环境 - 提供预编译 wheel:发布预编译的 wheel 包,避免用户本地编译
📎 关联 PR 分析
暂无直接关联的 PR。建议维护者确认:
- Issue #47(编译 mindiesd 缺少 libgraph_base.so)可能相关
- 近期 PR #247(PEP 517 build flow)可能涉及构建流程改进
⚠️ 注意:如需进一步帮助,请补充以下信息:
- 具体的 PyTorch 版本(
pip show torch)- 是否使用了 Docker 环境
- 完整的 CMake 输出日志
本分析由 AI 自动生成,如有问题请指正


🤖 【AI 自动回复】
感谢提交此 Bug 报告!
Bug 类型 Issue 深度分析
根因分析
根据您提供的错误信息,这是一个典型的 编译环境缺失头文件 问题:
fatal error: torch/library.h: No such file or directory
fatal error: ATen/Tensor.h: No such file or directory
根因定位:
torch/library.h和ATen/Tensor.h是 PyTorch C++ 扩展的头文件- 当前环境安装的是 pip wheel 版本 PyTorch,缺少 C++ 头文件
- 源码编译需要 PyTorch 从源码构建 的环境
排查方向
-
确认当前 PyTorch 安装类型:
python -c "import torch; print(torch.__file__)"如果路径指向
site-packages/torch,说明安装的是 wheel 版本 -
解决方案:
- 方案一:从源码编译安装 PyTorch
git clone --recursive https://github.com/pytorch/pytorch cd pytorch git checkout tags/v2.x.x # 选择与您 torch_npu 兼容的版本 pip install -r requirements.txt python setup.py install - 方案二:使用官方提供的 开发镜像
参考docker/Dockerfile_910b_aarch64.ubuntu中预配置的环境
- 方案一:从源码编译安装 PyTorch
-
版本兼容性检查:
确保 torch、torch_npu、CANN 版本匹配:- CANN 8.5
- torch 2.8.x (建议与 torch_npu 版本一致)
- torch_npu 2.8.x
优化建议
- 文档增强:明确标注源码编译的前置依赖
- 环境检查脚本:提供自动检测 torch 是否为源码构建的工具
- 预编译 wheel:考虑提供预编译版本,减少用户编译成本
已收到您的报告。请确认您的 PyTorch 安装方式,这将有助于我们提供更精确的解决方案。


您好!我是 AI 评审助手。
感谢您提交的 Bug 报告,本 Issue 已标记为 bug 和 ai-triaged。
深度分析:
根因定位:
源码编译时找不到 torch/library.h,这是 PyTorch C++ 扩展的头文件。该问题通常由以下原因导致:
- torch C++ 开发组件未安装:需要安装
torch的 development package - PYTORCH_INCLUDE_PATH 未设置:CMake 无法定位 PyTorch 头文件
- 环境隔离问题:使用
python3 setup.py时可能未找到正确的 Python 环境
排查方向:
- 确认 torch 安装来源和路径
- 检查
TORCH_CUDA_ARCH_LIST等环境变量 - 验证 Python、torch、torch_npu 版本兼容性
解决方案:
# 1. 确保安装 torch 的 development 文件
pip install torch --index-url https://download.pytorch.org/whl/cpu
# 2. 或使用仓库推荐的 Dockerfile 环境进行构建
docker build -f docker/Dockerfile_910b_aarch64.ubuntu -t mindiesd-build .
# 3. 检查 torch 路径
python -c "import torch; print(torch.__path__)"
根本建议:
建议使用仓库提供的 Docker 构建环境,可确保所有依赖正确配置。
感谢您的报告!


🤖 AI 评审
感谢提交此安装问题报告!
问题分类: Bug / Installation
初步分析:
错误表明编译时找不到 torch/library.h 和 ATen/Tensor.h 头文件。
根因分析:
- 环境缺少 PyTorch 开发头文件
- 可能未正确设置 CPLUS_INCLUDE_PATH 和 C_INCLUDE_PATH
- torch 安装不完整或使用了预编译版本
排查方向:
- 确保已安装 PyTorch 开发版本(非 pip wheel 版本)
- 设置环境变量指向正确的 include 路径
- 参考 docker/Dockerfile_910b_aarch64.ubuntu 中的构建环境配置
关联分析:
发现 PR #247 (Adopt PEP 517 build flow and refresh UT coverage) 可能与改善构建流程相关。
该 PR 状态:merged,目标分支:dev
此评论由 AI 自动生成


🤖 【AI自动分析】
感谢提交此问题!
分类标签: 已有 installation, bug, triage-review 标签
🔍 深度分析
问题描述
源码编译报错:torch/library.h: No such file or directory
根因分析
直接原因: torch 2.8.0 版本移除了 torch/library.h 头文件,此文件在旧版本 torch 中用于定义自定义算子。
影响范围:
- CANN 8.5 + Torch 2.8.0 组合
- 涉及
aclop到aclnn迁移过程中的兼容性
排查方向
- 确认 torch 版本: 检查是否可以从 2.8.0 回退到 2.1.x 或 2.2.x
- 使用兼容版本: MindIE-SD 当前主要支持 torch 2.1.x
- 环境变量: 确认 CANN 和 torch-npu 版本兼容性
优化建议
- 在文档中明确支持的 torch 版本范围
- 添加版本兼容性检查脚本
- 考虑支持 torch 2.8.0 的新 API
本评论由 AI 自动生成。


您好,感谢您提交此编译问题。根因已定位为 CMake 路径查找导致 torch 头文件无法找到,已通过 PR #239 修复并合入主线。请更新到最新代码后重新编译验证。Issue 先行关闭,如仍有问题请随时重新打开或提交新 Issue,感谢您的贡献!


在提交新问题之前,请确保您已经在社区中搜索过相关问题,并使用了社区中提供的资源/工具后,仍未找到满意的解决方式。
环境信息
您是如何安装操作的
git clone https://gitcode.com/Ascend/MindIE-SD.git
cd MindIE-SD/
python3 setup.py bdist_wheel
报错:
/home/codes/MindIE-SD/csrc/plugin/block_sparse_attention.cpp:13:10: fatal error: torch/library.h: No such file or directory
13 | #include <torch/library.h>
| ^~~~~~~~~~~~~~~~~
/home/codes/MindIE-SD/csrc/plugin/register_ops.cpp:13:10: fatal error: torch/library.h: No such file or directory
13 | #include <torch/library.h>
| ^~~~~~~~~~~~~~~~~
/home/codes/MindIE-SD/csrc/plugin/la.cpp:13:10: fatal error: torch/library.h: No such file or directory
13 | #include <torch/library.h>
| ^~~~~~~~~~~~~~~~~
/home/codes/MindIE-SD/csrc/plugin/sparse_block_estimate.cpp:13:10: fatal error: torch/library.h: No such file or directory
13 | #include <torch/library.h>
| ^~~~~~~~~~~~~~~~~
compilation terminated.
compilation terminated.
compilation terminated.
compilation terminated.
/home/codes/MindIE-SD/csrc/plugin/find_op_path.cpp:15:10: fatal error: ATen/Tensor.h: No such file or directory
15 | #include <ATen/Tensor.h>
| ^~~~~~~~~~~~~~~
compilation terminated.
gmake[2]: *** [CMakeFiles/PTAExtensionOPS.dir/build.make:76: CMakeFiles/PTAExtensionOPS.dir/plugin/register_ops.cpp.o] Error 1
gmake[2]: *** Waiting for unfinished jobs....
gmake[2]: *** [CMakeFiles/PTAExtensionOPS.dir/build.make:90: CMakeFiles/PTAExtensionOPS.dir/plugin/la.cpp.o] Error 1
gmake[2]: *** [CMakeFiles/PTAExtensionOPS.dir/build.make:160: CMakeFiles/PTAExtensionOPS.dir/plugin/block_sparse_attention.cpp.o] Error 1
gmake[2]: *** [CMakeFiles/PTAExtensionOPS.dir/build.make:118: CMakeFiles/PTAExtensionOPS.dir/plugin/find_op_path.cpp.o] Error 1
/home/codes/MindIE-SD/csrc/plugin/la_preprocess.cpp:13:10: fatal error: torch/library.h: No such file or directory
13 | #include <torch/library.h>
| ^~~~~~~~~~~~~~~~~
compilation terminated.
gmake[2]: *** [CMakeFiles/PTAExtensionOPS.dir/build.make:174: CMakeFiles/PTAExtensionOPS.dir/plugin/sparse_block_estimate.cpp.o] Error 1
gmake[2]: *** [CMakeFiles/PTAExtensionOPS.dir/build.make:132: CMakeFiles/PTAExtensionOPS.dir/plugin/la_preprocess.cpp.o] Error 1
/home/codes/MindIE-SD/csrc/plugin/adalayernorm.cpp:15:10: fatal error: torch/library.h: No such file or directory
15 | #include <torch/library.h>
| ^~~~~~~~~~~~~~~~~
compilation terminated.
/home/codes/MindIE-SD/csrc/plugin/rainfusionattention.cpp:14:10: fatal error: torch/library.h: No such file or directory
14 | #include <torch/library.h>
| ^~~~~~~~~~~~~~~~~
/home/codes/MindIE-SD/csrc/plugin/layernorm.cpp:15:10: fatal error: torch/library.h: No such file or directory
15 | #include <torch/library.h>
| ^~~~~~~~~~~~~~~~~
compilation terminated.
compilation terminated.
gmake[2]: *** [CMakeFiles/PTAExtensionOPS.dir/build.make:146: CMakeFiles/PTAExtensionOPS.dir/plugin/rainfusionattention.cpp.o] Error 1
gmake[2]: *** [CMakeFiles/PTAExtensionOPS.dir/build.make:188: CMakeFiles/PTAExtensionOPS.dir/plugin/layernorm.cpp.o] Error 1
gmake[2]: *** [CMakeFiles/PTAExtensionOPS.dir/build.make:104: CMakeFiles/PTAExtensionOPS.dir/plugin/adalayernorm.cpp.o] Error 1
gmake[1]: *** [CMakeFiles/Makefile2:83: CMakeFiles/PTAExtensionOPS.dir/all] Error 2
gmake: *** [Makefile:91: all] Error 2
ERROR:root:Build script failed with return code 2
ERROR:root:Build script output: None
Traceback (most recent call last):
File "/home/codes/MindIE-SD/setup.py", line 78, in run
subprocess.check_call(
File "/usr/local/lib/python3.11/subprocess.py", line 413, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['bash', './build.sh']' returned non-zero exit status 2.
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/home/codes/MindIE-SD/setup.py", line 109, in
setup(
File "/usr/local/lib/python3.11/site-packages/setuptools/init.py", line 87, in setup
return distutils.core.setup(**attrs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/setuptools/_distutils/core.py", line 185, in setup
return run_commands(dist)
^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/setuptools/_distutils/core.py", line 201, in run_commands
dist.run_commands()
File "/usr/local/lib/python3.11/site-packages/setuptools/_distutils/dist.py", line 968, in run_commands
self.run_command(cmd)
File "/usr/local/lib/python3.11/site-packages/setuptools/dist.py", line 1217, in run_command
super().run_command(command)
File "/usr/local/lib/python3.11/site-packages/setuptools/_distutils/dist.py", line 987, in run_command
cmd_obj.run()
File "/usr/local/lib/python3.11/site-packages/wheel/_bdist_wheel.py", line 378, in run
self.run_command("build")
File "/usr/local/lib/python3.11/site-packages/setuptools/_distutils/cmd.py", line 319, in run_command
self.distribution.run_command(command)
File "/usr/local/lib/python3.11/site-packages/setuptools/dist.py", line 1217, in run_command
super().run_command(command)
File "/usr/local/lib/python3.11/site-packages/setuptools/_distutils/dist.py", line 987, in run_command
cmd_obj.run()
File "/usr/local/lib/python3.11/site-packages/setuptools/_distutils/command/build.py", line 132, in run
self.run_command(cmd_name)
File "/usr/local/lib/python3.11/site-packages/setuptools/_distutils/cmd.py", line 319, in run_command
self.distribution.run_command(command)
File "/usr/local/lib/python3.11/site-packages/setuptools/dist.py", line 1217, in run_command
super().run_command(command)
File "/usr/local/lib/python3.11/site-packages/setuptools/_distutils/dist.py", line 987, in run_command
cmd_obj.run()
File "/home/codes/MindIE-SD/setup.py", line 86, in run
raise RuntimeError(f"Build script execution failed with return code {e.returncode}") from e
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
RuntimeError: Build script execution failed with return code 2
欢迎加入社区,感谢您对社区的贡献 🎉!