如何解决SUSE平台python编译问题“Failed to build these modules: _curses_panel”

11 篇文章 0 订阅

常规手法编译安装:

./configure –prefix=/home/oracle/sj/python2.7

make 后提示如下:
To find the necessary bits, look in setup.py in detect_modules() for the module’s name.

Failed to build these modules: _curses_panel

第一反应肯定是遗漏装了curses_panel 需要的RPM包,查看setup.py 文件,查看curses相关发现:
# Curses support, requiring the System V version of curses, often
# provided by the ncurses library.
所以需要安装ncurses相关的RPM包,对于RPM的搜索可以在线查找http://rpmfind.net/
查看系统是否已经安装:

rpm -qa|grep ncurses
libncurses5-32bit-5.6-90.55
ncurses-devel-5.6-90.55
ncurses-devel-32bit-5.6-90.55
yast2-ncurses-pkg-2.17.16-0.1.77
libncurses5-5.6-90.55
libncurses6-32bit-5.6-90.55
libncurses6-5.6-90.55
yast2-ncurses-2.17.17-0.4.38
ncurses-utils-5.6-90.55


好了,奇怪了,都已经有了。查看make 出错日志

building ‘_curses_panel’ extension
gcc -pthread -fPIC -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/home/oracle/sj/python2.7/include -I.
-IInclude -I./Include -I/usr/local/include -I/home/oracle/sj/software/needed_python/Python-2.7.3/Include -I/home/oracle/sj/software/needed_python/
Python-2.7.3 -c /home/oracle/sj/software/needed_python/Python-2.7.3/Modules/_curses_panel.c
-o build/temp.linux-x86_64-2.7/home/oracle/sj/software/needed_python/Python-2.7.3/Modules/_curses_panel.o
/home/oracle/sj/software/needed_python/Python-2.7.3/Modules/_curses_panel.c:17:19: error: panel.h: No such file or directory

发现找不到panel.h 文件,然后怀疑查看Include是不是少文件了?
gcc 默认应该会扫描/usr/include和/usr/local/include寻找对应H文件

find /usr/include -name “panel.h”
/usr/include/ncurses6/ncurses/panel.h
/usr/include/ncurses6/ncursesw/panel.h
/usr/include/ncurses/panel.h
/usr/include/ncursesw/panel.h

OK,修改Python-2.7.3/Modules/_curses_panel.c 文件
#include /usr/include/ncurses/panel.h

重新编译即可

后发现http://bugs.python.org/issue12271已经有补丁可以修复

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值