Bug#1025658: libboost-python1.74-dev: Python 3.11 changes break loading of boost-python using extensions
Hi Niels, thanks for the note. Yes, I will take care of it. Regards Anton
Bug#1025658: libboost-python1.74-dev: Python 3.11 changes break loading of boost-python using extensions
Hi Anton/Gio, This is breaking a bunch of packages, including packages that directly affect key-packages. Since you maintain boost, could you please apply Stuart's patch and upload? Thanks! On Wed, 07 Dec 2022 12:25:10 +1100 Stuart Prescott wrote: > 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 -- Best, Nilesh signature.asc Description: PGP signature
Bug#1025658: libboost-python1.74-dev: Python 3.11 changes break loading of boost-python using extensions
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 < 0x0300 | Py_TPFLAGS_CHECKTYPES #endif -| Py_TPFLAGS_HAVE_GC | Py_TPFLAGS_BASETYPE, /* tp_flags */ 0, /* tp_doc */ 0, /* tp_traverse */