ubuntu22.04安装kalibr

前言

首先ros1目前目前在ubuntu支持的最高版本是20.04。当时我是在ubuntu22.04上编译安装的ros1。过程也十分坎坷,手动下载了很多包,具体就不累赘了。
再者目前网上的资料也都是kalibr+ros1, 所以推荐安装ros1之后再来安装kalibr。其次这次安装主要
参考如下。但是我的情况还有一些不一样,主要我的ros是noetic版本。

安装过程出现的问题

1 boost提示python版本不对,kalibr期待的是早期版本,但是我ubuntu22.04的版本是python310版本
  • 解决方案就是根据提示错误的文件,找到文件后修改如下文件
    /home/liuchaoqun/kalibr_workspace/src/Kalibr/Schweizer-Messer/python_module/cmake/add_python_export_library.cmake
    
    • 修改的地方是lcq注释的地方。主要是允许使用python310
      lcq为修改处
2 报如下错误,当时看这一堆心情都郁闷了。最后这个错误没有主动解决。只是修改了源码中C++的错误,这个错误自己好了。
  • 错误如下
    在这里插入图片描述
3 这个是编译的时候找不到include <boost/detail/endian.hpp>,最后一查是废弃了,话说废弃了作者也不删除。这个直接注释就好。
  • 废弃的endian.hpp
    • 文件路径: /home/liuchaoqun/kalibr_workspace/src/Kalibr/Schweizer-Messer/sm_boost/include/boost/portable_binary_archive.hpp
      废弃的endian.hpp
4 同上
  • 文件路径: /home/liuchaoqun/kalibr_workspace/src/Kalibr/Schweizer-Messer/sm_boost/src/portable_binary_oarchive.cpp
    废弃的endian.hpp
修改完上边的再编译就好了
  • 安装成功的截图,耗费1天多时间
    • 结果
      最终成功画面
总结
  • 这次最主要的问题就是一开始系统就是ubuntu22.04。但是网上这些开源的项目对新版本的ubuntu支持的又不是很好,所以遇到的很多问题都找不到答案,或者最后只能源码安装,非常耗时。建议初学者最好在安装系统的时候就选择早期的版本,如ubuntu20.4等。
  • 自己心态问题,遇到错误就很烦躁,其实仔细阅读提示信息还是能找到蛛丝马迹的。解决bug就跟侦探办案一样,总会有线索留给你,所以要乐观。方法论大致如下:
    • 1 从报错的那行看,看是从哪里报错的,然后不要着急在网上搜错误,先试着理解现场告诉我们什么信息?想让我们从哪方面入手去改?可以自己先试着改改看能编译通过不
    • 2 对于编译别人的开源代码,不要以为开源的都是神,不会出错。当与ubuntu系统版本,python版本,C++等版本不一致时就是会出错,作者一开始在开发的时候也不可能将以后所有版本都兼容。尤其是早期开发代码,只能依赖早期的库,而你的环境又是新的,所以出现适配问题在所难免。
    • 3 即使看到很多问题也不要慌,一个一个慢慢解决,很有可能你解决了一个,很多其他问题也跟着solved。因为开源的再离谱也不可能很多错,毕竟这么多人用。
    • 4 调整好心态,问题总有解决的方案。
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值