Package: libboost-python1.74-dev Version: 1.74.0-17+b2 Severity: serious Tags: patch Justification: Breaks reverse dependencies with Python 3.11 X-Debbugs-Cc: stu...@debian.org, debian-pyt...@lists.debian.org
Dear Maintainer, Python 3.11 has changed some details around types and GC; boost's enum.cpp needs modifying to cope. The result of this change is that trying to load an extension compiled with Debian's boost 1.74 results in a C++ exception being thrown and, since not properly handled, the following rather obscure error: SystemError: initialization of $module raised unreported exception Further details courtesy of Alastair McKinstry's debugging work are to be found at https://bugs.debian.org/1024911#14 So far, we've spotted this problem in: cctbx: https://bugs.debian.org/1024859 ecflow: https://bugs.debian.org/1024911 python-pgmagick: https://bugs.debian.org/1023909 The attached patch is a (trivial) backport of the upstream change for this: https://github.com/boostorg/python/commit/a218babc8daee904a83f550fb66e5cb3f1cb3013 I've verified that the attached patch solves the Python 3.11 incompatibility of python-pgmagick, allowing it to successfully build, meaning that it is now able to load its boost-python extensions for the test suite. regards Stuart
Description: Tweak enum for python 3.11 compatibility Backport upstream patch for compatibility with python 3.11 Origin: https://github.com/boostorg/python/commit/a218babc8daee904a83f550fb66e5cb3f1cb3013 --- a/libs/python/src/object/enum.cpp +++ b/libs/python/src/object/enum.cpp @@ -119,7 +119,6 @@ #if PY_VERSION_HEX < 0x03000000 | Py_TPFLAGS_CHECKTYPES #endif - | Py_TPFLAGS_HAVE_GC | Py_TPFLAGS_BASETYPE, /* tp_flags */ 0, /* tp_doc */ 0, /* tp_traverse */