【ubuntu20.04+catrographer】衰仔踩坑记录

1 cere-solver版本应为1.4.0

这很重要!
如果你在报错信息中有看到cere,不用怀疑,就是它出了问题。
查看cere-solover版本:
打开home下安装ceres-solver的文件夹,然后打开ceres-solverpackage.xml文件,在里面第33行,可以看到版本号。
推荐博客:
https://blog.youkuaiyun.com/YiYeZhiNian/article/details/128805509

2 最后的链结失败: bad value

报错信息如下:

/usr/bin/ld: /usr/local/lib/libprotobuf.a(arena.o): relocation R_X86_64_TPOFF32 against symbol `_ZN6google8protobuf8internal9ArenaImpl13thread_cache_E' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libprotobuf.a(common.o): relocation R_X86_64_PC32 against symbol `stderr@@GLIBC_2.2.5' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: 最后的链结失败: bad value
collect2: error: ld returned 1 exit status
ninja: build stopped: subcommand failed.
<== Failed to process package 'cartographer_rviz': 
  Command '['/home/liujun/example_ws/catrographer_ws/install_isolated/env.sh', 'ninja', '-j8', '-l8']' returned non-zero exit status 1.

Reproduce this error by running:
==> cd /home/liujun/example_ws/catrographer_ws/build_isolated/cartographer_rviz && /home/liujun/example_ws/catrographer_ws/install_isolated/env.sh ninja -j8 -l8

Command failed, exiting.

so动态库编译加上了-fPIC选项 但在链接 libprotobuf.a时, libprotobuf.a的编译未加入-fPIC选项,所以需要 重新编译libprotobuf 并加入 -fPIC选项。

sudo make clean
sudo make uninstall
./configure CXXFLAGS=-fPIC
make
make install

参考博客:
https://blog.youkuaiyun.com/whatday/article/details/122553195
https://blog.youkuaiyun.com/qq_41005689/article/details/122728281
输入

which protoc

查看protoc路径输出如下:

/bin/protoc /usr/bin/protoc

使用如下命令建立软链接:

sudo ln -s /usr/local/bin/protoc /usr/bin/protoc

其他错误很容易在其他博客找寻到,甚至可以自行解决,相信你可以的。
最后,祝顺利!!!

### 在 Ubuntu 20.04 上安装和配置 ROS 对于 Ubuntu 20.04 系统,推荐的 ROS 版本是 Noetic Niobium[^1]。以下是具体的安装和配置方法。 #### 安装 ROS 为了在 Ubuntu 20.04 上成功安装 ROS Noetic,可以按照以下命令操作: 1. **设置源** 首先需要将系统的软件包索引指向 ROS 的官方仓库。运行以下命令来添加 ROS 软件源并更新本地缓存: ```bash sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list' ``` 2. **导入密钥** 导入 ROS 官方仓库的 GPG 密钥以验证下载的软件包真实性: ```bash sudo apt install curl curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add - ``` 3. **更新系统包列表** 更新 APT 缓存以便获取最新的可用软件包信息: ```bash sudo apt update ``` 4. **安装桌面全版 ROS Noetic** 推荐安装 `desktop-full` 版本来获得完整的功能支持(包括 rviz 和 gazebo 等工具): ```bash sudo apt install ros-noetic-desktop-full ``` #### 配置 ROS 环境 完成安装后,还需要对环境变量进行必要的配置,使 ROS 正常工作。 1. **初始化 rosdep** 使用以下命令初始化 rosdep 并更新其数据库: ```bash sudo rosdep init && rosdep update ``` 2. **设置环境变量** 将 ROS 的环境变量加载到当前用户的 shell 中。可以通过编辑 `.bashrc` 文件实现自动加载: ```bash echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc source ~/.bashrc ``` 3. **安装依赖项解析器** 如果开发过程中需要用到其他外部库,则可通过如下方式解决依赖关系: ```bash sudo apt install python3-rosinstall python3-rosinstall-generator python3-wstool build-essential ``` 通过以上步骤即可顺利完成 ROS Noetic 在 Ubuntu 20.04 上的安装与基础配置[^2]。 ```python print("ROS Noetic has been successfully installed on your system.") ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

还重名就过分了啊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值