Bug#1025658: libboost-python1.74-dev: Python 3.11 changes break loading of boost-python using extensions

2022-12-11 Thread Anton Gladky
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

2022-12-11 Thread Nilesh Patra
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

2022-12-06 Thread Stuart Prescott
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 */