从 16.04 到 18.04 的依赖关系损坏(libpangoft2-1.0.so.0 中的 hb_font_funcs_set_variation_glyph_func 的符号查找错误)

从 16.04 到 18.04 的依赖关系损坏(libpangoft2-1.0.so.0 中的 hb_font_funcs_set_variation_glyph_func 的符号查找错误)

我一直在分阶段升级我的操作系统,以达到最新的 LTS 版本。昨天,我按照此处帖子中的建议,在运行“sudo apt-get update; sudo apt-get upgrade; sudo apt-get dist-upgrade”后,运行了“do-release-upgrade”。升级后,出现了许多损坏的依赖关系。

现在,突触apt-get, 和软件属性-gtk并且许多其他重要程序将无法运行,并产生此错误:

synaptic:符号查找错误:/usr/lib/x86_64-linux-gnu/libpangoft2-1.0.so.0:未定义符号:hb_font_funcs_set_variation_glyph_func

apt --fix-broken install或等命令sudo apt-get install -f以及其他常用建议均未解决问题。还有其他策略可以尝试吗?


$ which synaptic
/usr/sbin/synaptic

$ dpkg -S $(which synaptic)
synaptic: /usr/bin/synaptic

$ ldd $(which synaptic) | grep local
# produces no result. 

$ dpkg -S /usr/lib/x86_64-linux-gnu/libpangoft2-1.0.so.0
libpangoft2-1.0-0:amd64: /usr/lib/x86_64-linux-gnu/libpangoft2-1.0.so.0
$ apt-cache policy synaptic libpangoft2-1.0-0
synaptic:
  Installed: 0.83
  Candidate: 0.84.3ubuntu1
  Version table:
     0.84.3ubuntu1 500
        500 http://us.archive.ubuntu.com/ubuntu bionic/universe amd64 Packages
 *** 0.83 100
        100 /var/lib/dpkg/status
libpangoft2-1.0-0:
  Installed: 1.40.14-1ubuntu0.1
  Candidate: 1.40.14-1ubuntu0.1
  Version table:
 *** 1.40.14-1ubuntu0.1 500
        500 http://us.archive.ubuntu.com/ubuntu bionic-updates/main amd64 Packages
        500 http://security.ubuntu.com/ubuntu bionic-security/main amd64 Packages
        100 /var/lib/dpkg/status
     1.40.14-1 500
        500 http://us.archive.ubuntu.com/ubuntu bionic/main amd64 Packages
spowell@raven:/etc/apt$ apt-cache policy synaptic libpangoft2-1.0-0
synaptic:
  Installed: 0.83
  Candidate: 0.84.3ubuntu1
  Version table:
     0.84.3ubuntu1 500
        500 http://us.archive.ubuntu.com/ubuntu bionic/universe amd64 Packages
 *** 0.83 100
        100 /var/lib/dpkg/status
libpangoft2-1.0-0:
  Installed: 1.40.14-1ubuntu0.1
  Candidate: 1.40.14-1ubuntu0.1
  Version table:
 *** 1.40.14-1ubuntu0.1 500
        500 http://us.archive.ubuntu.com/ubuntu bionic-updates/main amd64 Packages
        500 http://security.ubuntu.com/ubuntu bionic-security/main amd64 Packages
        100 /var/lib/dpkg/status
     1.40.14-1 500
        500 http://us.archive.ubuntu.com/ubuntu bionic/main amd64 Packages

The output of 'dpkg -l | grep ^ii -v' is available at pastebin https://pastebin.com/HhJu3mZu

The output of 'sudo aptitude safe-upgrade' is:

> The following packages will be REMOVED:  
  groff-base{u} libgdbm5{u} libpipeline1{u} man-db{u} 
The following partially installed packages will be configured:
  bsdmainutils libbsd0 liblocale-gettext-perl libsmartcols1 libtinfo5 libuuid1 
0 packages upgraded, 0 newly installed, 4 to remove and 0 not upgraded.
Need to get 0 B of archives. After unpacking 6,017 kB will be freed.
Do you want to continue? [Y/n/?] Y
dpkg: error: duplicate file trigger interest for filename '/usr/lib/gdk-pixbuf-2.0/2.10.0/loaders' and package 'libgdk-pixbuf2.0-0:i386'
E: Sub-process /usr/bin/dpkg returned an error code (2)
dpkg: error: duplicate file trigger interest for filename '/usr/lib/gdk-pixbuf-2.0/2.10.0/loaders' and package 'libgdk-pixbuf2.0-0:i386'


答案1

该问题的解决分为多个步骤:

  1. 安装所有升级,无需删除软件包

    sudo aptitude safe-upgrade
    
  2. 删除重复的/usr/lib/gdk-pixbuf-2.0/2.10.0/loaders触发器/var/lib/dpkg/triggers/File

要安装所有升级,我建议运行

sudo apt-get update
sudo apt-get dist-upgrade

相关内容