Bug#995987: python3.10: Please build with -DWITH_PYMALLOC_RADIX_TREE=0 on ia64

John Paul Adrian Glaubitz <[email protected]>
Newsgroups gmane.linux.debian.ports.ia64
Message-ID <163378276794.1551466.6569388388492089734.reportbug__28857.3742190906$1633785336$gmane$org@nofan.physik.fu-berlin.de>
Source: python3.10
Severity: normal
User: [email protected]
Usertags: ia64
X-Debbugs-Cc: [email protected]

Hi!

Python 3.10 introduced a new memory allocator which is not compatible with
64-bit systems with large virtual address spaces at the moment because it
assumes address spaces to be limited to 48 bits [1].

This causes the Python interpretor to segfault on ia64. This problem can
be avoided by building with -DWITH_PYMALLOC_RADIX_TREE=0. For me, the following
change to debian/rules was sufficient:

--- debian/rules.orig   2021-10-08 12:10:19.000000000 +0000
+++ debian/rules        2021-10-09 12:04:40.362349542 +0000
@@ -179,6 +179,7 @@
 # on ia64, disable -O3 until gcc bug #85412 is fixed
 ifeq ($(DEB_HOST_ARCH),ia64)
     EXTRA_OPT_CFLAGS += -O2
+    DPKG_CPPFLAGS += -DWITH_PYMALLOC_RADIX_TREE=0
 endif
 # see #972202, and https://gcc.gnu.org/PR97431
 ifneq (,$(filter $(DEB_HOST_ARCH), hppa sh4))

FWIW, I think we can even drop the "EXTRA_OPT_CFLAGS += -O2" again as I could
build cpython from git without overriding the optimization level on the ia64
porterbox.

Thanks,
Adrian

> [1] https://github.com/python/cpython/pull/14474

--
 .''`.  John Paul Adrian Glaubitz
: :' :  Debian Developer - [email protected]
`. `'   Freie Universitaet Berlin - [email protected]
  `-    GPG: 62FF 8A75 84E0 2956 9546  0006 7426 3B37 F5B5 F913
python-ia64-disable-radix-tree.diff (text/plain, 397 B)
--- debian/rules.orig	2021-10-08 12:10:19.000000000 +0000
+++ debian/rules	2021-10-09 12:04:40.362349542 +0000
@@ -179,6 +179,7 @@
 # on ia64, disable -O3 until gcc bug #85412 is fixed
 ifeq ($(DEB_HOST_ARCH),ia64)
     EXTRA_OPT_CFLAGS += -O2
+    DPKG_CPPFLAGS += -DWITH_PYMALLOC_RADIX_TREE=0
 endif
 # see #972202, and https://gcc.gnu.org/PR97431
 ifneq (,$(filter $(DEB_HOST_ARCH), hppa sh4))
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.