当前位置: 首页 > news >正文

ROS ERROR: “Qt5::Gui“ references the file “/usr/lib/x86_64-linux-gnu/libEGL.so“ not exist

Ubuntu18.04 + ROS melodic 安装google-cartographer,

Compiling Cartographer ROS — Cartographer ROS documentation

出现下面的报错,

$ catkin_make_isolated --install --use-ninja

...

CMake Error at /usr/lib/x86_64-linux-gnu/cmake/Qt5Gui/Qt5GuiConfig.cmake:27 (message):
  The imported target "Qt5::Gui" references the file

     "/usr/lib/x86_64-linux-gnu/libEGL.so"

  but this file does not exist.  Possible reasons include:

  * The file was deleted, renamed, or moved to another location.

  * An install or uninstall procedure did not complete successfully.

  * The installation package was faulty and contained

     "/usr/lib/x86_64-linux-gnu/cmake/Qt5Gui/Qt5GuiConfigExtras.cmake"

  but not all the files it references.

Call Stack (most recent call first):
  /usr/lib/x86_64-linux-gnu/cmake/Qt5Gui/Qt5GuiConfigExtras.cmake:50 (_qt5_Gui_check_file_exists)
  /usr/lib/x86_64-linux-gnu/cmake/Qt5Gui/Qt5GuiConfigExtras.cmake:72 (_qt5gui_find_extra_libs)
  /usr/lib/x86_64-linux-gnu/cmake/Qt5Gui/Qt5GuiConfig.cmake:184 (include)
  /usr/lib/x86_64-linux-gnu/cmake/Qt5Widgets/Qt5WidgetsConfig.cmake:101 (find_package)
  /usr/lib/x86_64-linux-gnu/cmake/Qt5/Qt5Config.cmake:28 (find_package)
  CMakeLists.txt:56 (find_package)


-- Configuring incomplete, errors occurred!
See also ...

解决办法:

先查看一下libegl到底怎么回事

~/projects/cartographer$ ls /usr/lib/x86_64-linux-gnu | grep -i libegl
libEGL_mesa.so.0
libEGL_mesa.so.0.0.0
libEGL_nvidia.so.0
libEGL_nvidia.so.470.82.01
libEGL.so
libEGL.so.1
libEGL.so.1.1.0

然后查检一下这个libEGL.so为什么找不到

~/projects/cartographer$ ls -l /usr/lib/x86_64-linux-gnu/libEGL.so
lrwxrwxrwx 1 root root 15 5月  10  2019 /usr/lib/x86_64-linux-gnu/libEGL.so -> libEGL.so.1.0.0

~/projects/cartographer$ ls -l /usr/lib/x86_64-linux-gnu/libEGL.so.1
lrwxrwxrwx 1 root root 15 2月  22 08:34 /usr/lib/x86_64-linux-gnu/libEGL.so.1 -> libEGL.so.1.1.0

这样,发现libEGL.so链接的是libEGL.so.1.0.0,而实际这里只有libEGL.so.1.1.0,不存在libEGL.so.1.0.0;当然你也可以找到libEGL.so这个文件,右击属性就会发现这个文件显示的是

链接(已断) (inode/symlink),或Link (broken) (inode/symlink)

原因就是链接已经断掉了,我们把它重新链接上(顺便再检查一下)就好了,

~/projects/cartographer$ sudo ln -sf /usr/lib/x86_64-linux-gnu/libEGL.so.1.1.0  /usr/lib/x86_64-linux-gnu/libEGL.so

~/projects/cartographer$ ls -l /usr/lib/x86_64-linux-gnu/libEGL.so
lrwxrwxrwx 1 root root 41 2月  27 15:37 /usr/lib/x86_64-linux-gnu/libEGL.so -> /usr/lib/x86_64-linux-gnu/libEGL.so.1.1.0

当然,为了避免弄错,你也可以先备份后再进行上速的强行替换操作。

先备份再
sudo rm /usr/lib/x86_64-linux-gnu/libEGL.so
然后再
sudo ln -sf /usr/lib/x86_64-linux-gnu/libEGL.so.1.1.0  /usr/lib/x86_64-linux-gnu/libEGL.so

--------------------------------------------

对于出现的另一个同样的报错,

...
CMake Error at /usr/lib/x86_64-linux-gnu/cmake/Qt5Gui/Qt5GuiConfig.cmake:27 (message):
  The imported target "Qt5::Gui" references the file

     "/usr/lib/x86_64-linux-gnu/libGL.so"

  but this file does not exist.  Possible reasons include:

  * The file was deleted, renamed, or moved to another location.

  * An install or uninstall procedure did not complete successfully.

  * The installation package was faulty and contained

     "/usr/lib/x86_64-linux-gnu/cmake/Qt5Gui/Qt5GuiConfigExtras.cmake"

  but not all the files it references.

Call Stack (most recent call first):
  /usr/lib/x86_64-linux-gnu/cmake/Qt5Gui/Qt5GuiConfigExtras.cmake:50 (_qt5_Gui_check_file_exists)
  /usr/lib/x86_64-linux-gnu/cmake/Qt5Gui/Qt5GuiConfigExtras.cmake:74 (_qt5gui_find_extra_libs)
  /usr/lib/x86_64-linux-gnu/cmake/Qt5Gui/Qt5GuiConfig.cmake:184 (include)
  /usr/lib/x86_64-linux-gnu/cmake/Qt5Widgets/Qt5WidgetsConfig.cmake:101 (find_package)
  /usr/lib/x86_64-linux-gnu/cmake/Qt5/Qt5Config.cmake:28 (find_package)
  CMakeLists.txt:56 (find_package)


-- Configuring incomplete, errors occurred!
See also ...

采取类似的手段就可以了,

~/projects/cartographer$ ls /usr/lib/x86_64-linux-gnu | grep -i libgl
libgl2ps.so
libgl2ps.so.1.4
libgl2ps.so.1.4.0
libglade
libglade-2.0.so.0
libglade-2.0.so.0.0.7
libglapi.so.0
libglapi.so.0.0.0
libGLdispatch.so
libGLdispatch.so.0
libGLESv1_CM_nvidia.so.1
libGLESv1_CM_nvidia.so.470.82.01
libGLESv1_CM.so
libGLESv1_CM.so.1
libGLESv1_CM.so.1.0.0
libGLESv1_CM.so.1.2.0
libGLESv2_nvidia.so.2
libGLESv2_nvidia.so.470.82.01
libGLESv2.so
libGLESv2.so.2
libGLESv2.so.2.1.0
libglib-2.0.a
libglib-2.0.so
libglib-2.0.so.0
libglib-2.0.so.0.5600.4
libglog.a
libglog.so
libglog.so.0
libglog.so.0.0.0
libGL.so
libGL.so.1
libGL.so.1.7.0
libGLU.a
libGLU.so
libGLU.so.1
libGLU.so.1.3.1
libglut.a
libglut.so
libglut.so.3
libglut.so.3.9.0
libGLX_indirect.so.0
libGLX_mesa.so.0
libGLX_mesa.so.0.0.0
libGLX_nvidia.so.0
libGLX_nvidia.so.470.82.01
libGLX.so
libGLX.so.0

然后,

~/projects/cartographer$ ls -l /usr/lib/x86_64-linux-gnu/libGL.so
lrwxrwxrwx 1 root root 14 5月  10  2019 /usr/lib/x86_64-linux-gnu/libGL.so -> libGL.so.1.0.0

~/projects/cartographer$ sudo ln -sf /usr/lib/x86_64-linux-gnu/libGL.so.1.7.0  /usr/lib/x86_64-linux-gnu/libGL.so

~/projects/cartographer$ ls -l /usr/lib/x86_64-linux-gnu/libGL.so
lrwxrwxrwx 1 root root 40 2月  27 15:40 /usr/lib/x86_64-linux-gnu/libGL.so -> /usr/lib/x86_64-linux-gnu/libGL.so.1.7.0

本文结束。

相关文章:

  • Linux下使用nmap扫描端口
  • ​​​​​​​Installing ROS on the Raspberry Pi
  • Ubuntu系统下通过remmina远程登陆raspberry pi
  • Ubuntu 键盘鼠标失效怎么办
  • raspberry pi 4检查ch340/ch341驱动
  • ROS ERROR: Could NOT find depth_image_proc (missing: depth_image_proc_DIR)
  • 如何在 Ubuntu 服务器上安装桌面环境(GUI) | Linux 中国
  • Ubuntu Server 20.04.4 在树莓派上的体验之连接网络和WIFI(WLAN0)
  • Ubuntu ERROR: sudo: unable to resolve host ubuntu: Name or service not known
  • Ubuntu Server 20.04.4 在树莓派上的体验之ROS-Noetic的安装
  • ROS移植机器人小车:catkin_make过程中碰到的各种小问题
  • ROS移植机器人小车:问题集
  • ROS移植机器人小车:问题集(2)
  • Linux查看IP地址的几种方法
  • linux常用命令:查看硬件配置的方法示例(含Jetson)
  • “寒冬”下的金三银四跳槽季来了,帮你客观分析一下局面
  • 2017 前端面试准备 - 收藏集 - 掘金
  • C++回声服务器_9-epoll边缘触发模式版本服务器
  • C++入门教程(10):for 语句
  • JavaScript设计模式之工厂模式
  • JavaWeb(学习笔记二)
  • java架构面试锦集:开源框架+并发+数据结构+大企必备面试题
  • JS创建对象模式及其对象原型链探究(一):Object模式
  • macOS 中 shell 创建文件夹及文件并 VS Code 打开
  • Spring声明式事务管理之一:五大属性分析
  • WebSocket使用
  • 当SetTimeout遇到了字符串
  • 给Prometheus造假数据的方法
  • 极限编程 (Extreme Programming) - 发布计划 (Release Planning)
  • 买一台 iPhone X,还是创建一家未来的独角兽?
  • 人脸识别最新开发经验demo
  • 入职第二天:使用koa搭建node server是种怎样的体验
  • 一道面试题引发的“血案”
  • 用Visual Studio开发以太坊智能合约
  • 找一份好的前端工作,起点很重要
  • MiKTeX could not find the script engine ‘perl.exe‘ which is required to execute ‘latexmk‘.
  • 积累各种好的链接
  • 资深实践篇 | 基于Kubernetes 1.61的Kubernetes Scheduler 调度详解 ...
  • ​LeetCode解法汇总1276. 不浪费原料的汉堡制作方案
  • #HarmonyOS:Web组件的使用
  • #pragma data_seg 共享数据区(转)
  • $redis-setphp_redis Set命令,php操作Redis Set函数介绍
  • ()、[]、{}、(())、[[]]命令替换
  • (1)bark-ml
  • (aiohttp-asyncio-FFmpeg-Docker-SRS)实现异步摄像头转码服务器
  • (Repost) Getting Genode with TrustZone on the i.MX
  • (附源码)spring boot网络空间安全实验教学示范中心网站 毕业设计 111454
  • (六)激光线扫描-三维重建
  • (论文阅读11/100)Fast R-CNN
  • (十一)JAVA springboot ssm b2b2c多用户商城系统源码:服务网关Zuul高级篇
  • (原創) 如何解决make kernel时『clock skew detected』的warning? (OS) (Linux)
  • (转)shell调试方法
  • (转载)深入super,看Python如何解决钻石继承难题
  • **CI中自动类加载的用法总结
  • .L0CK3D来袭:如何保护您的数据免受致命攻击