升级到 16.04 后 libgtk 出现问题

升级到 16.04 后 libgtk 出现问题

将 ubuntu 升级到 16.04 后,一些图形功能开始无法正常工作。例如,ccsm从命令行运行会出现以下错误:

Traceback (most recent call last):
  File "/usr/bin/ccsm", line 32, in <module>
    import gtk
  File "/usr/lib/python2.7/dist-packages/gtk-2.0/gtk/__init__.py", line 40, in <module>
    from gtk import _gtk
ImportError: /usr/lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0: undefined symbol: XRRGetMonitors

font-manager出现以下错误:

Error: Importing pygtk and gtk modules failed (/usr/lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0: undefined symbol: XRRGetMonitors)

我应该怎么办 ?

显卡:AMD Radeon R7 260X。

输出lspci -nn | grep VGA

01:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Bonaire XTX [Radeon R7 260X/360] [1002:6658]

答案1

我最近遇到了这个问题,并将其追溯到不兼容的副本libXrandr.so.2

在出现问题的机器上:

[20:45:36] [shane@ShanePC:~]$ ldd /usr/lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0 | grep -i randr
        libXrandr.so.2 => /usr/local/lib/libXrandr.so.2 (0x00007fc9133be000)
[20:45:43] [shane@ShanePC:~]$

在没有问题的机器上:

[21:07:46] [shane@Xion:~]$ ldd /usr/lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0 | grep -i randr
        libXrandr.so.2 => /usr/lib/x86_64-linux-gnu/libXrandr.so.2 (0x00007f1542b7b000)
[21:07:51] [shane@Xion:~]$

删除杂散库/usr/local/lib/(来自 2014 年)解决了我的问题。

正确的库来自libxrandr2包,因此如果ldd它指向正确的位置,重新安装它也可能会有所帮助。

答案2

看起来你缺少 libgtk2.0-0:am​​d64 包

sudo apt-get install libgtk2.0-0:amd64

我通过在我的系统上找到文件并运行来验证这一点

dpkg -S /usr/lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0

我的直觉是,由于安装的某些部分没有正常工作,您将缺少更多库。运行这些命令可能值得,以确保您拥有所需的所有软件包。

sudo apt-get update
sudo apt-get dist upgrade

编辑:

看起来该文件的版本可能已损坏,您可以尝试重新安装该包

  sudo apt-get purge libgtk2.0-0:amd64
  sudo apt-get install libgtk2.0-0:amd64

相关内容