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:~]$
私のインスタンスでは、(2014 年の)不要なライブラリを削除することで/usr/local/lib/
問題が解決しました。
正しいライブラリはパッケージから取得されるため、正しい場所を指しているlibxrandr2
場合は、それを再インストールすると役立つこともあります。ldd
答え2
libgtk2.0-0:amd64 パッケージが不足しているようです
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