You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

从源码构建PyTorch失败:CMake报错无法运行编译器生成的程序

Jetson平台源码构建PyTorch时CMake编译检测失败的解决方案

环境信息

  • Jetson:Jetson 5.0.2 GA
  • 操作系统:Ubuntu 20.04.4 LTS focal
  • CMake版本:3.16.3(随ROS Noetic一同安装)
  • GCC版本:(Ubuntu 9.4.0-1ubuntu1~20.04.1) 9.4.0

问题重现

按照NVIDIA开发者论坛教程从源码构建PyTorch,执行python3 setup.py bdist_wheel时触发CMake配置错误,核心报错片段:

Performing Test COMPILER_WORKS - Failed
CMake Error at cmake/MiscCheck.cmake:34 (message):
Could not run a simple program built with your compiler. If you are trying
to use -fsanitize=address, make sure libasan is properly installed on your
system (you can confirm if the problem is this by attempting to build and
run a small program.)

已安装libasan5,且能正常构建并运行简单CMake程序。

解决方案

1. 排除ROS路径依赖冲突

从CMake命令参数可见,CMAKE_PREFIX_PATH包含ROS Noetic相关路径,ROS自带的依赖可能干扰PyTorch构建。临时重置该路径:

export CMAKE_PREFIX_PATH="/usr/lib/python3.8/site-packages"

之后重新执行构建命令。

2. 强制指定系统编译器并禁用地址 sanitizer

设置环境变量锁定系统默认GCC/G++,避免ROS编译器覆盖;同时禁用地址 sanitizer(Jetson平台对其兼容性有限):

export CC=/usr/bin/gcc-9
export CXX=/usr/bin/g++-9
export TORCH_CXX_FLAGS="-fno-sanitize=address"

3. 升级CMake版本

CMake 3.16.3版本过旧,PyTorch 1.12.0建议使用3.18及以上版本。手动安装兼容Ubuntu 20.04的新版本:

wget https://github.com/Kitware/CMake/releases/download/v3.22.1/cmake-3.22.1-linux-aarch64.sh
chmod +x cmake-3.22.1-linux-aarch64.sh
sudo ./cmake-3.22.1-linux-aarch64.sh --prefix=/usr/local --exclude-subdir

安装后验证版本:cmake --version

4. 清理缓存后重新构建

删除PyTorch目录下的构建缓存文件,确保干净构建:

rm -rf build/ dist/ torch.egg-info/
python3 setup.py clean

再执行python3 setup.py bdist_wheel

内容的提问来源于stack exchange,提问作者MsLate

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.22 13:50:18