GLIBCXX_3.4.29未找到。

4
我试图在我的Linux笔记本电脑上安装MuJoCo,一切都正常,直到我尝试将它导入Python文件时出现问题。当我尝试导入或运行已包含MuJoCo的Python脚本时,会出现以下错误:
Import error. Trying to rebuild mujoco_py.

running build_ext

building 'mujoco_py.cymj' extension

gcc -pthread -B /home/daniel/miniconda3/envs/mujoco_py/compiler_compat -Wl,--sysroot=/ -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fPIC -I/home/daniel/.mujoco/mujoco-py/mujoco_py -I/home/daniel/.mujoco/mujoco210/include -I/home/daniel/miniconda3/envs/mujoco_py/lib/python3.8/site-packages/numpy/core/include -I/home/daniel/miniconda3/envs/mujoco_py/include/python3.8 -c /home/daniel/.mujoco/mujoco-py/mujoco_py/cymj.c -o /home/daniel/.mujoco/mujoco-py/mujoco_py/generated/_pyxbld_2.1.2.14_38_linuxcpuextensionbuilder/temp.linux-x86_64-3.8/home/daniel/.mujoco/mujoco-py/mujoco_py/cymj.o -fopenmp -w

gcc -pthread -B /home/daniel/miniconda3/envs/mujoco_py/compiler_compat -Wl,--sysroot=/ -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fPIC -I/home/daniel/.mujoco/mujoco-py/mujoco_py -I/home/daniel/.mujoco/mujoco210/include -I/home/daniel/miniconda3/envs/mujoco_py/lib/python3.8/site-packages/numpy/core/include -I/home/daniel/miniconda3/envs/mujoco_py/include/python3.8 -c /home/daniel/.mujoco/mujoco-py/mujoco_py/gl/osmesashim.c -o /home/daniel/.mujoco/mujoco-py/mujoco_py/generated/_pyxbld_2.1.2.14_38_linuxcpuextensionbuilder/temp.linux-x86_64-3.8/home/daniel/.mujoco/mujoco-py/mujoco_py/gl/osmesashim.o -fopenmp -w
gcc -pthread -shared -B /home/daniel/miniconda3/envs/mujoco_py/compiler_compat -L/home/daniel/miniconda3/envs/mujoco_py/lib -Wl,-rpath=/home/daniel/miniconda3/envs/mujoco_py/lib -Wl,--no-as-needed -Wl,--sysroot=/ /home/daniel/.mujoco/mujoco-py/mujoco_py/generated/_pyxbld_2.1.2.14_38_linuxcpuextensionbuilder/temp.linux-x86_64-3.8/home/daniel/.mujoco/mujoco-py/mujoco_py/cymj.o /home/daniel/.mujoco/mujoco-py/mujoco_py/generated/_pyxbld_2.1.2.14_38_linuxcpuextensionbuilder/temp.linux-x86_64-3.8/home/daniel/.mujoco/mujoco-py/mujoco_py/gl/osmesashim.o -L/home/daniel/.mujoco/mujoco210/bin -Wl,-R/home/daniel/.mujoco/mujoco210/bin -lmujoco210 -lglewosmesa -lOSMesa -lGL -o /home/daniel/.mujoco/mujoco-py/mujoco_py/generated/_pyxbld_2.1.2.14_38_linuxcpuextensionbuilder/lib.linux-x86_64-3.8/mujoco_py/cymj.cpython-38-x86_64-linux-gnu.so -fopenmp

Traceback (most recent call last):
  File "setting_state.py", line 7, in <module>
    from mujoco_py import load_model_from_xml, MjSim, MjViewer
  File "/home/daniel/.mujoco/mujoco-py/mujoco_py/__init__.py", line 2, in <module>
    from mujoco_py.builder import cymj, ignore_mujoco_warnings, functions, MujocoException
  File "/home/daniel/.mujoco/mujoco-py/mujoco_py/builder.py", line 504, in <module>
    cymj = load_cython_ext(mujoco_path)
  File "/home/daniel/.mujoco/mujoco-py/mujoco_py/builder.py", line 111, in load_cython_ext
    mod = load_dynamic_ext('cymj', cext_so_path)
  File "/home/daniel/.mujoco/mujoco-py/mujoco_py/builder.py", line 130, in load_dynamic_ext
    return loader.load_module()

ImportError: /home/daniel/miniconda3/envs/mujoco_py/bin/../lib/libstdc++.so.6: version `GLIBCXX_3.4.29' not found (required by /lib/x86_64-linux-gnu/libOSMesa.so.8)

  [1]: https://istack.dev59.com/gUhXI.webp

我已安装gcc 11.0.2,并在虚拟环境中使用python3.8。以下是我的详细步骤:https://docs.google.com/document/d/1eBvfKoczKmImUgoGMbqypODBXmI1bD91/edit

一切正常,直到我尝试运行实际的Python模块时,出现了问题。

我真的不知道为什么会发生这种情况,我已经尝试了互联网上的所有方法。如果有人能帮忙,我会非常感激。


“安装Mujuco”是什么意思?在Linux上,可以通过编译和构建源代码或安装Linux发行版的预编译和预构建软件包来安装某些东西。试图从任何地方下载一些随机二进制文件总是会以失败告终。 - Sam Varshavchik
我已经尝试了互联网上的几乎所有方法。大多数你在互联网上找到的东西都没有用,有些甚至很恶心。 - user4581301
嗨,当我说安装mujuco时,我指的是按照这些确切的步骤并尝试安装其软件包https://github.com/openai/mujoco-py。 - danielliucs
“下载二进制文件”?基本上就是这样了,请查看我的第一条评论。不要相信互联网上的所有内容。除非您的Linux发行版与用于构建这些二进制文件的完全相同,否则这将以泪水告终。您需要返回mujoco的源代码,并直接从源代码构建它。 - Sam Varshavchik
1个回答

11
/home/daniel/miniconda3/envs/mujoco_py/lib/libstdc++.so.6是从哪里来的?某些软件捆绑了一个比您系统版本libstdc++.so.6版本,而其他系统库依赖于更新的版本。您可以通过删除您家目录中的文件来解决此问题。

1
嗨!我希望我能给这个点赞一百万次,但我的声望还不够高。它起作用了,非常感谢。你怎么那么有信心知道只是删除那个随机文件就可以解决这个问题?我感到非常惊讶。再次感谢。 - danielliucs
那个技巧让我节省了大量时间。我不知道为什么Anaconda要复制这个文件,但是,好吧,我已经解决了问题,这才是最重要的。 - Willem Meints

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接