|
发表于 2020-2-17 19:19:20
7139 浏览 2 回复
[仿真开发]
仿真编译gazebo报错"/usr/lib/x86_64-linux-gnu/libEGL.so"
本帖最后由 eason 于 2020-2-17 19:22 编辑
问题描述:PX4固件从1.9.2版本升级到v1.10.0版本时候,仿真编译没有问题,仿真编译使用jmavsim也没有问题,但是仿真编译使用gazebo出现报错:"/usr/lib/x86_64-linux-gnu/libEGL.so"
环境描述:Ubuntu16.04 px4-v1.10.0 gcc7.2.1 gnu5.4.0 ros-kinetic gazebo9
1、首先刚升级到v1.10.0版本,子模块也更新好了,执行最简单的编译SITL,make px4_sitl_default.如下图1所示。
2、接着执行仿真编译运行gazebo,make px4_sitl_default gazebo.如下图所示图2-1,2-2,2-3.图2-3中出现"/usr/lib/x86_64-linux-gnu/libEGL.so"无法找到该链接的问题,下面并给出了造成该问题的原因可能有哪些。第一个该文件被删除,或者被移动到其他的位置了。第二个是某个东西未能完全安装或者卸载成功。第三个是安装包本身有故障,可能包含了.cmake文件。
3、解决过程:如图3,先查看libegl所有相关的链接文件,命令:ls /usr/lib/x86_64-linux-gnu/ | grep -i libegl
然后查看libEGL.so的所有属性,命令:ls -l /usr/lib/x86_64-linux-gnu/libEGL.so。发现它链接指向的是mesa-egl/libEGL.so
再查看mesa-egl/libEGL.so的所有属性,命令:ls -l /usr/lib/x86_64-linux-gnu/mesa-egl/libEGL.so。发现这个链接指向的是libEGL.so.1.0.0。我们在查看了libegl所有相关的链接文件中并没有libEGL.so.1.0.0。那我们只能手动创建一个软链接了sudo ln /usr/lib/x86_64-linux-gnu/libEGL.so.1 /usr/lib/x86_64-linux-gnu/libEGL.so,我是讲存在的链接文件libEGL.so.1链接指向到libEGL.so。
4、最后我们再次仿真编译启动gazebo,如图4-1,4-2,4-3,4-4.仿真编译gazebo完成
|
评分
-
查看全部评分
扫一扫浏览分享
|
|
|
|
|
|
|
发表于 2020-2-21 09:31:04
|
|
|
|
|
|
|