在 Ubuntu 20.04 上,并尝试安装 ROS2 Galactic,需要以下软件包:
sudo apt install -y libpython3-dev
但是,这将返回以下内容:
某些软件包无法安装。这可能意味着您请求了一种不可能的情况,或者如果您使用的是不稳定的发行版,一些必需的软件包尚未创建或已从 Incoming 中移出。以下信息可能有助于解决这种情况: 以下软件包具有未满足的依赖关系: libpython3-dev :依赖:libpython3.8-dev (>= 3.8.2-1~) 但不会安装 E:无法更正问题,你拿着破损的包裹
我尝试安装libpython3.8-dev
,它返回未满足的依赖项
以下软件包具有未满足的依赖关系: libpython3.8-dev :依赖:libexpat1-dev 但不会安装 推荐:libc6-dev 但不会安装或 libc-dev
这条链会持续一段时间。
最终导致:
libc6-dev : Depends: libc6 (= 2.31-0ubuntu9) but 2.31-0ubuntu9.2 is to be installed
然后
libc6 is already the newest version (2.31-0ubuntu9.2).
我努力了:
- sudo apt 自动删除
- Main、Universe 和 Multiverse 都被选为 PPA
- sudo dpkg --configure -a
- sudo apt-get -f 安装
- sudo apt-get 自动清理
- sudo apt-get -u dist-upgrade
在我看来,apt 坏了,它是一个相对较新的 Ubuntu 20.04 安装,所以不知道为什么。我也遇到过类似的 apt 问题,最后我只是重新安装了 Ubuntu 以节省时间。但这次我想弄清楚问题所在。任何帮助表示赞赏。
-- 输出 sudo apt update
点击:1 https://brave-browser-apt-release.s3.brave.com稳定 InRelease 点击:2 http://ca.archive.ubuntu.com/ubuntu焦点 InRelease
点击:3 http://security.ubuntu .com/ubuntu focus-security InRelease
Hit:4 http://archive.canonical.com/ubuntu focus InRelease
Hit:5 http://packages.ros.org/ros2/ubuntu focus InRelease 正在阅读包列表...完成构建依赖树
读取状态信息...完成所有包都是最新的。
在环顾四周之后,由于这个问题,我能够查明问题。
似乎 libc6-dev 需要一个过时的 libc6 版本。所以我跑了:
sudo apt install libc6=2.31-0ubuntu9 libc-bin=2.31-0ubuntu9
降级libc6,它解决了这个问题。不确定这是否是一个长期的解决方案,但它现在似乎有效。
谢谢