2

这个项目指出,Python 3 must be compiled without sigaltstack enabled. 那么在没有启用 sigaltstack 的情况下,我需要做什么来编译 Python 3?

4

1 回答 1

3

./configure使用您想要的选项运行。然后,您将获得pyconfig.h除了Makefile, config.log, ... 。

编辑pyconfig.h:查找包含HAVE_SIGALTSTACK、删除或注释掉该行的行。

#define HAVE_SIGALTSTACK 1

那么make,……


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

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

根据faulthandler模块文档

故障处理程序与 Appor 或 Windows 故障处理程序等系统故障处理程序兼容。如果 sigaltstack() 函数可用,则模块使用替代堆栈作为信号处理程序。这允许它即使在堆栈溢出时也能转储回溯。

于 2013-10-23T16:10:09.863 回答