2012年5月28日星期一

libgail加载错误

在Ubuntu 12.04下面,运行GTK或者PyGTK程序都会出现如下错误:
Gtk-Message: Failed to load module "gail"

** (ancestry.py:8295): WARNING **: (../../atk-adaptor/bridge.c:793):adaptor_init: runtime check failed: (root)
这篇文章提到类似的错误,原因是32位加载了64位的libgail库。电脑上安装的libgail.so文件只有32位的:
$ locate libgail.so
/usr/lib/i386-linux-gnu/gtk-2.0/modules/libgail.so
$ file `locate libgail.so`
/usr/lib/i386-linux-gnu/gtk-2.0/modules/libgail.so: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, BuildID[sha1]=0xaa9af3bc0239d5c04771d390b3e9ea1fe4277d03, stripped
找到对应的包:
$ dpkg -S /usr/lib/i386-linux-gnu/gtk-2.0/modules/libgail.so
libgail-common:i386: /usr/lib/i386-linux-gnu/gtk-2.0/modules/libgail.so
在Synaptic(Aptitude处理multiarch有bug)里面libgail-common有两个:libgail-common:i386libgail-common,后面这个是64位的,安装上后文章开始的错误便消失了。

没有评论:

发表评论