【isaacgym报错】安装isaacgym运行报错RuntimeError: Error building extension ‘gymtorch‘
【isaacgym报错】安装isaacgym运行报错RuntimeError: Error building extension 'gymtorch'
- 环境配置
- 报错场景
- 报错信息
- 解决方法
环境配置
- CUDA 12.1
- Python 3.8
- torch 2.4.1
报错场景
- 安装完isaacgym、rsl_rl、legged_gym,也就是下图中的步骤均已完成后,在执行训练任务时报错RuntimeError: Error building extension ‘gymtorch’
报错信息
(isaacgym) root@autodl-container-10e447810d-d1eb94d0:~/autodl-tmp/ys/parkour/legged_gym# python legged_gym/scripts/train.py --headless --task go2
Importing module ‘gym_38’ (/root/autodl-tmp/ys/ys_file/isaacgym/python/isaacgym/_bindings/linux-x86_64/gym_38.so)
Setting GYM_USD_PLUG_INFO_PATH to /root/autodl-tmp/ys/ys_file/isaacgym/python/isaacgym/_bindings/linux-x86_64/usd/plugInfo.json
PyTorch version 2.4.1+cu121
Device count 4
/root/autodl-tmp/ys/ys_file/isaacgym/python/isaacgym/_bindings/src/gymtorch
Using /root/.cache/torch_extensions/py38_cu121 as PyTorch extensions root…
Emitting ninja build file /root/.cache/torch_extensions/py38_cu121/gymtorch/build.ninja…
Building extension module gymtorch…
Allowing ninja to set a default number of workers… (overridable by setting the environment variable MAX_JOBS=N)
[1/2] c++ -MMD -MF gymtorch.o.d -DTORCH_EXTENSION_NAME=gymtorch -DTORCH_API_INCLUDE_EXTENSION_H -DPYBIND11_COMPILER_TYPE=“_gcc” -DPYBIND11_STDLIB=“_libstdcpp” -DPYBIND11_BUILD_ABI=“_cxxabi1011” -isystem /root/autodl-tmp/miniconda3/envs/isaacgym/lib/python3.8/site-packages/torch/include -isystem /root/autodl-tmp/miniconda3/envs/isaacgym/lib/python3.8/site-packages/torch/include/torch/csrc/api/include -isystem /root/autodl-tmp/miniconda3/envs/isaacgym/lib/python3.8/site-packages/torch/include/TH -isystem /root/autodl-tmp/miniconda3/envs/isaacgym/lib/python3.8/site-packages/torch/include/THC -isystem /root/autodl-tmp/miniconda3/envs/isaacgym/include/python3.8 -D_GLIBCXX_USE_CXX11_ABI=0 -fPIC -std=c++17 -DTORCH_MAJOR=2 -DTORCH_MINOR=4 -c /root/autodl-tmp/ys/ys_file/isaacgym/python/isaacgym/_bindings/src/gymtorch/gymtorch.cpp -o gymtorch.o
FAILED: gymtorch.o
c++ -MMD -MF gymtorch.o.d -DTORCH_EXTENSION_NAME=gymtorch -DTORCH_API_INCLUDE_EXTENSION_H -DPYBIND11_COMPILER_TYPE=“_gcc” -DPYBIND11_STDLIB=“_libstdcpp” -DPYBIND11_BUILD_ABI=“_cxxabi1011” -isystem /root/autodl-tmp/miniconda3/envs/isaacgym/lib/python3.8/site-packages/torch/include -isystem /root/autodl-tmp/miniconda3/envs/isaacgym/lib/python3.8/site-packages/torch/include/torch/csrc/api/include -isystem /root/autodl-tmp/miniconda3/envs/isaacgym/lib/python3.8/site-packages/torch/include/TH -isystem /root/autodl-tmp/miniconda3/envs/isaacgym/lib/python3.8/site-packages/torch/include/THC -isystem /root/autodl-tmp/miniconda3/envs/isaacgym/include/python3.8 -D_GLIBCXX_USE_CXX11_ABI=0 -fPIC -std=c++17 -DTORCH_MAJOR=2 -DTORCH_MINOR=4 -c /root/autodl-tmp/ys/ys_file/isaacgym/python/isaacgym/_bindings/src/gymtorch/gymtorch.cpp -o gymtorch.o
In file included from /root/autodl-tmp/miniconda3/envs/isaacgym/lib/python3.8/site-packages/torch/include/ATen/core/TensorBase.h:14:0,
from /root/autodl-tmp/miniconda3/envs/isaacgym/lib/python3.8/site-packages/torch/include/ATen/core/TensorBody.h:38,
from /root/autodl-tmp/miniconda3/envs/isaacgym/lib/python3.8/site-packages/torch/include/ATen/core/Tensor.h:3,
from /root/autodl-tmp/miniconda3/envs/isaacgym/lib/python3.8/site-packages/torch/include/ATen/Tensor.h:3,
from /root/autodl-tmp/miniconda3/envs/isaacgym/lib/python3.8/site-packages/torch/include/torch/csrc/autograd/function_hook.h:3,
from /root/autodl-tmp/miniconda3/envs/isaacgym/lib/python3.8/site-packages/torch/include/torch/csrc/autograd/cpp_hook.h:2,
from /root/autodl-tmp/miniconda3/envs/isaacgym/lib/python3.8/site-packages/torch/include/torch/csrc/autograd/variable.h:6,
from /root/autodl-tmp/miniconda3/envs/isaacgym/lib/python3.8/site-packages/torch/include/torch/csrc/autograd/autograd.h:3,
from /root/autodl-tmp/miniconda3/envs/isaacgym/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/autograd.h:3,
from /root/autodl-tmp/miniconda3/envs/isaacgym/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/all.h:7,
from /root/autodl-tmp/miniconda3/envs/isaacgym/lib/python3.8/site-packages/torch/include/torch/extension.h:5,
from /root/autodl-tmp/ys/ys_file/isaacgym/python/isaacgym/_bindings/src/gymtorch/gymtorch.cpp:17:
/root/autodl-tmp/miniconda3/envs/isaacgym/lib/python3.8/site-packages/torch/include/c10/util/C++17.h:13:2: error: #error “You’re trying to build PyTorch with a too old version of GCC. We need GCC 9 or later.”
#error
^~~~~
ninja: build stopped: subcommand failed.
Traceback (most recent call last):
File “/root/autodl-tmp/miniconda3/envs/isaacgym/lib/python3.8/site-packages/torch/utils/cpp_extension.py”, line 2105, in _run_ninja_build
subprocess.run(
File “/root/autodl-tmp/miniconda3/envs/isaacgym/lib/python3.8/subprocess.py”, line 516, in run
raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command ‘[‘ninja’, ‘-v’]’ returned non-zero exit status 1.
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File “legged_gym/scripts/train.py”, line 37, in
from legged_gym.envs import *
File “/root/autodl-tmp/ys/parkour/legged_gym/legged_gym/envs/init.py”, line 33, in
from .base.legged_robot import LeggedRobot
File “/root/autodl-tmp/ys/parkour/legged_gym/legged_gym/envs/base/legged_robot.py”, line 38, in
from isaacgym import gymtorch, gymapi, gymutil
File “/root/autodl-tmp/ys/ys_file/isaacgym/python/isaacgym/gymtorch.py”, line 109, in
_import_gymtorch()
File “/root/autodl-tmp/ys/ys_file/isaacgym/python/isaacgym/gymtorch.py”, line 45, in _import_gymtorch
gt = torch.utils.cpp_extension.load(name=“gymtorch”, sources=sources, extra_cflags=cflags, verbose=True)
File “/root/autodl-tmp/miniconda3/envs/isaacgym/lib/python3.8/site-packages/torch/utils/cpp_extension.py”, line 1312, in load
return _jit_compile(
File “/root/autodl-tmp/miniconda3/envs/isaacgym/lib/python3.8/site-packages/torch/utils/cpp_extension.py”, line 1722, in _jit_compile
_write_ninja_file_and_build_library(
File “/root/autodl-tmp/miniconda3/envs/isaacgym/lib/python3.8/site-packages/torch/utils/cpp_extension.py”, line 1834, in _write_ninja_file_and_build_library
_run_ninja_build(
File “/root/autodl-tmp/miniconda3/envs/isaacgym/lib/python3.8/site-packages/torch/utils/cpp_extension.py”, line 2121, in _run_ninja_build
raise RuntimeError(message) from e
RuntimeError: Error building extension ‘gymtorch’
- 报错中提到error: #error “You’re trying to build PyTorch with a too old version of GCC. We need GCC 9 or later.”
- 但查看gcc版本之后也是符合要求的 很奇怪
解决方法
-
在这个博主看到关于error: #error “You’re trying to build PyTorch with a too old version of GCC. We need GCC 9 or later.”解决方案
-
使用命令
conda install gxx_linux-64
-
如果安装之后还是报这个错误,可以试一下卸载pytorch和nvidia相关的所有包,再重新安装即可
-
猜测这个错误比较底层 可能和cuda、torch、gcc编译都有关系,卸载重新安装之后应该就没问题啦
-
祝大家安装顺利 没有bug~