Ubuntu16.04,ROS kinectic

报错信息为“

make[2]: *** No rule to make target '/home/william/slam/g2o/lib/libg2o_csparse_extension.so', needed by '/home/william/catkin_ws/devel/lib/rgbdslam/rgbdslam'. Stop.
CMakeFiles/Makefile2:5881: recipe for target 'rgbdslam_v2/CMakeFiles/rgbdslam.dir/all' failed
make[1]: *** [rgbdslam_v2/CMakeFiles/rgbdslam.dir/all] Error 2
Makefile:127: recipe for target 'all' failed
make: *** [all] Error 2
Invoking "make -j4 -l4" failed

报错原因如下:

1. 先是按照https://github.com/felixendres/rgbdslam_v2上的README.md来安装

2. 出现G2O引起的bug,在编译安装g2o时通过,却在编译rgbdslam中报错,依照https://hubpages.com/technology/Instructions-for-compiling-rgbdslam-v2-on-a-fresh-Ubuntu-1604-install-ros-kinetic-in-virtualbox中的6,解决了

缺少依赖,执行sudo apt-get install libsuitesparse-dev(装依赖后再装G2O会好一点),在报错之后安装依赖,如果不行,就装完依赖后再安装g2o

我觉得本次主要讲的大bug就是从这里引起的

3. 遇到https://blog.csdn.net/zhuoyueljl/article/details/78536996?reload中,“required process[rgbdslam-2] has died”......Iinitiating down”问题,解决后,编译出现needed by错误

解决方法为:

工作空间(也有可能是编译G2O时才会出现)的cmake_modules中(位于SRC)有个FindG2O.cmake的文件,将其移除掉就可以了,因为用3的方法,make install了G2O,因此不需要cmake_modules来找G2O的包

PS:

学到的几个小技巧

1 使用grep搜索文件中的文本信息,语法是

grep -rw PATTERN [file]

2. 在CMakeLists.txt中,设置找包的路径:

set(G2O ‘包的绝对路径’)

反思总结:

1. 同样是对编译错误进行查找,在报错信息提示找不到这个 ibg2o_csparse_extension.so 文件时,我倾向于使用grep去搜索,rgbdsla包中哪行代码对这个文件进行查找,但是结果明显是找不到的。这是对整个编译架构的不理解

2. 不过,在没有其他经验的前提下,做点什么总是比什么都不做来得好。

rgbdslam_v2编译过程中引起的needed by错误的更多相关文章

  1. 编译过程中,termcap.h 文件找不到路径 licli.a终于生成

    编译过程中,termcap.h      文件找不到路径   查看是linux  源码下找不到termcap.h文件   安装了所有关于*cap*的源码包也不起作用     今天终于解决了这个问题,搜 ...

  2. live555源码研究(十)------在编译过程中遇到的问题及解决方法

    一.编译testOnDemandRTSPServer.cpp. 在testProgs项目中,加入testOnDemandRTSPServer.cpp进行编译,编译类型是编译成exe文件,在编译过程中会 ...

  3. OpenJDK源码研究笔记(十三):Javac编译过程中的上下文容器(Context)、单例(Singleton)和延迟创建(LazyCreation)3种模式

    在阅读Javac源码的过程中,发现一个上下文对象Context. 这个对象用来确保一次编译过程中的用到的类都只有一个实例,即实现我们经常提到的"单例模式". 今天,特意对这个上下文 ...

  4. colmap编译过程中出现,无法解析的外部符号错误 “__cdecl google::base::CheckOpMessageBuilder::ForVar1(void)”

    错误提示: >colmap.lib(matching.obj) : error LNK2019: 无法解析的外部符号 "__declspec(dllimport) public: cl ...

  5. bundler-sfm windows下编译过程中出现的错误

    一.“sysdep1.h”文件缺失 错误提示: fatal error C1083: 无法打开包括文件: “sysdep1.h”: No such file or directory 这些作为这个软件 ...

  6. idea在maven中引入了jar包依赖,但是编译过程中报出XXX程序包不存在,已解决

    idea在maven中引入了jar包依赖,但是编译过程中报出XXX程序包不存在 1. 报错具体情况 2. Project Structure中的Libraries没有任何红色波浪线 3. 发现自己要引 ...

  7. Python变量的作用域在编译过程中确定

    为了节省读友的时间,先上结论(对于过程和细节感兴趣的读友可以继续往下阅读,一探究竟): [结论] 1)Python并不是传统意义上的逐行解释型的脚本语言 2)Python变量的作用域在编译过程就已经确 ...

  8. Mysql安装过程中出现apply security settings错误的解决方法

    在学习Mysql的过程中,首先要安装Mysql.然而在第一遍安装过程中难免会出现安装错误的时候,当卸载后第二次安装(或者第三次甚至更多次)的时候,往往在安装最后一步会出现apply security ...

  9. Android编译过程中的碎碎念

    刷机不是用rom包吗?怎么可以使用fastboot flashall -w将*.img文件刷入呢? 在Mac上面可以参考这篇文章进行刷机.概括来说解释从官方下载rom包,解压后运行./flash-al ...

随机推荐

  1. Oracle使用hs odbc连接mssql2008

    1.创建odbc 2.在 product\11.2.0\dbhome_1\hs\admin\  下拷贝initdg4odbc,把名字改为initcrmsql(init+所建odbc的名称) HS_FD ...

  2. 【Selenium】Option加载用户配置,Chrom命令行参数

    about:version - 显示当前版本 about:memory - 显示本机浏览器内存使用状况 about:plugins - 显示已安装插件 about:histograms - 显示历史记 ...

  3. FFmpeg 基本用法--此文转载,作为笔记

    v  容器(Container) v  容器就是一种文件(封装)格式,比如flv.mkv.ts.mp4.rmvb.avi等.包含下面5种流以及文件头信息. v  流(Stream) v  是一种视频数 ...

  4. 2017-2018-1 20179215《Linux内核原理与分析》第九周作业

    实验:理解进程调度时机跟踪分析进程调度与进程切换的过程 一.实验要求  (1)理解Linux系统中进程调度的时机,可以在内核代码中搜索schedule()函数,看都是哪里调用了schedule(),判 ...

  5. uoj problem 21 缩进优化

    题目: 小O是一个热爱短代码的选手.在缩代码方面,他是一位身经百战的老手.世界各地的OJ上,很多题的最短解答排行榜都有他的身影.这令他感到十分愉悦. 最近,他突然发现,很多时候自己的程序明明看起来比别 ...

  6. 洛谷 P2701 [USACO5.3]巨大的牛棚Big Barn

    题目背景 (USACO 5.3.4) 题目描述 农夫约翰想要在他的正方形农场上建造一座正方形大牛棚.他讨厌在他的农场中砍树,想找一个能够让他在空旷无树的地方修建牛棚的地方.我们假定,他的农场划分成 N ...

  7. Linux mount指令

    -o,是指option,可以指定username,password:当时我们就碰到一个坎,如何来避免输入用户名密码,其实本质并不是避免输入用户名米吗,而是某种可知的方式来进行权限控制:解决的方式就是采 ...

  8. POJ2442:Sequence

    浅谈堆:https://www.cnblogs.com/AKMer/p/10284629.html 题目传送门:http://poj.org/problem?id=2442 我们先简化题意,假设只有两 ...

  9. 洛谷【P1080】国王游戏

    我对贪心的理解:https://www.cnblogs.com/AKMer/p/9776293.html 题目传送门:https://www.luogu.org/problemnew/show/P10 ...

  10. keepalive安装和配置

    1.下载安装包并解压 sudo wget http://www.keepalived.org/software/keepalived-1.2.13.tar.gz tar zxvf keepalived ...