Python 3.11 gives SystemError: type Boost.Python.enum has the Py_TPFLAGS_HAVE_GC flag but has no traverse function
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Accessibilité débutants
- 35/100
Piste de recherche
Commencez dans libs/python/src/object/enum.cpp à la ligne Py_TPFLAGS_HAVE_GC et reproduisez l’échec d’importation de Python 3.11 avec le build Boost 1.80 MSVC signalé. Comparez le comportement avec et sans ce flag, puis vérifiez que le binding s’importe correctement sous Python 3.11 sans casser les versions de Python précédemment prises en charge.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Up to Python 3.10 our Boost Python binding ran fine.
As of Python 3.11 we get the following error upon import of the binding;
SystemError: type Boost.Python.enum has the Py_TPFLAGS_HAVE_GC flag but has no traverse function
Running;
Python 3.11.0 (main, Oct 24 2022, 18:26:48) [MSC v.1933 64 bit (AMD64)] on win32
boost_1_80_0
b2 -j%NUMBER_OF_PROCESSORS% python=3.11 --with-python --stage-libdir=lib64-msvc-14.3 --build-type=complete toolset=msvc-14.3 address-model=64 architecture=x86 debug-symbols=on stage
If I remove line 116 of libs\python\src\object\enum.cpp I don't get the error.
#if PY_VERSION_HEX < 0x03000000
| Py_TPFLAGS_CHECKTYPES
#endif
| Py_TPFLAGS_HAVE_GC /* <============== remove this line */
| Py_TPFLAGS_BASETYPE, /* tp_flags */
Is it safe to do this?
- Langage dominant
- C++
- Étoiles
- 537
- Forks
- 223
- Merge moyen
- 11 h 22 min
- PR mergées (30 j)
- 2
Guide de contribution
Aucun guide de contribution indexé pour ce dépôt
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de boostorg/python
-
numpy::from_data calls vector::front and crashes (or has UB) when called with a scalar object Ouverte
Difficulté 1/5 Moins d'une heure Accessibilité débutants 84/100
-
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
-
Difficulté 2/5 1-3 heures Accessibilité débutants 64/100
-
BoostDetectToolset-1.90.0.cmake file not found in an include() call in boost_python-config.cmake Ouverte
Difficulté 3/5 1-2 jours Accessibilité débutants 48/100
-
Difficulté 4/5 3-5 jours Accessibilité débutants 25/100
Toutes les issues de boostorg/python
Issues similaires
-
Difficulté 2/5 1-3 heures Accessibilité débutants 70/100
google/libultrahdr#485 ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
godotengine/godot#123776 ·
-
bug
Difficulté 1/5 Moins d'une heure Accessibilité débutants 60/100
-
good first issue
Difficulté 1/5 Moins d'une heure Accessibilité débutants 90/100
-
good first issue
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
ros2/common_interfaces#344 ·