ORB_SLAM2编译build_ros.sh时报错([rosbuild] Error from directory check: /opt/ros/kinetic/share)
参考:https://www.pianshen.com/article/8679352229/ 编译build_ros.sh时报错
在ros上编译build_ros.sh时报错,出现如下信息:
Building ROS nodes
mkdir: cannot create directory ‘build’: File exists
[rosbuild] Building package ORB_SLAM2
[rosbuild] Error from directory check: /opt/ros/kinetic/share/ros/core/rosbuild/bin/check_same_directories.py /home/daiwj5/catkin_ws/src/ORB_SLAM2/Examples/ROS/ORB_SLAM2
1
Traceback (most recent call last):File "/opt/ros/kinetic/share/ros/core/rosbuild/bin/check_same_directories.py", line 46, in <module>raise Exception
Exception
CMake Error at /opt/ros/kinetic/share/ros/core/rosbuild/private.cmake:102 (message):[rosbuild] rospack found package "ORB_SLAM2" at "", but the currentdirectory is "/home/daiwj5/catkin_ws/src/ORB_SLAM2/Examples/ROS/ORB_SLAM2".You should double-check your ROS_PACKAGE_PATH to ensure that packages arefound in the correct precedence order.
Call Stack (most recent call first):/opt/ros/kinetic/share/ros/core/rosbuild/public.cmake:177 (_rosbuild_check_package_location)CMakeLists.txt:4 (rosbuild_init)-- Configuring incomplete, errors occurred!
See also "/home/daiwj5/catkin_ws/src/ORB_SLAM2/Examples/ROS/ORB_SLAM2/build/CMakeFiles/CMakeOutput.log".
make: *** No targets specified and no makefile found. Stop.
这个时候需要在~/.bashrc文件末尾添加一行路径,如下(如果放在主目录下的话):
export ROS_PACKAGE_PATH=${ROS_PACKAGE_PATH}:/home/自己的用户名/slam_ws/src/ORB_SLAM2/Examples/ROS
接着运行
source ~/.bashrc
可以使用以下命令来检查:
echo $ROS_PACKAGE_PATH
出现/opt/ros/kinetic/share:PATH/ORB_SLAM2/Examples/ROS,正常
echo $ROS_ROOT
出现 /opt/ros/kinetic/share/ros,正常。
接着运行命令
./build_ros.sh
出现以下报错
In file included from /home/daiwj5/catkin_ws/src/ORB_SLAM2/Examples/ROS/ORB_SLAM2/../../../Thirdparty/g2o/g2o/types/../core/optimizable_graph.h:41:0,from /home/daiwj5/catkin_ws/src/ORB_SLAM2/Examples/ROS/ORB_SLAM2/../../../Thirdparty/g2o/g2o/types/../core/base_vertex.h:30,from /home/daiwj5/catkin_ws/src/ORB_SLAM2/Examples/ROS/ORB_SLAM2/../../../Thirdparty/g2o/g2o/types/types_seven_dof_expmap.h:34,from /home/daiwj5/catkin_ws/src/ORB_SLAM2/Examples/ROS/ORB_SLAM2/../../../include/LoopClosing.h:34,from /home/daiwj5/catkin_ws/src/ORB_SLAM2/Examples/ROS/ORB_SLAM2/../../../include/LocalMapping.h:26,from /home/daiwj5/catkin_ws/src/ORB_SLAM2/Examples/ROS/ORB_SLAM2/../../../include/Tracking.h:31,from /home/daiwj5/catkin_ws/src/ORB_SLAM2/Examples/ROS/ORB_SLAM2/../../../include/System.h:29,from /home/daiwj5/catkin_ws/src/ORB_SLAM2/Examples/ROS/ORB_SLAM2/src/ros_rgbd.cc:35:
/home/daiwj5/catkin_ws/src/ORB_SLAM2/Examples/ROS/ORB_SLAM2/../../../Thirdparty/g2o/g2o/types/../core/jacobian_workspace.h:30:22: fatal error: Eigen/Core: No such file or directory
compilation terminated.
CMakeFiles/RGBD.dir/build.make:119: recipe for target 'CMakeFiles/RGBD.dir/src/ros_rgbd.cc.o' failed
make[2]: *** [CMakeFiles/RGBD.dir/src/ros_rgbd.cc.o] Error 1
CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/RGBD.dir/all' failed
make[1]: *** [CMakeFiles/RGBD.dir/all] Error 2
Makefile:127: recipe for target 'all' failed
make: *** [all] Error 2
运行以下命令解决
sudo ln -s /usr/include/eigen3/Eigen /usr/local/include/Eigen
接着运行命令
./build_ros.sh
可能会出现以下错误
/usr/bin/ld: CMakeFiles/RGBD.dir/src/ros_rgbd.cc.o: undefined reference to symbol '_ZN5boost6system15system_categoryEv'
/usr/lib/x86_64-linux-gnu/libboost_system.so: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
CMakeFiles/RGBD.dir/build.make:205: recipe for target '../RGBD' failed
make[2]: *** [../RGBD] Error 1
CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/RGBD.dir/all' failed
make[1]: *** [CMakeFiles/RGBD.dir/all] Error 2
Makefile:127: recipe for target 'all' failed
make: *** [all] Error 2
这个时候,找到Example/ROS/ORB-SLAM2/目录下的CMakelist.txt文件,在原有文件对应模块中添加:
find_package(Boost COMPONENTS system) #这一行include_directories(
${Boost_INCLUDE_DIRS} #这一行
)set(LIBS
${Boost_LIBRARIES} #这一行
)
如果运行./build_ros.sh出现内存错误重新编译一下
ORB_SLAM2编译build_ros.sh时报错([rosbuild] Error from directory check: /opt/ros/kinetic/share)相关推荐
- 关于 编译QT项目时报错: error: cannot find -lGL 的解决方法
若该文为原创文章,转载请注明原文出处 本文章博客地址:https://hpzwl.blog.csdn.net/article/details/78260169 红胖子(红模仿)的博文大全:开发技术集合 ...
- Linux编译QT项目时报错: error: cannot find -lGL 的解决方法
错误: 编译qt项目的时候出现错误:error: cannot find -lGL 错误产生原因: 无法找到-lGL,-l表示库文件,根据QT的库规则,可以得到该库的名称: libGL.so 解决方法 ...
- 关于 CentOS系统编译Qt项目报错:error: cannot find -lGL 的解决方法
若该文为原创文章,转载请注明原文出处 本文章博客地址:https://hpzwl.blog.csdn.net/article/details/129633859 红胖子(红模仿)的博文大全:开发技术集 ...
- 关于STM32 Hal 库函数编写的程序 在编译时报错 :“Error: L6218E: Undefined symbol 函数名 (referred from xx.o)” 的解决办法
问题描述:在借鉴别人的程序时,直接把部分hal库的程序拿来用,在编译时出现下图所示的问题 1 . 尝试解决但是没有成功的办法: 1.1 头文件包含问题 一开始以为是没有包含头文件,将头文件包含后,再次 ...
- 编译库文件时报错move_base: symbol lookup error: undefined symbol:
Q:编译库文件时报错/opt/ros/kinetic/lib/move_base/move_base: symbol lookup error: /home/xjl/deepDisk/ubuntu/f ...
- 【已解决】ORB_SLAM2 编译 ./build_ros.h错误
编译 ./build_ros.h 出的错基本就是与这差不多的,方法相同,定位相关的库,然后移动位置,更改cmkelist.txt文件即可 我这里因为ORB_SLAM2用的opencv3,我装的也是op ...
- 解决 MATLAB R2020b 编译C文件时报错
解决MATLAB R2020b编译C文件时报错 解决MATLAB R2020b编译C文件时报错 R2020b错误内容 解决方案 1. 首先安装matlabR2016a 2. 为matlab安装MinG ...
- 使用bootstrap的dropdown部件时报错:error:Bootstrap dropdown require Popper.js
前言:前端小白一枚,刚注册博客,先发个学习过程中新碰到小问题试试水吧~ 摘要:最近在学习bootstrap,偶然碰到了一个小问题,bootstrap网站也没有做过多的解释,今天分享给大家. 问题描述: ...
- 启动Nginx时报错:error while loading shared libraries: librdkafka.so.1: cannot open shared object file: No
安装了Nginx之后,启动时报错: error while loading shared libraries: librdkafka.so.1: cannot open shared object f ...
- qt creator编译qt工程时报错:undefined reference to
qt creator编译qt工程时报错:undefined reference to qt creator编译qt工程时报错 该错误指向了本地文件,且经过调研知道,该类错误一般都是链接问题. 仔细查看 ...
最新文章
- SQL 语法速成手册
- 优化算法optimization:AdaGrad
- ssm配置多数据库支持
- winrar压缩指定目录
- 排序算法系列:Shell 排序算法
- 关于selinux模式更改警告模式
- 几分钟了解阿里云云服务器ECS
- pytorch中的切片时的省略号
- MySQL主备复制原理、实现及异常处理
- 给所有开发人员的 11 条忠告(第 4 条亮了)
- 使用python编写自己的进程调试工具
- Oracle RMAN Catalog 和 Nocatalog 的区别
- oracle ORA-00054 资源正忙
- python字典按照value进行排序
- SQL Server数据库出现恢复挂起时的解决办法
- 一文带你详细了解机房搬迁工作步骤及方案,强烈建议收藏备用!
- 再谈Objective C中的BOOL类型
- VBA中,正则表达式的语法介绍
- 《蔡康永的说话之道》读书笔记
- datatables实现复选框全选反选!!(亲测有效)
热门文章
- c语言编译bss和data,认识bss段和data段
- 服务器字体显示繁体字怎么解决,win7繁体字乱码怎么办?win7繁体字显示乱码解决方法...
- pbootcms建站,pbootcms建站方法技巧
- 第八届中国智慧城市建设技术研讨会总体日程安排
- bzoj4448(LCT)
- 一幅图理解计算机系统硬件组成
- php 手写签批 手机办公_好签原笔迹手写签批SDK
- 小白ARM平台移植 USB 蓝牙、交叉编译 bluez-4.95
- 蒟蒻的noip2015滚粗记
- Jupyter Notebook 更改默认浏览器