问题:
/home/heima/mujoco-py/mujoco_py/cymj.c: In function ‘__pyx_pw_9mujoco_py_4cymj_8PyMjData_3get_body_xpos’:
/home/heima/mujoco-py/mujoco_py/cymj.c:52172:18: internal compiler error: Segmentation fault
static PyObject *__pyx_pw_9mujoco_py_4cymj_8PyMjData_3get_body_xpos(PyObject *__pyx_v_self, PyObject *__pyx_v_name) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Please submit a full bug report,
with preprocessed source if appropriate.
See <file:///usr/share/doc/gcc-7/README.Bugs> for instructions.
Traceback (most recent call last):
File “/home/heima/anaconda3/envs/gymlab/lib/python3.7/site-packages/setuptools/_distutils/unixccompiler.py”, line 186, in _compile
self.spawn(compiler_so + cc_args + [src, ‘-o’, obj] + extra_postargs)
File “/home/heima/anaconda3/envs/gymlab/lib/python3.7/site-packages/setuptools/_distutils/ccompiler.py”, line 1007, in spawn
spawn(cmd, dry_run=self.dry_run, **kwargs)
File “/home/heima/anaconda3/envs/gymlab/lib/python3.7/site-packages/setuptools/_distutils/spawn.py”, line 71, in spawn
“command {!r} failed with exit code {}”.format(cmd, exitcode)
distutils.errors.DistutilsExecError: command ‘/usr/bin/gcc’ failed with exit code 1
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File “”, line 1, in
File “/home/heima/mujoco-py/mujoco_py/init.py”, line 3, in
from mujoco_py.builder import cymj, ignore_mujoco_warnings, functions, MujocoException
File “/home/heima/mujoco-py/mujoco_py/builder.py”, line 507, in
cymj = load_cython_ext(mujoco_path)
File “/home/heima/mujoco-py/mujoco_py/builder.py”, line 105, in load_cython_ext
cext_so_path = builder.build()
File “/home/heima/mujoco-py/mujoco_py/builder.py”, line 220, in build
built_so_file_path = self._build_impl()
File “/home/heima/mujoco-py/mujoco_py/builder.py”, line 272, in _build_impl
so_file_path = super()._build_impl()
File “/home/heima/mujoco-py/mujoco_py/builder.py”, line 243, in _build_impl
dist.run_commands()
File “/home/heima/anaconda3/envs/gymlab/lib/python3.7/site-packages/setuptools/_distutils/dist.py”, line 969, in run_commands
self.run_command(cmd)
File “/home/heima/anaconda3/envs/gymlab/lib/python3.7/site-packages/setuptools/dist.py”, line 1208, in run_command
super().run_command(command)
File “/home/heima/anaconda3/envs/gymlab/lib/python3.7/site-packages/setuptools/_distutils/dist.py”, line 988, in run_command
cmd_obj.run()
File “/home/heima/anaconda3/envs/gymlab/lib/python3.7/site-packages/Cython/Distutils/old_build_ext.py”, line 186, in run
_build_ext.build_ext.run(self)
File “/home/heima/anaconda3/envs/gymlab/lib/python3.7/site-packages/setuptools/_distutils/command/build_ext.py”, line 346, in run
self.build_extensions()
File “/home/heima/mujoco-py/mujoco_py/builder.py”, line 143, in build_extensions
build_ext.build_extensions(self)
File “/home/heima/anaconda3/envs/gymlab/lib/python3.7/site-packages/Cython/Distutils/old_build_ext.py”, line 195, in build_extensions
_build_ext.build_ext.build_extensions(self)
File “/home/heima/anaconda3/envs/gymlab/lib/python3.7/site-packages/setuptools/_distutils/command/build_ext.py”, line 468, in build_extensions
self._build_extensions_serial()
File “/home/heima/anaconda3/envs/gymlab/lib/python3.7/site-packages/setuptools/_distutils/command/build_ext.py”, line 494, in _build_extensions_serial
self.build_extension(ext)
File “/home/heima/anaconda3/envs/gymlab/lib/python3.7/site-packages/setuptools/_distutils/command/build_ext.py”, line 556, in build_extension
depends=ext.depends,
File “/home/heima/anaconda3/envs/gymlab/lib/python3.7/site-packages/setuptools/_distutils/ccompiler.py”, line 599, in compile
self._compile(obj, src, ext, cc_args, extra_postargs, pp_opts)
File “/home/heima/anaconda3/envs/gymlab/lib/python3.7/site-packages/setuptools/_distutils/unixccompiler.py”, line 188, in _compile
raise CompileError(msg)
distutils.errors.CompileError: command ‘/usr/bin/gcc’ failed with exit code 1
问题原因:
本人用的是ubuntu18.04安装的Mujoco_py.进去测试阶段import mujoco_py出错。主要问题是ubuntu18.04的默认gcc是7版本的,要把gcc升级到9版本以上。
操作步骤:
bash执行添加PPA源:
add-apt-repository ppa:ubuntu-toolchain-r/test
更新软件源:
sudo apt update
安装新版本gcc9
sudo apt-get install gcc-9
cd /usr/bin/
sudo rm gcc
sudo ln -s gcc-9 gcc
升级gcc参考链接: link