升级到16.04后libgtk出现问题
将ubuntu升级到16.04后,一些图形内容开始无法正常工作。 例如,从命令行运行ccsm
将给出以下错误:
Traceback (most recent call last): File "/usr/bin/ccsm", line 32, in import gtk File "/usr/lib/python2.7/dist-packages/gtk-2.0/gtk/__init__.py", line 40, in 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
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]
我最近遇到了这个问题,并将其追溯到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
将其指向正确的位置。
看起来你错过了libgtk2.0-0:amd64包
sudo apt-get install libgtk2.0-0:amd64
我通过查找系统上的文件并运行来validation这一点
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