Slackware64 13.37下Scribes Editor编译报错:PyGTKSpell绑定路径问题解决方案


阅读 4 次

问题现象

在Slackware64 13.37系统上编译Scribes Editor时,配置脚本报错提示找不到PyGTKSpell的Python绑定:

Error: Python bindings for gtkspell was not found.
configure: error: Error: Dependency check failed

尽管已安装以下软件包:

gtkspell-2.0.16-x86_64-1
pygtkspell-2.25.3-i486-3sl

路径差异分析

系统实际安装路径与配置脚本查找路径存在差异:

  • 实际路径:/usr/lib/python2.6/site-packages/gtk-2.0/
  • 查找路径:${prefix}/lib64/python2.6/site-packages

解决方案

方法一:创建符号链接

sudo ln -s /usr/lib/python2.6/site-packages/gtk-2.0/gtkspell.* \
/usr/lib64/python2.6/site-packages/

方法二:修改环境变量

export PYTHONPATH=/usr/lib/python2.6/site-packages/gtk-2.0:$PYTHONPATH
./autogen.sh

方法三:手动指定路径

修改configure.ac文件,添加以下内容:

AC_SUBST([PYGTKSPELL_DIR], ["/usr/lib/python2.6/site-packages/gtk-2.0"])

验证方法

在Python交互环境中测试是否成功加载模块:

import sys
sys.path.append('/usr/lib/python2.6/site-packages/gtk-2.0')
import gtkspell
print(gtkspell.__file__)

兼容性说明

由于Slackware64使用lib64目录结构,而Python包默认安装到lib目录,建议创建以下软链接:

sudo ln -s /usr/lib/python2.6 /usr/lib64/python2.6

编译参数建议

完整编译命令示例:

CFLAGS="-I/usr/include/gtkspell-2.0" \
LDFLAGS="-L/usr/lib -lgtkspell" \
PYTHONPATH=/usr/lib/python2.6/site-packages \
./autogen.sh --prefix=/usr