修正ubuntu 18.04上执行"sudo apt upgrade"报告"libc6-dev-armhf-cross"升级出错

最近自己电脑上的ubuntu 18.04在更新软件的时候报告如下错误信息:

$ sudo apt upgrade
正在读取软件包列表... 完成
正在分析软件包的依赖关系树       
正在读取状态信息... 完成       
正在计算更新... 完成
下列软件包将被升级:
  libc6-armhf-cross libc6-dev-armhf-cross
升级了 2 个软件包,新安装了 0 个软件包,要卸载 0 个软件包,有 0 个软件包未被升级。
需要下载 0 B/2,904 kB 的归档。
解压缩后会消耗 0 B 的额外空间。
您希望继续执行吗? [Y/n] 
(正在读取数据库 ... 系统当前共安装有 239272 个文件和目录。)
正准备解包 .../libc6-dev-armhf-cross_2.27-3ubuntu1cross1.1_all.deb  ...
正在将 libc6-dev-armhf-cross (2.27-3ubuntu1cross1.1) 解包到 (2.27-3ubuntu1cross1) 上 ...
dpkg: 处理归档 /var/cache/apt/archives/libc6-dev-armhf-cross_2.27-3ubuntu1cross1.1_all.deb (--unpack)时出错:
 无法打开 /usr/arm-linux-gnueabihf/lib/Mcrt1.o.dpkg-new : 没有那个文件或目录
错误信息显示本地系统有一些问题,因此没有写入 apport 报告
                                                        正准备解包 .../libc6-armhf-cross_2.27-3ubuntu1cross1.1_all.deb  ...
正在将 libc6-armhf-cross (2.27-3ubuntu1cross1.1) 解包到 (2.27-3ubuntu1cross1) 上 ...
dpkg: 处理归档 /var/cache/apt/archives/libc6-armhf-cross_2.27-3ubuntu1cross1.1_all.deb (--unpack)时出错:
 无法打开 /usr/arm-linux-gnueabihf/lib/ld-2.27.so.dpkg-new : 没有那个文件或目录
错误信息显示本地系统有一些问题,因此没有写入 apport 报告
                                                        在处理时有错误发生:
 /var/cache/apt/archives/libc6-dev-armhf-cross_2.27-3ubuntu1cross1.1_all.deb
 /var/cache/apt/archives/libc6-armhf-cross_2.27-3ubuntu1cross1.1_all.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

如果系统语言为英文,则错误信息如下:

$ sudo apt upgrade
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Calculating upgrade... Done
The following packages will be upgraded:
  libc6-armhf-cross libc6-dev-armhf-cross
2 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 0 B/2,904 kB of archives.
After this operation, 0 B of additional disk space will be used.
Do you want to continue? [Y/n] 
(Reading database ... 239272 files and directories currently installed.)
Preparing to unpack .../libc6-dev-armhf-cross_2.27-3ubuntu1cross1.1_all.deb ...
Unpacking libc6-dev-armhf-cross (2.27-3ubuntu1cross1.1) over (2.27-3ubuntu1cross1) ...
dpkg: error processing archive /var/cache/apt/archives/libc6-dev-armhf-cross_2.27-3ubuntu1cross1.1_all.deb (--unpack):
 unable to open '/usr/arm-linux-gnueabihf/lib/Mcrt1.o.dpkg-new': No such file or directory
No apport report written because the error message indicates an issue on the local system
         Preparing to unpack .../libc6-armhf-cross_2.27-3ubuntu1cross1.1_all.deb ...
Unpacking libc6-armhf-cross (2.27-3ubuntu1cross1.1) over (2.27-3ubuntu1cross1) ...
dpkg: error processing archive /var/cache/apt/archives/libc6-armhf-cross_2.27-3ubuntu1cross1.1_all.deb (--unpack):
 unable to open '/usr/arm-linux-gnueabihf/lib/ld-2.27.so.dpkg-new': No such file or directory
No apport report written because the error message indicates an issue on the local system
         Errors were encountered while processing:
 /var/cache/apt/archives/libc6-dev-armhf-cross_2.27-3ubuntu1cross1.1_all.deb
 /var/cache/apt/archives/libc6-armhf-cross_2.27-3ubuntu1cross1.1_all.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

解决方法为卸载后重新安装,而不使用升级安装:

$ sudo apt remove libc6-dev-armhf-cross

$ sudo apt install libc6-dev-armhf-cross

参考链接


How do I fix an error with libc6-dev-armhf-cross in Ubuntu 18.04 when trying to apt upgrade?