cartographer问题处理

问题1 :

bash 复制代码
CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
GMOCK_LIBRARY (ADVANCED)
    linked by target "time_conversion_test" in directory /home/a/carto/src/cartographer_ros/cartographer_ros
    linked by target "configuration_files_test" in directory /home/a/carto/src/cartographer_ros/cartographer_ros
    linked by target "msg_conversion_test" in directory /home/a/carto/src/cartographer_ros/cartographer_ros
    linked by target "metrics_test" in directory /home/a/carto/src/cartographer_ros/cartographer_ros

-- Configuring incomplete, errors occurred!
See also "/home/a/carto/build_isolated/cartographer_ros/CMakeFiles/CMakeOutput.log".
See also "/home/a/carto/build_isolated/cartographer_ros/CMakeFiles/CMakeError.log".
<== Failed to process package 'cartographer_ros': 
  Command '['/home/a/carto/install_isolated/env.sh', 'cmake', '/home/a/carto/src/cartographer_ros/cartographer_ros', '-DCATKIN_DEVEL_PREFIX=/home/a/carto/devel_isolated/cartographer_ros', '-DCMAKE_INSTALL_PREFIX=/home/a/carto/install_isolated', '-G', 'Ninja']' returned non-zero exit status 1.

Reproduce this error by running:
==> cd /home/a/carto/build_isolated/cartographer_ros && /home/a/carto/install_isolated/env.sh cmake /home/a/carto/src/cartographer_ros/cartographer_ros -DCATKIN_DEVEL_PREFIX=/home/a/carto/devel_isolated/cartographer_ros -DCMAKE_INSTALL_PREFIX=/home/a/carto/install_isolated -G Ninja

解决方案:

bash 复制代码
sudo apt install libgmock-dev

问题2 :

代码运行时

bash 复制代码
[FATAL] [1713248900.406892955]: F0416 14:28:20.000000  7921 lua_parameter_dictionary.cc:83] Check failed: status == 0 (2 vs. 0) [string "include "map_builder.lua"..."]:35: attempt to index field 'pure_localization_trimmer' (a nil value)

在lua中pure_localization_trimmer的设置可能找不到,需要对比一下出处是否有定义或则定义内容更改等。经对比发现TRAJECTORY_BUILDER中对该内容进行注释。所以找不到。

bash 复制代码
TRAJECTORY_BUILDER = {
  trajectory_builder_2d = TRAJECTORY_BUILDER_2D,
  trajectory_builder_3d = TRAJECTORY_BUILDER_3D,
  -- pure_localization_trimmer = {
  --   max_submaps_to_keep = 3,
  -- },
  collate_fixed_frame = true,
  collate_landmarks = false,
}

问题3

编译过程找不到

bash 复制代码
FAILED: docs/CMakeFiles/build_doc /work/ws/carto/build_isolated/cartographer/install/docs/CMakeFiles/build_doc 
cd /work/ws/carto/build_isolated/cartographer/install/docs && /usr/bin/sphinx-build -b html /work/ws/carto/src/cartographer/docs/source /work/ws/carto/build_isolated/cartographer/install/docs/html
Traceback (most recent call last):
  File "/usr/bin/sphinx-build", line 11, in <module>
    load_entry_point('Sphinx==1.8.5', 'console_scripts', 'sphinx-build')()
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 490, in load_entry_point
    return get_distribution(dist).load_entry_point(group, name)
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 2854, in load_entry_point
    return ep.load()
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 2445, in load
    return self.resolve()
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 2451, in resolve
    module = __import__(self.module_name, fromlist=['__name__'], level=0)
  File "/usr/lib/python3/dist-packages/sphinx/cmd/build.py", line 25, in <module>
    from sphinx.application import Sphinx
  File "/usr/lib/python3/dist-packages/sphinx/application.py", line 48, in <module>
    from sphinx.util.tags import Tags
  File "/usr/lib/python3/dist-packages/sphinx/util/tags.py", line 11, in <module>
    from jinja2 import nodes
  File "/usr/lib/python3/dist-packages/jinja2/__init__.py", line 33, in <module>
    from jinja2.environment import Environment, Template
  File "/usr/lib/python3/dist-packages/jinja2/environment.py", line 15, in <module>
    from jinja2 import nodes
  File "/usr/lib/python3/dist-packages/jinja2/nodes.py", line 23, in <module>
    from jinja2.utils import Markup
  File "/usr/lib/python3/dist-packages/jinja2/utils.py", line 676, in <module>
    from markupsafe import Markup, escape, soft_unicode

ImportError: cannot import name 'soft_unicode' from 'markupsafe' (/usr/local/lib/
python3.8/dist-packages/markupsafe/__init__.py)
ninja: build stopped: subcommand failed.
<== Failed to process package 'cartographer': 
  Command '['ninja', '-j8', '-l8']' returned non-zero exit status 1.

Reproduce this error by running:
==> cd /work/ws/carto/build_isolated/cartographer && ninja -j8 -l8

解决方案:

bash 复制代码
pip3 install markupsafe==2.0.1 

问题 4

bash 复制代码
FAILED: docs/CMakeFiles/build_doc /work/ws/carto/build_isolated/cartographer/install/docs/CMakeFiles/build_doc 
cd /work/ws/carto/build_isolated/cartographer/install/docs && /usr/bin/sphinx-build -b html /work/ws/carto/src/cartographer/docs/source /work/ws/carto/build_isolated/cartographer/install/docs/html
Running Sphinx v1.8.5

Extension error:
Could not import extension sphinx.builders.latex (exception: cannot import name 'contextfunction' from 'jinja2' (/usr/local/lib/python3.8/dist-packages/jinja2/__init__.py))
[50/387] Building CXX object googletest/CMakeFiles/gtest.dir/src/gtest-all.cc.o
ninja: build stopped: subcommand failed.
<== Failed to process package 'cartographer': 
  Command '['ninja', '-j8', '-l8']' returned non-zero exit status 1.

原因:

sphinx和jinja2版本不匹配

解决方案:

重新安装sphinx

bash 复制代码
pip3 uninstall Sphinx
pip3 uninstall jinja2
pip3 install Sphinx
相关推荐
ACP广源盛1392462567333 分钟前
硬件选型笔记|国产 PCIe4.0 交换芯片 IX8012@ACP,边缘 AI 设备 IO 扩展方案探讨
人工智能·笔记·硬件架构·pcie·国产芯片
职豚求职小程序1 小时前
恒丰银行2026下半年笔试|考点&注意事项✅
笔记
Awh-2 小时前
ARM 裸机开发 DAY9 学习笔记
arm开发·笔记·学习
沫璃染墨2 小时前
从零入门数据结构与算法(一):复杂度分析——从算法效率到时间与空间复杂度
c语言·开发语言·数据结构·笔记·算法·飞书
北京盛世宏博2 小时前
异地机房采集踩坑笔记:以太网温湿度记录仪跨网段通信调试实战
开发语言·笔记·单片机·php·传感器·温湿度
FakeOccupational3 小时前
【电路笔记 STM32】Cortex-M7 UART DMA模式(DMA&空闲中断&普通模式+DMA&半满/全满中断&循环模式)
笔记·stm32·嵌入式硬件
心仪久了会沦陷4 小时前
C语言数据结构入门——队列补充:循环队列的数组实现
c语言·开发语言·数据结构·笔记
志尊宝5 小时前
Vue3 零基础每日笔记(081):富文本编辑器集成 wangEditor 5——封装
前端·javascript·vue.js·笔记·信息可视化·echarts
志尊宝5 小时前
Vue3 零基础每日笔记(080):Vue3 + ECharts 数据可视化——封装可复用图表组件
前端·javascript·vue.js·笔记·信息可视化·echarts