Ubuntu20.04安装ROS Neotic修复依赖问题过程记录

出现的问题:

下列软件包有未满足的依赖关系:
ros-noetic-desktop-full : 依赖: ros-noetic-desktop 但是它将不会被安装

    依赖: ros-noetic-perception 但是它将不会被安装

    依赖: ros-noetic-simulators 但是它将不会被安装

    依赖: ros-noetic-urdf-sim-tutorial 但是它将不会被安装
E: 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系。

即使再卸载重装也没用,所以用了以下方法修复:

1、将ubuntu更换为国内源。

2、命令行输入aptitude,用自适应安装来解决:

sudo apt-get install aptitude  
sudo aptitude install ros-noetic-desktop
sudo aptitude install ros-noetic-perception
sudo aptitude install ros-noetic-simulator
...

结果还是出现各种问题。

>下列软件包有未满足的依赖关系:
 ros-noetic-image-view : 依赖: libgtk-3-dev 但是它将不会被安装

    gcc-10-base:i386{a} gir1.2-harfbuzz-0.0{a} libatk-bridge2.0-dev{ab} libatk1.0-dev{a} libatspi2.0-dev{a} libblkid-dev{a} libblkid1:i386{a} libc6:i386{a} libcairo-script-interpreter2{a} 

    libcairo2-dev{a} libcrypt1:i386{a} libdatrie-dev{a} libdbus-1-dev{ab} libdrm-dev{a} libegl1-mesa-dev{a} libelf1:i386{a} libepoxy-dev{a} libffi-dev{a} libffi7:i386{a} libfribidi-dev{a} 

    libgcc-s1:i386{a} libgdk-pixbuf2.0-dev{a} libglib2.0-0:i386{ab} libglib2.0-bin:i386{ab} libglib2.0-dev{ab} libglib2.0-dev-bin{a} libgraphite2-dev{a} libgtk-3-dev{b} libharfbuzz-dev{a} 

    libharfbuzz-gobject0{a} libidn2-0:i386{a} libmount-dev{a} libmount1:i386{a} libpango1.0-dev{a} libpcre2-8-0:i386{a} libpcre2-dev{a} libpcre2-posix2{a} libpcre3:i386{a} libpixman-1-dev{a} 

    libselinux1:i386{a} libselinux1-dev{a} libsepol1-dev{a} libthai-dev{a} libunistring2:i386{a} libwayland-bin{a} libwayland-dev{a} libx11-xcb-dev{a} libxcb-dri2-0-dev{a} libxcb-dri3-dev{a} 

    libxcb-glx0-dev{a} libxcb-present-dev{a} libxcb-randr0-dev{a} libxcb-render0-dev{a} libxcb-shape0-dev{a} libxcb-shm0-dev{a} libxcb-sync-dev{a} libxcb-xfixes0-dev{a} libxcomposite-dev{a} 

    libxcursor-dev{a} libxdamage-dev{a} libxfixes-dev{a} libxi-dev{a} libxinerama-dev{a} libxkbcommon-dev{a} libxrandr-dev{a} libxshmfence-dev{a} libxtst-dev{a} libxxf86vm-dev{a} mesa-common-dev{a} 

    pango1.0-tools{a} wayland-protocols{a} x11proto-input-dev{a} x11proto-randr-dev{a} x11proto-record-dev{a} x11proto-xf86vidmode-dev{a} x11proto-xinerama-dev{a} zlib1g:i386{a} 
0 个软件包被升级,新安装 77 个,0 个将被删除, 同时 1 个将不升级。需要获取 13.6 MB 的存档。解包后将要使用 79.9 MB。aptitude 未能找到这些依赖的解决方法。您可以自己手动解决或输入“n”来退出。下列软件包存在未满足的依赖关系:
libgtk-3-dev : 依赖: gir1.2-gtk-3.0 (= 3.24.18-1ubuntu1) 但是 3.24.20-0ubuntu1 已安装
依赖: libgtk-3-0 (= 3.24.18-1ubuntu1) 但是 3.24.20-0ubuntu1 已安装
libglib2.0-bin : 冲突: libglib2.0-bin:i386 但是 2.64.2-1~fakesync1 将被安装
libglib2.0-bin:i386 : 冲突: libglib2.0-bin 但是 2.64.3-1~ubuntu20.04.1 已安装
libdbus-1-dev : 依赖: libdbus-1-3 (= 1.12.16-2ubuntu2) 但是 1.12.16-2ubuntu2.1 已安装
libglib2.0-dev : 依赖: libglib2.0-0 (= 2.64.2-1~fakesync1) 但是 2.64.3-1~ubuntu20.04.1 已安装
libatk-bridge2.0-dev : 依赖: libatk-bridge2.0-0 (= 2.34.1-3) 但是 2.34.2-0ubuntu2~20.04.1 已安装
libglib2.0-0 : 破坏: libglib2.0-0:i386 (!= 2.64.3-1~ubuntu20.04.1) 但是 2.64.2-1~fakesync1 将被安装
libglib2.0-0:i386 : 破坏: libglib2.0-0 (!= 2.64.2-1~fakesync1) 但是 2.64.3-1~ubuntu20.04.1 已安装

即使我最终成功安装上ROS,但是失去了桌面还有什么意义……头疼。

总之,千万不要再用aptitude解决了!无法解决!对小白来说真的不好用。

以下成功解决的过程记录:

考虑到别人都没出现我的问题,可能是ubuntu20.04自动更新python、gnome、libg等库导致的。

首先重装系统,并且在装好后不做任何更新,系统换为阿里源,安装ROS使用ustc源:

jillian@jillian-VirtualBox:~$ sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.ustc.edu.cn/ros/ubuntu/ lsb_release -cs main" > /etc/apt/sources.list.d/ros-latest.list'
jillian@jillian-VirtualBox:~$ sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
Executing: /tmp/apt-key-gpghome.PZ8h0p2dmL/gpg.1.sh --keyserver 
hkp://keyserver.ubuntu.com:80 --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
gpg: 密钥 F42ED6FBAB17C654:公钥 “Open Robotics info@osrfoundation.org” 已导入
gpg: 处理的总数:1
gpg: 已导入:1jillian@jillian-VirtualBox:~$ sudo apt update命中:1 http://mirrors.aliyun.com/ubuntu focal InRelease命中:2 
http://mirrors.aliyun.com/ubuntu focal-updates InRelease命中:3 
http://mirrors.aliyun.com/ubuntu focal-backports InRelease忽略:4 
http://mirrors.ustc.edu.cn/ros/ubuntu focal InRelease命中:5 
http://mirrors.aliyun.com/ubuntu focal-security InRelease错误:6 
http://mirrors.ustc.edu.cn/ros/ubuntu focal Release
正在读取软件包列表... 完成
E: 仓库 “http://mirrors.ustc.edu.cn/ros/ubuntu focal Release” 没有 Release 文件。
N: 无法安全地用该源进行更新,所以默认禁用该源。
N: 参见 apt-secure(8) 手册以了解仓库创建和用户配置方面的细节。
jillian@jillian-VirtualBox:~$ sudo apt install ros-noetic-desktop-full
正在读取软件包列表... 完成
正在分析软件包的依赖关系树正在读取状态信息... 完成
E: 无法定位软件包 ros-noetic-desktop-full

无法安装,于是勾选focal-proposed选项:

(勾选这个选项以后,可安装的核心组件会变多,然而继续不更新)

FOCAL-ROS-INSTALL

依然无法安装: E: 无法定位软件包 ros-noetic-desktop-full

此时可以软件更新器中可以安装的更新分为 【安全更新】和【其他更新】,后者是勾选了focal选项后多出来的。

firefox和输入法也不要管,这时候只选择【安全更新】中的Ubuntu核心组件。

ROS-INSTALL-1

ROS-INSTALL-2

安装完毕后,sudo apt update。

但还是出现错误, 默认禁用该源。

直接重启。然后系统阿里云源换为华为源,没变化。

最后把ROS的源从中科大换成清华,这次有变化了。

sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.tuna.tsinghua.edu.cn/ros/ubuntu/ lsb_release -cs main" > /etc/apt/sources.list.d/ros-latest.list'

jillian@jillian-VirtualBox:~$ sudo apt update
忽略:1 http://mirrors.tuna.tsinghua.edu.cn/ros/ubuntu focal InRelease
获取:2 http://mirrors.tuna.tsinghua.edu.cn/ros/ubuntu focal Release [3.788 B]
命中:3 http://mirrors.huaweicloud.com/repository/ubuntu focal InRelease
获取:4 http://mirrors.tuna.tsinghua.edu.cn/ros/ubuntu focal Release.gpg [819 B]
命中:5 http://mirrors.huaweicloud.com/repository/ubuntu focal-updates InRelease
命中:6 http://mirrors.huaweicloud.com/repository/ubuntu focal-backports InRelease
获取:7 http://mirrors.tuna.tsinghua.edu.cn/ros/ubuntu focal/main i386 Packages [15,4 kB]
命中:8 http://mirrors.huaweicloud.com/repository/ubuntu focal-security InRelease
获取:9 http://mirrors.tuna.tsinghua.edu.cn/ros/ubuntu focal/main amd64 Packages [276 kB]
命中:10 http://mirrors.huaweicloud.com/repository/ubuntu focal-proposed InRelease
已下载 296 kB,耗时 1秒 (315 kB/s)                     
正在读取软件包列表... 完成
正在分析软件包的依赖关系树       
正在读取状态信息... 完成       
有 90 个软件包可以升级。请执行 ‘apt list --upgradable’ 来查看它们。

到这里就可以正常安装:(不进行升级)

jillian@jillian-VirtualBox:~$ sudo apt install ros-noetic-desktop-full

这样中间没有任何错误产生,成功安装。

ROS-END-NOETIC

  • 10
    点赞
  • 37
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 8
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

canmoumou

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

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

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

打赏作者

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

抵扣说明:

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

余额充值