You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu从18.04升级到22.04后安装ROS 2 Humble Desktop时遭遇dpkg错误代码(1)的求助

Ubuntu从18.04升级到22.04后安装ROS 2 Humble Desktop时遭遇dpkg错误代码(1)的求助

我完全理解你从Ubuntu 18.04逐步升级到22.04后,安装ROS2 Humble Desktop碰到这个dpkg错误有多闹心——尤其是对Linux不太熟悉的话,一串依赖报错看着就头大。咱们先从错误根源入手,你日志里最关键的问题是:update-alternatives: error: /var/lib/dpkg/alternatives/mpi corrupt: slave link same as main link /usr/bin/mpicc,也就是mpi的替代配置文件损坏了,这直接导致后续依赖链上的所有包都没法正常配置。

下面是一步步的修复方案,你可以跟着操作:

步骤1:修复损坏的mpi alternatives配置

  • 先查看当前mpi替代配置的状态,确认问题:
    sudo update-alternatives --query mpi
    
  • 如果确实显示配置损坏,先移除这个有问题的替代项:
    sudo update-alternatives --remove-all mpi
    
  • 重新安装openmpi相关的基础包(这是ROS2依赖的mpi版本):
    sudo apt install --reinstall openmpi-bin libopenmpi-dev
    
  • 重新配置mpi的替代规则,设置openmpi为默认:
    sudo update-alternatives --install /usr/bin/mpicc mpicc /usr/bin/mpicc.openmpi 100
    sudo update-alternatives --install /usr/bin/mpicxx mpicxx /usr/bin/mpicxx.openmpi 100
    
    (这里的100是优先级数值,确保openmpi成为默认选择即可)

步骤2:修复未完成配置的依赖包

  • 尝试让dpkg重新配置所有未完成的包:
    sudo dpkg --configure -a
    
  • 如果上面的命令还没解决问题,强制重新安装整个依赖链上的包:
    sudo apt install --reinstall libhdf5-openmpi-dev libhdf5-mpi-dev libvtk9-dev libflann-dev libvtk9-qt-dev libpcl-dev ros-humble-pcl-conversions ros-humble-desktop
    

步骤3:验证安装结果

  • 执行下面的命令,确认ROS2 Humble Desktop是否已正常配置:
    apt list --installed | grep ros-humble-desktop
    
  • 也可以运行ROS2的基础命令,验证环境是否正常:
    ros2 --version
    

附你遇到的完整错误日志:

Reading package lists... Done

Building dependency tree... Done

Reading state information... Done

ros-humble-desktop is already the newest version (0.10.0-1jammy.20231207.082253).
0 to upgrade, 0 to newly install, 0 to remove and 0 not to upgrade.
8 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.
Do you want to continue? [Y/n] y

Setting up libhdf5-openmpi-dev (1.10.7+repack-4ubuntu2) ...
update-alternatives: error: /var/lib/dpkg/alternatives/mpi corrupt: slave link same as main link /usr/bin/mpicc
dpkg: error processing package libhdf5-openmpi-dev (--configure):
 installed libhdf5-openmpi-dev package post-installation script subprocess returned error exit status 2
dpkg: dependency problems prevent configuration of libhdf5-mpi-dev:
 libhdf5-mpi-dev depends on libhdf5-openmpi-dev; however:
 Package libhdf5-openmpi-dev is not configured yet.

dpkg: error processing package libhdf5-mpi-dev (--configure):
 dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of libvtk9-dev:
 libvtk9-dev depends on libhdf5-mpi-dev; however:
 Package libhdf5-mpi-dev is not configured yet.

dpkg: error processing package libvtk9-dev (--configure):
 dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of libflann-dev:amd64:
 libflann-dev:amd64 depends on libhdf5-mpi-dev; however:
 Package libhdf5-mpi-dev is not configured yet.

dpkg: error processing package libflann-dev:amd64 (--configure):
 dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of libvtk9-qt-dev:amd64:
 libvtk9-qt-dev:amd64 depends on libvtk9-dev (= 9.1.0+really9.1.0+dfsg2-3build1); however:
 Package libvtk9-dev is not configured yet.

dpkg: error processing package libvtk9-qt-dev:amd64 (--configure):
 dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of libpcl-dev:
 libpcl-dev depends on libflann-dev; however:
 Package libflann-dev:amd64 is not configured yet.
 libpcl-dev depends on libvtk9-dev; however:
 Package libvtk9-dev is not configured yet.
 libpcl-dev depends on libvtk9-qt-dev; however:
 Package libvtk9-qt-dev:amd64 is not configured yet.

dpkg: error processing package libpcl-dev (--configure):
 dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of ros-humble-pcl-conversions:
 ros-humble-pcl-conversions depends on libpcl-dev; however:
 Package libpcl-dev is not configured yet.

dpkg: error processing package ros-humble-pcl-conversions (--configure):
 dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of ros-humble-desktop:
 ros-humble-desktop depends on ros-humble-pcl-conversions; however:
 Package ros-humble-pcl-conversions is not configured yet.

dpkg: error processing package ros-humble-desktop (--configure):
 dependency problems - leaving unconfigured

Processing triggers for desktop-file-utils (0.26-1ubuntu3) ...
Processing triggers for hicolor-icon-theme (0.17-2) ...
Processing triggers for gnome-menus (3.36.0-1ubuntu3) ...
Processing triggers for libglib2.0-0:amd64 (2.72.4-0ubuntu2.2) ...
Processing triggers for libc-bin (2.35-0ubuntu3.6) ...
Processing triggers for man-db (2.10.2-1) ...
Processing triggers for libreoffice-common (1:7.3.7-0ubuntu0.22.04.4) ...
Processing triggers for mailcap (3.70+nmu1ubuntu1) ...

Errors were encountered while processing:
 libhdf5-openmpi-dev
 libhdf5-mpi-dev
 libvtk9-dev
 libflann-dev:amd64
 libvtk9-qt-dev:amd64
 libpcl-dev
 ros-humble-pcl-conversions
 ros-humble-desktop
E: Sub-process /usr/bin/dpkg returned an error code (1)

备注:内容来源于stack exchange,提问作者Balen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.20 11:07:59