/usr/lib64/python2.6/site-packages/_sqlitecache.so: undefined symbol: g_assertion_message_expr
作者:阿圣(Sfan) 发布于:2015-1-7 14:01 Wednesday 分类:ErrorLog
问题:
在CentOS release 6.5 下执行使用yum 命令时报错
[root@localhost ~]# yum There was a problem importing one of the Python modules required to run yum. The error leading to this problem was: /usr/lib64/python2.6/site-packages/_sqlitecache.so: undefined symbol: g_assertion_message_expr Please install a package which provides this module, or verify that the module is installed correctly. It's possible that the above module doesn't match the current version of Python, which is: 2.6.6 (r266:84292, Nov 22 2013, 12:16:22) [GCC 4.4.7 20120313 (Red Hat 4.4.7-4)] If you cannot solve this problem yourself, please go to the yum faq at: http://yum.baseurl.org/wiki/Faq
原因:
glib2 库版本与当前的yum 和 pyton 版本不兼容
问题细节:
[root@localhost ~]# ldd /usr/lib64/python2.6/site-packages/_sqlitecache.so linux-vdso.so.1 => (0x00007fffd17f4000) libglib-2.0.so.0 => /usr/local/lib/libglib-2.0.so.0 (0x00007fdad6512000) libxml2.so.2 => /usr/lib64/libxml2.so.2 (0x00007fdad61b1000) libsqlite3.so.0 => /usr/lib64/libsqlite3.so.0 (0x00007fdad5f22000) libpython2.6.so.1.0 => /usr/lib64/libpython2.6.so.1.0 (0x00007fdad5b7c000) libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fdad595e000) libc.so.6 => /lib64/libc.so.6 (0x00007fdad55ca000) libdl.so.2 => /lib64/libdl.so.2 (0x00007fdad53c6000) libz.so.1 => /usr/local/lib/libz.so.1 (0x00007fdad51af000) libm.so.6 => /lib64/libm.so.6 (0x00007fdad4f2b000) libutil.so.1 => /lib64/libutil.so.1 (0x00007fdad4d28000) /lib64/ld-linux-x86-64.so.2 (0x000000350a600000)
正常情况下默认加载的库为 /lib64/ 目录的库.
libglib-2.0.so.0 => /lib64/libglib-2.0.so.0 (0x00007fa3e838d000)查看 LD_LIBRARY_PATH 有加载用户lib目录下的一lib库,用户的glib2库版本过低.调整后问题解决.
[root@localhost ~]# env | grep LD_LIBRARY_PATH LD_LIBRARY_PATH=:/usr/local/lib/:/usr/local/samba/lib/
解决方案:
升级或重新安装 glib2 库,使glib2 库与yum 和 python 兼容
发表评论: