如何在没有启用sigaltstack的情况下编译python 3?

时间:2013-10-23 15:48:02

标签: python python-3.x compilation makefile configure

This project表示Python 3 must be compiled without sigaltstack enabled.那么在没有启用sigaltstack的情况下编译Python 3需要做什么?

1 个答案:

答案 0 :(得分:3)

使用您想要的选项运行./configure。然后,除pyconfig.hMakefile,...之外,您还会获得 config.log

修改pyconfig.h:找到包含HAVE_SIGALTSTACK的行,删除或注释掉该行。

#define HAVE_SIGALTSTACK 1

然后,make,...


如何确认:检查faulthandler模块是否具有_stack_overflow功能。它应该没有它。

>>> import faulthandler
>>> print(hasattr(faulthandler, '_stack_overflow'))
False

根据faulthandler module documentation

  

故障处理程序与Apport等系统故障处理程序兼容   或Windows错误处理程序。该模块使用替代堆栈   信号处理程序,如果sigaltstack()函数可用。这个   允许它甚至在堆栈溢出时转储回溯。