Conda环境编译habitat-sim时出现OpenGL not found报错求解
报错原因
Conda环境默认隔离系统库搜索路径,你当前编译参数开启了BUILD_GUI_VIEWERS桌面GUI组件,需要依赖X11和OpenGL桌面库,但conda环境内未预装对应依赖,导致cmake无法定位库文件。
解决方案
方案一:无头模式编译(推荐,90%以上的habitat-sim使用场景适用)
如果不需要桌面可视化界面,直接编译无头版本即可避开X11、桌面OpenGL依赖,使用N卡驱动自带的EGL实现渲染,编译命令如下:
./build.sh --bullet --headless
方案二:保留GUI功能的修复方法
如果确实需要使用桌面GUI viewer,执行以下操作:
- 先在conda环境内安装对应依赖包:
conda install -c conda-forge libglvnd libx11 libxext libxxf86vm libxi libxrandr libxcursor
- 可选操作:升级conda环境内的cmake版本,旧版本3.14的OpenGL查找逻辑存在兼容性问题,升级后查找准确率更高:
conda install -c conda-forge cmake>=3.18
- 若执行完上述操作仍报错,手动指定系统库路径到cmake搜索目录后再执行编译:
export CMAKE_PREFIX_PATH="/usr/lib/x86_64-linux-gnu:$CMAKE_PREFIX_PATH" export CMAKE_LIBRARY_PATH="/usr/lib/x86_64-linux-gnu:$CMAKE_LIBRARY_PATH" export CMAKE_INCLUDE_PATH="/usr/include:$CMAKE_INCLUDE_PATH" ./build.sh --bullet
内容的提问来源于stack exchange,提问作者Vidhi Jain
相关产品推荐
相关产品推荐

