执行ROS安装命令:
sudo apt-get update
sudo apt-get install ros-melodic-desktop-full
出现错误:
无法安装某些包。这可能意味着您
请求了一种不可能的情况,或者如果您使用的是不稳定的
发行版,一些必需的软件包尚未创建
或已从 Incoming 中移出。
以下信息可能有助于解决这种情况:
以下软件包具有未满足的依赖关系:
ros-melodic-desktop-full :依赖:ros-melodic-desktop 但不会安装
依赖:ros-melodic-perception 但它是不会安装
依赖:ros-melodic-simulators 但不会安装
依赖:ros-melodic-urdf-sim-tutorial 但不会安装
顺序执行安装依赖:
sudo apt-get install ros-melodic-desktop
提示:
以下软件包有未满足的依赖关系:
ros-melodic-desktop : 依赖: ros-melodic-urdf-tutorial 但不会安装
依赖: ros-melodic-visualization-tutorials 但不会安装
依赖: ros-melodic-viz 但不会安装
继续依赖安装:
sudo apt-get install ros-melodic-urdf-tutorial
系统提示:
以下软件包有未满足的依赖关系:
ros-melodic-urdf-tutorial : 依赖: ros-melodic-rviz 但它不会被安装
E: 无法纠正问题,你有损坏的包。
接续安装依赖:
apt-get install ros-melodic-rviz
系统提示:
以下软件包有未满足的依赖关系:
ros-melodic-rviz : Depends: libgl1-mesa-dev but it is not going to be installed
Depends: libglu1-mesa-dev but it is not going to be installed
E: Unable to correct问题,你有损坏的包。
继续安装依赖:
apt-get install libgl1-mesa-dev
系统提示:
他以下包有未满足的依赖:
libgl1-mesa-dev : Depends: mesa-common-dev (= 20.0.8- 0ubuntu1~18.04.1) 但不会安装
Depends: libdrm-dev (》= 2.4.95) but it is not going to be installed
E: 无法纠正问题,你有损坏的包。
继续安装依赖:
apt-get install mesa-common-dev
系统提示:
The以下软件包具有未满足的依赖关系:
mesa-common-dev :依赖:libdrm-dev (》= 2.4.95) 但不会安装
E:无法纠正问题,您持有损坏的软件包。
安装继续依赖库:
apt-get install libdrm-dev
系统提示如下信息,这里的信息是非常关键的,ROS 需要 libdrm2 (= 2.4.101-2~18.04.1),但是firefly 定制的系统是修改了库的版本 2.4 .101-2~18.04.1firefly1。所以导致整个ROS出现问题。
以下包有未满足的依赖关系:
libdrm-dev : Depends: libdrm2 (= 2.4.101-2~18.04.1) but 2.4.101-2~ 18.04.1firefly1 将被安装
解决方法:虽然可以通过分析导致ROS 不能安装的原因是部分标准的回溯库修改了名字,所以我们这里只是被这些库修改了名字。下面是其中的方法,核心思想就是
#思路1
aptitude remove libdrm2 #
思路2:应该是可以的,现在不容易复现问题正确了,核心思想就是让aptitude替换掉libdrm2的版本
aptitude install libdrm-dev
这里,aptitude了一个位置不变的方案,被我拒绝了,然后提出更换libdrm2 [2.4.101-2~18.04.1firefly1 (now) -》 2.4.101-2 ~18.04.1 (bionic-updates)]的方案。
以下操作将解决这些依赖关系:
将以下包保持在当前版本:
1) libdrm2 [2.4.101-2~18.04.1firefly1 (now)]
接受此解决方案? [Y/n/q/?] n
以下操作将解决这些依赖关系:
删除以下软件包:
1) libdrm-tests [2.4.101-2~18.04.1firefly1 (now)]
2) libkms1 [2.4.101-2~18.04.1firefly1 (now)]
安装以下软件包:
3) libdrm- common [2.4.101-2~18.04.1 (bionic-updates)]
降级以下软件包:
4) libdrm2 [2.4.101-2~18.04.1firefly1 (now) -》 2.4.101-2~18.04.1 ( bionic-updates)]
接受这个解决方案吗?[Y/n/q/?] Y
以下软件包将被降级:
libdrm2
总结:按照上面的方法,可以解决ROS的ros-melodic-desktop的依赖问题。 RK3566-PC安装ROS成功。