记录自己部署LIO-SAM时的问题及解决

自己配置环境的时候遇到了很多问题,所用系统为ubuntu18.04.

1.g++与gcc版本

这个涉及到安装另一个包gtsam可能会带来的问题。由于之前测试cartography自己安装了gcc-9版本并设置成了默认,导致在编译安装gtsam时出现错误

error: invalid initialization of reference of type ‘const std::vector<bool>&’ from expression of type ‘const std::vector<long unsigned int>’
  124 |     const std::vector<bool>& mask() const { return  mask_; }

将gcc/g++版本切回到默认的7版本解决,

sudo update-alternatives --list gcc   查询系统安装的gcc版本,g++同理

sudo update-alternatives --config gcc    手动选择默认的版本,g++同理

2.gtsam安装

适配于liosam的版本经测试为4.0.2。最开始安装用的github上默认下载的4.3,后续编译liosam遇到大量报错。

后又切到4.0.0版本,但在编译安装gtsam时会显示好几个测试用例不通过的错误,

虽然看有人说不影响,但为了防止未知的问题,多次测试后选择4.0.2,全程飘绿无任何问题。

安装过程需要注意以下问题,

#!bash
$ cd gtsam-1.X.X #替换成自己的目录
$ mkdir build
$ cd build
$ cmake -DGTSAM_BUILD_WITH_MARCH_NATIVE=OFF ..

先执行到最后一步,然后在build文件夹里,找到CmakeCache.txt,找到

  • GTSAM_USE_SYSTEM_EIGEN:BOOL=OFF

把OFF改为ON即可,不然编译安装gtsam中会报错如下:

/usr/local/include/gtsam/base/Vector.h:72:1: error: static assertion failed: Error: GTSAM was built against a different version of Eigen
 static_assert(

完成这些后,再去执行

sudo make install -j8

这一章的时候,gtsam的文件夹我放在了主目录,这与下一个问题有关,当时看github上有人这么解决的,但好像没什么用,这里单独说一句记录一下。

3.liosam安装

终于到最激动人心的时候,但是安装后,运行run.launch文件时,出现以下报错:

[lio_sam_imuPreintegration-2] process has died [pid 1671, exit code 127, cmd /home/shuai/subject/catkin_lio_ws/devel/lib/lio_sam/lio_sam_imuPreintegration __name:=lio_sam_imuPreintegration __log:=/home/shuai/.ros/log/635269ee-46bc-11ed-a61b-1c697af31044/lio_sam_imuPreintegration-2.log].
[lio_sam_mapOptmization-5] process has died [pid 1672, exit code 127, cmd /home/shuai/subject/catkin_lio_ws/devel/lib/lio_sam/lio_sam_mapOptmization __name:=lio_sam_mapOptmization __log:=/home/shuai/.ros/log/635269ee-46bc-11ed-a61b-1c697af31044/lio_sam_mapOptmization-5.log].

原因是因为没有找到安装的库文件,所以将 /usr/local/lib 目录中libmetis.so添加到/opt/ros/melodic/lib/。解决方法:

cd /usr/local/lib/
sudo cp libmetis.so /opt/ros/melodic/lib/        //将库文件复制到 ROS下的库文件中

参考文献:

亲自部署LIO-SAM、LVI-SAM的全过程经历01——跑通_[lio_sam_imupreintegration-1] process has died [pi-CSDN博客

error: static assertion failed: Error: GTSAM was built against a different version of Eigen_ros中,static assertion failed:gtsam was-CSDN博客

ubuntu18.04安装gtsam过程及报错error: invalid initialization of reference of type ‘const std::vector<bool>&’-CSDN博客Ubuntu18.04安装gtsam,以及注意事项-CSDN博客

  • 24
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值