python - ld:安装过程中找不到-lGL错误
问题描述
我正在尝试mujoco-py
在编译后安装并获取它:
/home/ubuntu/anaconda3/compiler_compat/ld: cannot find -lGL
collect2: error: ld returned 1 exit status
error: command 'gcc' failed with exit status 1
----------------------------------------
ERROR: Failed building wheel for mujoco-py
Running setup.py clean for mujoco-py
Failed to build mujoco-py
ERROR: Could not build wheels for mujoco-py which use PEP 517 and cannot be installed directly
我正在使用 Ubuntu 18.04、Python 3.6.9。
在这个问题之后,我安装了建议的库,但事实证明它已经安装了。
(test_env) ubuntu@user:~$ sudo apt install libosmesa6-dev libgl1-mesa-glx libglfw3
Reading package lists... Done
Building dependency tree
Reading state information... Done
libglfw3 is already the newest version (3.2.1-1).
libgl1-mesa-glx is already the newest version (19.0.8-0ubuntu0~18.04.3).
libosmesa6-dev is already the newest version (19.0.8-0ubuntu0~18.04.3).
0 upgraded, 0 newly installed, 0 to remove and 9 not upgraded.
然后我尝试第二个答案并运行locate libGL
。奇怪的是,这不会返回任何东西。
我也尝试直接创建符号链接:
sudo ln -s /usr/lib/x86_64-linux-gnu/libGL.so.1 /usr/lib/x86_64-linux-gnu/libGL.so
但:
ln: failed to create symbolic link '/usr/lib/x86_64-linux-gnu/libGL.so': File exists
~$ ls -h /usr/lib/x86_64-linux-gnu | grep "libGL"
libGL.la
libGL.so
libGL.so.1
libGL.so.1.7.0
libGLESv1_CM.so
libGLESv1_CM.so.1
libGLESv1_CM.so.1.0.0
libGLESv1_CM.so.1.2.0
libGLESv1_CM_nvidia.so.1
libGLESv1_CM_nvidia.so.418.87.01
libGLESv2.so
libGLESv2.so.2
libGLESv2.so.2.0.0
libGLESv2.so.2.1.0
libGLESv2_nvidia.so.2
libGLESv2_nvidia.so.418.87.01
libGLEW.so
libGLEW.so.2.0
libGLEW.so.2.0.0
libGLU.a
libGLU.so
libGLU.so.1
libGLU.so.1.3.1
libGLX.so
libGLX.so.0
libGLX_indirect.so.0
libGLX_mesa.so.0
libGLX_mesa.so.0.0.0
libGLX_nvidia.so.0
libGLX_nvidia.so.418.87.01
libGLdispatch.so
libGLdispatch.so.0
任何建议表示赞赏。
解决方案
也许您的 Anaconda 太旧(或者setup.py
最初的软件包不正确)并且也受到此错误的影响:
https ://github.com/cocodataset/cocoapi/issues/94
为了安装软件包,人们建议添加
extra_link_args=['-L/usr/lib/x86_64-linux-gnu/']
推荐阅读
- android - 在应用程序中心创建可滚动容器,在其圆圈内使用圆形图像和文本(覆盖它们)
- r - 如何创建带有负轴和正轴的点图?
- flutter - 常量集中元素的类型不能覆盖 '==' 运算符,但类型 'LatLng' 可以
- java - 具有 2 个变量的 while 循环函数复杂度
- c++11 - 即使使用了 auto && 是否仍然需要使用 std move
- java - 如何将 Enum 用于单例?
- td-engine - TDengine的taos-jdbc绑定参数,得到一个意想不到的问题
- android - Exoplayer - 需要帮助将此下载图像从自定义布局附加到活动,以便我可以定义点击事件
- node.js - NodeJs - 猫鼬函数总是返回 null
- flutter - Flutter dio 图像上传不工作引发服务器 401 错误,但在邮递员中工作