前言:
疫情又开始啦!隔离在家整一下N手电脑装ROS的各种BUG【真的是枯了】
从最最最基本的安装开始错误不断可惜社区和网站上的各种解决方式大多不是自己需要的,这个blog就当做记录报错与解决错误的日志吧。
写这篇日志的时候博主已经改了一天的BUG,遇到并解决的BUG少说有两位数,过往一笔勾销,从ROSCORE验证ROS是否装好开始
在Terminal中运行以下命令:
$ roscore
报错:
- 意思是:roslaunch未安装
解决措施:
$ sudo apt-get install ros-noetic-roslaunch
然后显示的内容中文含义是: ros-noetic-roslaunch :
依赖: ros-noetic-xx 但是它将不会被安装
依赖: ros-noetic-xxx但是它将不会被安装
ERROR: 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系。
- 有很多小伙伴就卡在这里然后不知所措以为自己哪里装错了(比如博主本人),经过网上各种搜索查阅发现没什么有用的信息,因为通用的解决方法是:update或者upgrade,但实际上这种解决方法十分片面,先不说不一定会解决,即使解决也是治标不治本,不知道症结所在,最后装了很多没用的东西也装失败了很多有用的东西,我想这时候一定有很多小伙伴自己甚至想直接重装系统
- 博主在经过了反复挣扎后终于决定自力更生,自己探索开创新世界!事实证明博主是对的,废话说的也够本了,接下来揭示报错原因和解决方法:
过程:
既然依赖: ros-noetic-xx没有安装,那么不妨先安装上
这里博主未安装的依赖是ros-noetic-roslib,于是
sudo apt install ros-noetic-roslib
结果ERROR与上面的格式一样 依旧是下列软件包有未满足的依赖关系:
ros-noetic-roslib : 依赖: ros-noetic-rospack 但是它将不会被安装
好吧,那我们继续:
sudo apt install ros-noetic-roslib
结果:ros-noetic-roslib : 依赖: ros-noetic-rospack 但是它将不会被安装
继续:
sudo apt install ros-noetic-rospack
结果: ros-noetic-rospack : 依赖: python3-dev 但是它将不会被安装
继续:
sudo apt install python3-dev
结果:python3-dev : 依赖: python3.8-dev (>= 3.8.2-1~) 但是它将不会被安装
继续:
udo apt install python3.8-dev
结果: python3.8-dev : 依赖: zlib1g-dev 但是它将不会被安装
继续:
sudo apt install zlib1g-dev
结果: zlib1g-dev : 依赖: zlib1g (= 1:1.2.11.dfsg-2ubuntu1.2) 但是 1:1.2.12.1-1+eagle 正要被安装
划重点!!! 终于不一样了,这里可以看到是因为有一个zlib1g正在被安装,所以才会产生的冲突,那么怎么办呢?
将zlib1g降级就好了呀!
sudo apt install zlib1g=1:1.2.11.dfsg-2ubuntu1.2
好的,今日份的bug解决,不信再安装roslaunch一下试试,顺利通过。贴一下roslaunch成功后的图:
温馨提醒:roscore之前要记得先运行这两行代码哦:
$ echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc
$ source ~/.bashrc