openai / mujoco-py

MuJoCo is a physics engine for detailed, efficient rigid body simulations with contacts. mujoco-py allows using MuJoCo from Python 3.
Other
2.81k stars 810 forks source link

Building fails on Ubuntu 16.04 with Python 3.7.13 and gcc 9.4.0: Unrecognized command line option: '-R' #723

Closed lk1983823 closed 2 years ago

lk1983823 commented 2 years ago

Describe the bug I have successfully installed mujoco210 and run it independently with "./simulate ../model/humanoid.xml" However, after I pip installed 2.1.2.14 and import mujoco_py, it shows the error as follows:

running build_ext
gcc -pthread -B /home/lksgcc/.pyenv/versions/anaconda3-5.0.1/envs/rlai/compiler_compat -Wl,--sysroot=/ -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fPIC -I.pyenv/versions/anaconda3-5.0.1/envs/rlai/lib/python3.7/site-packages/mujoco_py -I/home/lksgcc/.pyenv/versions/anaconda3-5.0.1/envs/rlai/lib/python3.7/site-packages/mujoco_py -I/home/lksgcc/.mujoco/mujoco210/include -I/home/lksgcc/.pyenv/versions/anaconda3-5.0.1/envs/rlai/lib/python3.7/site-packages/numpy/core/include -I/home/lksgcc/.pyenv/versions/anaconda3-5.0.1/envs/rlai/lib/python3.7/site-packages/mujoco_py/vendor/egl -I/home/lksgcc/.pyenv/versions/anaconda3-5.0.1/envs/rlai/include/python3.7m -c /home/lksgcc/.pyenv/versions/anaconda3-5.0.1/envs/rlai/lib/python3.7/site-packages/mujoco_py/cymj.c -o /home/lksgcc/.pyenv/versions/anaconda3-5.0.1/envs/rlai/lib/python3.7/site-packages/mujoco_py/generated/_pyxbld_2.1.2.14_37_linuxgpuextensionbuilder/temp.linux-x86_64-3.7/home/lksgcc/.pyenv/versions/anaconda3-5.0.1/envs/rlai/lib/python3.7/site-packages/mujoco_py/cymj.o -fopenmp -w
gcc -pthread -B /home/lksgcc/.pyenv/versions/anaconda3-5.0.1/envs/rlai/compiler_compat -Wl,--sysroot=/ -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fPIC -I.pyenv/versions/anaconda3-5.0.1/envs/rlai/lib/python3.7/site-packages/mujoco_py -I/home/lksgcc/.pyenv/versions/anaconda3-5.0.1/envs/rlai/lib/python3.7/site-packages/mujoco_py -I/home/lksgcc/.mujoco/mujoco210/include -I/home/lksgcc/.pyenv/versions/anaconda3-5.0.1/envs/rlai/lib/python3.7/site-packages/numpy/core/include -I/home/lksgcc/.pyenv/versions/anaconda3-5.0.1/envs/rlai/lib/python3.7/site-packages/mujoco_py/vendor/egl -I/home/lksgcc/.pyenv/versions/anaconda3-5.0.1/envs/rlai/include/python3.7m -c /home/lksgcc/.pyenv/versions/anaconda3-5.0.1/envs/rlai/lib/python3.7/site-packages/mujoco_py/gl/eglshim.c -o /home/lksgcc/.pyenv/versions/anaconda3-5.0.1/envs/rlai/lib/python3.7/site-packages/mujoco_py/generated/_pyxbld_2.1.2.14_37_linuxgpuextensionbuilder/temp.linux-x86_64-3.7/home/lksgcc/.pyenv/versions/anaconda3-5.0.1/envs/rlai/lib/python3.7/site-packages/mujoco_py/gl/eglshim.o -fopenmp -w
gcc -pthread -shared -B /home/lksgcc/.pyenv/versions/anaconda3-5.0.1/envs/rlai/compiler_compat -L/home/lksgcc/.pyenv/versions/anaconda3-5.0.1/envs/rlai/lib -Wl,-rpath=/home/lksgcc/.pyenv/versions/anaconda3-5.0.1/envs/rlai/lib -Wl,--no-as-needed -Wl,--sysroot=/ /home/lksgcc/.pyenv/versions/anaconda3-5.0.1/envs/rlai/lib/python3.7/site-packages/mujoco_py/generated/_pyxbld_2.1.2.14_37_linuxgpuextensionbuilder/temp.linux-x86_64-3.7/home/lksgcc/.pyenv/versions/anaconda3-5.0.1/envs/rlai/lib/python3.7/site-packages/mujoco_py/cymj.o /home/lksgcc/.pyenv/versions/anaconda3-5.0.1/envs/rlai/lib/python3.7/site-packages/mujoco_py/generated/_pyxbld_2.1.2.14_37_linuxgpuextensionbuilder/temp.linux-x86_64-3.7/home/lksgcc/.pyenv/versions/anaconda3-5.0.1/envs/rlai/lib/python3.7/site-packages/mujoco_py/gl/eglshim.o -L/home/lksgcc/.mujoco/mujoco210/bin -R/home/lksgcc/.mujoco/mujoco210/bin -lmujoco210 -lglewegl -o /home/lksgcc/.pyenv/versions/anaconda3-5.0.1/envs/rlai/lib/python3.7/site-packages/mujoco_py/generated/_pyxbld_2.1.2.14_37_linuxgpuextensionbuilder/lib.linux-x86_64-3.7/mujoco_py/cymj.cpython-37m-x86_64-linux-gnu.so -fopenmp
gcc: error: unrecognized command line option ‘-R’
Traceback (most recent call last):
  File "/home/lksgcc/.local/lib/python3.7/site-packages/setuptools/_distutils/unixccompiler.py", line 204, in link
    self.spawn(linker + ld_args)
  File "/home/lksgcc/.local/lib/python3.7/site-packages/setuptools/_distutils/ccompiler.py", line 910, in spawn
    spawn(cmd, dry_run=self.dry_run, **kwargs)
  File "/home/lksgcc/.local/lib/python3.7/site-packages/setuptools/_distutils/spawn.py", line 88, in spawn
    "command %r failed with exit code %s" % (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 "<stdin>", line 1, in <module>
  File "/home/lksgcc/.pyenv/versions/anaconda3-5.0.1/envs/rlai/lib/python3.7/site-packages/mujoco_py/__init__.py", line 2, in <module>
    from mujoco_py.builder import cymj, ignore_mujoco_warnings, functions, MujocoException
  File "/home/lksgcc/.pyenv/versions/anaconda3-5.0.1/envs/rlai/lib/python3.7/site-packages/mujoco_py/builder.py", line 504, in <module>
    cymj = load_cython_ext(mujoco_path)
  File "/home/lksgcc/.pyenv/versions/anaconda3-5.0.1/envs/rlai/lib/python3.7/site-packages/mujoco_py/builder.py", line 110, in load_cython_ext
    cext_so_path = builder.build()
  File "/home/lksgcc/.pyenv/versions/anaconda3-5.0.1/envs/rlai/lib/python3.7/site-packages/mujoco_py/builder.py", line 226, in build
    built_so_file_path = self._build_impl()
  File "/home/lksgcc/.pyenv/versions/anaconda3-5.0.1/envs/rlai/lib/python3.7/site-packages/mujoco_py/builder.py", line 296, in _build_impl
    so_file_path = super()._build_impl()
  File "/home/lksgcc/.pyenv/versions/anaconda3-5.0.1/envs/rlai/lib/python3.7/site-packages/mujoco_py/builder.py", line 249, in _build_impl
    dist.run_commands()
  File "/home/lksgcc/.local/lib/python3.7/site-packages/setuptools/_distutils/dist.py", line 967, in run_commands
    self.run_command(cmd)
  File "/home/lksgcc/.local/lib/python3.7/site-packages/setuptools/_distutils/dist.py", line 986, in run_command
    cmd_obj.run()
  File "/home/lksgcc/.pyenv/versions/anaconda3-5.0.1/envs/rlai/lib/python3.7/site-packages/Cython/Distutils/old_build_ext.py", line 186, in run
    _build_ext.build_ext.run(self)
  File "/home/lksgcc/.local/lib/python3.7/site-packages/setuptools/_distutils/command/build_ext.py", line 341, in run
    self.build_extensions()
  File "/home/lksgcc/.pyenv/versions/anaconda3-5.0.1/envs/rlai/lib/python3.7/site-packages/mujoco_py/builder.py", line 149, in build_extensions
    build_ext.build_extensions(self)
  File "/home/lksgcc/.pyenv/versions/anaconda3-5.0.1/envs/rlai/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/lksgcc/.local/lib/python3.7/site-packages/setuptools/_distutils/command/build_ext.py", line 450, in build_extensions
    self._build_extensions_serial()
  File "/home/lksgcc/.local/lib/python3.7/site-packages/setuptools/_distutils/command/build_ext.py", line 475, in _build_extensions_serial
    self.build_extension(ext)
  File "/home/lksgcc/.local/lib/python3.7/site-packages/setuptools/_distutils/command/build_ext.py", line 561, in build_extension
    target_lang=language)
  File "/home/lksgcc/.local/lib/python3.7/site-packages/setuptools/_distutils/ccompiler.py", line 717, in link_shared_object
    extra_preargs, extra_postargs, build_temp, target_lang)
  File "/home/lksgcc/.local/lib/python3.7/site-packages/setuptools/_distutils/unixccompiler.py", line 206, in link
    raise LinkError(msg)
distutils.errors.LinkError: command '/usr/bin/gcc' failed with exit code 1

My gcc version is 9.4.0, and clang version is 3.8.0.

Desktop (please complete the following information):

Environment export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$HOME/.mujoco/mujoco210/bin export MUJOCO_KEY_PATH=~/.mujoco${MUJOCO_KEY_PATH} export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/nvidia

Thanks!