0.5.1: fails to build with python 3.11 (due to pybind11 error)
Steps to reproduce
- Try to build with Python 3.11
c568a950 updated the bundled pybind11 (upsteam states 2.10.1 fully supports Python 3.11) but there hasn't been any release yet including this updated pybind11 version so a new tag/release supporting Python 3.11 would be highly appreciated, though of course not sure if there's more work to do down the road except from just updating pybind11. An option to build with external pybind11 would be nice of course as well.
Result
[ 19%] Building CXX object external/QtAppSetup/src/CMakeFiles/QtAppSetup.dir/app/scripting/python/register_machinery.cpp.o
cd /var/tmp/paludis/build/media-gfx-glaxnimate-0.5.1/work/build/external/QtAppSetup/src && /usr/bin/x86_64-pc-linux-gnu-c++ -DQT_CORE_LIB -DQT_GUI_LIB -DQT_NO_DEBUG -DQT_WIDGETS_LIB -I/var/tmp/paludis/build/media-gfx-glaxnimate-0.5.1/work/build/external/QtAppSetup/src -I/var/tmp/paludis/build/media-gfx-glaxnimate-0.5.1/work/glaxnimate/external/QtAppSetup/src -I/var/tmp/paludis/build/media-gfx-glaxnimate-0.5.1/work/build/external/QtAppSetup/src/QtAppSetup_autogen/include -I/usr/x86_64-pc-linux-gnu/include/python3.11 -I/var/tmp/paludis/build/media-gfx-glaxnimate-0.5.1/work/glaxnimate/external/QtAppSetup/external/pybind11/include -I/var/tmp/paludis/build/media-gfx-glaxnimate-0.5.1/work/glaxnimate/external/Qt-Color-Widgets/include -I/var/tmp/paludis/build/media-gfx-glaxnimate-0.5.1/work/build/external/Qt-Color-Widgets -isystem /usr/x86_64-pc-linux-gnu/include/qt5 -isystem /usr/x86_64-pc-linux-gnu/include/qt5/QtWidgets -isystem /usr/x86_64-pc-linux-gnu/include/qt5/QtGui -isystem /usr/x86_64-pc-linux-gnu/include/qt5/QtCore -isystem /usr/x86_64-pc-linux-gnu/lib/qt5/mkspecs/linux-g++ -march=native -O2 -pipe -fPIC -std=gnu++17 -MD -MT external/QtAppSetup/src/CMakeFiles/QtAppSetup.dir/app/scripting/python/register_machinery.cpp.o -MF CMakeFiles/QtAppSetup.dir/app/scripting/python/register_machinery.cpp.o.d -o CMakeFiles/QtAppSetup.dir/app/scripting/python/register_machinery.cpp.o -c /var/tmp/paludis/build/media-gfx-glaxnimate-0.5.1/work/glaxnimate/external/QtAppSetup/src/app/scripting/python/register_machinery.cpp
In file included from /var/tmp/paludis/build/media-gfx-glaxnimate-0.5.1/work/glaxnimate/external/QtAppSetup/external/pybind11/include/pybind11/cast.h:16,
from /var/tmp/paludis/build/media-gfx-glaxnimate-0.5.1/work/glaxnimate/external/QtAppSetup/external/pybind11/include/pybind11/attr.h:13,
from /var/tmp/paludis/build/media-gfx-glaxnimate-0.5.1/work/glaxnimate/external/QtAppSetup/external/pybind11/include/pybind11/pybind11.h:13,
from /var/tmp/paludis/build/media-gfx-glaxnimate-0.5.1/work/glaxnimate/external/QtAppSetup/external/pybind11/include/pybind11/embed.h:12,
from /var/tmp/paludis/build/media-gfx-glaxnimate-0.5.1/work/glaxnimate/external/QtAppSetup/src/app/scripting/python/casters.hpp:18,
from /var/tmp/paludis/build/media-gfx-glaxnimate-0.5.1/work/glaxnimate/external/QtAppSetup/src/app/scripting/python/register_machinery.hpp:9,
from /var/tmp/paludis/build/media-gfx-glaxnimate-0.5.1/work/glaxnimate/external/QtAppSetup/src/app/scripting/python/python_engine.cpp:3:
/var/tmp/paludis/build/media-gfx-glaxnimate-0.5.1/work/glaxnimate/external/QtAppSetup/external/pybind11/include/pybind11/detail/type_caster_base.h: In function 'std::string pybind11::detail::error_string()':
/var/tmp/paludis/build/media-gfx-glaxnimate-0.5.1/work/glaxnimate/external/QtAppSetup/external/pybind11/include/pybind11/detail/type_caster_base.h:482:26: error: invalid use of incomplete type 'PyFrameObject' {aka 'struct _frame'}
482 | frame = frame->f_back;
| ^~
In file included from /usr/x86_64-pc-linux-gnu/include/python3.11/Python.h:42,
from /var/tmp/paludis/build/media-gfx-glaxnimate-0.5.1/work/glaxnimate/external/QtAppSetup/external/pybind11/include/pybind11/detail/common.h:215,
from /var/tmp/paludis/build/media-gfx-glaxnimate-0.5.1/work/glaxnimate/external/QtAppSetup/external/pybind11/include/pybind11/pytypes.h:12,
from /var/tmp/paludis/build/media-gfx-glaxnimate-0.5.1/work/glaxnimate/external/QtAppSetup/external/pybind11/include/pybind11/cast.h:13:
/usr/x86_64-pc-linux-gnu/include/python3.11/pytypedefs.h:22:16: note: forward declaration of 'PyFrameObject' {aka 'struct _frame'}
22 | typedef struct _frame PyFrameObject;
| ^~~~~~
/var/tmp/paludis/build/media-gfx-glaxnimate-0.5.1/work/glaxnimate/external/QtAppSetup/external/pybind11/include/pybind11/embed.h: In function 'void pybind11::detail::set_interpreter_argv(int, const char* const*, bool)':
/var/tmp/paludis/build/media-gfx-glaxnimate-0.5.1/work/glaxnimate/external/QtAppSetup/external/pybind11/include/pybind11/embed.h:167:20: warning: 'void PySys_SetArgvEx(int, wchar_t**, int)' is deprecated [-Wdeprecated-declarations]
167 | PySys_SetArgvEx(argc, pysys_argv, static_cast<int>(add_program_dir_to_path));
| ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/x86_64-pc-linux-gnu/include/python3.11/Python.h:96:
/usr/x86_64-pc-linux-gnu/include/python3.11/sysmodule.h:14:38: note: declared here
14 | Py_DEPRECATED(3.11) PyAPI_FUNC(void) PySys_SetArgvEx(int, wchar_t **, int);
| ^~~~~~~~~~~~~~~
In file included from /var/tmp/paludis/build/media-gfx-glaxnimate-0.5.1/work/glaxnimate/external/QtAppSetup/external/pybind11/include/pybind11/cast.h:16,
from /var/tmp/paludis/build/media-gfx-glaxnimate-0.5.1/work/glaxnimate/external/QtAppSetup/external/pybind11/include/pybind11/attr.h:13,
from /var/tmp/paludis/build/media-gfx-glaxnimate-0.5.1/work/glaxnimate/external/QtAppSetup/external/pybind11/include/pybind11/pybind11.h:13,
from /var/tmp/paludis/build/media-gfx-glaxnimate-0.5.1/work/glaxnimate/external/QtAppSetup/external/pybind11/include/pybind11/embed.h:12,
from /var/tmp/paludis/build/media-gfx-glaxnimate-0.5.1/work/glaxnimate/external/QtAppSetup/src/app/scripting/python/casters.hpp:18,
from /var/tmp/paludis/build/media-gfx-glaxnimate-0.5.1/work/glaxnimate/external/QtAppSetup/src/app/scripting/python/register_machinery.hpp:9,
from /var/tmp/paludis/build/media-gfx-glaxnimate-0.5.1/work/glaxnimate/external/QtAppSetup/src/app/scripting/python/register_machinery.cpp:1:
/var/tmp/paludis/build/media-gfx-glaxnimate-0.5.1/work/glaxnimate/external/QtAppSetup/external/pybind11/include/pybind11/detail/type_caster_base.h: In function 'std::string pybind11::detail::error_string()':
/var/tmp/paludis/build/media-gfx-glaxnimate-0.5.1/work/glaxnimate/external/QtAppSetup/external/pybind11/include/pybind11/detail/type_caster_base.h:482:26: error: invalid use of incomplete type 'PyFrameObject' {aka 'struct _frame'}
482 | frame = frame->f_back;
| ^~
In file included from /usr/x86_64-pc-linux-gnu/include/python3.11/Python.h:42,
from /var/tmp/paludis/build/media-gfx-glaxnimate-0.5.1/work/glaxnimate/external/QtAppSetup/external/pybind11/include/pybind11/detail/common.h:215,
from /var/tmp/paludis/build/media-gfx-glaxnimate-0.5.1/work/glaxnimate/external/QtAppSetup/external/pybind11/include/pybind11/pytypes.h:12,
from /var/tmp/paludis/build/media-gfx-glaxnimate-0.5.1/work/glaxnimate/external/QtAppSetup/external/pybind11/include/pybind11/cast.h:13:
/usr/x86_64-pc-linux-gnu/include/python3.11/pytypedefs.h:22:16: note: forward declaration of 'PyFrameObject' {aka 'struct _frame'}
22 | typedef struct _frame PyFrameObject;
| ^~~~~~
/var/tmp/paludis/build/media-gfx-glaxnimate-0.5.1/work/glaxnimate/external/QtAppSetup/external/pybind11/include/pybind11/embed.h: In function 'void pybind11::detail::set_interpreter_argv(int, const char* const*, bool)':
/var/tmp/paludis/build/media-gfx-glaxnimate-0.5.1/work/glaxnimate/external/QtAppSetup/external/pybind11/include/pybind11/embed.h:167:20: warning: 'void PySys_SetArgvEx(int, wchar_t**, int)' is deprecated [-Wdeprecated-declarations]
167 | PySys_SetArgvEx(argc, pysys_argv, static_cast<int>(add_program_dir_to_path));
| ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/x86_64-pc-linux-gnu/include/python3.11/Python.h:96:
/usr/x86_64-pc-linux-gnu/include/python3.11/sysmodule.h:14:38: note: declared here
14 | Py_DEPRECATED(3.11) PyAPI_FUNC(void) PySys_SetArgvEx(int, wchar_t **, int);
| ^~~~~~~~~~~~~~~
make[2]: *** [external/QtAppSetup/src/CMakeFiles/QtAppSetup.dir/build.make:303: external/QtAppSetup/src/CMakeFiles/QtAppSetup.dir/app/scripting/python/python_engine.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
Error:
* In program cave perform install --hooks --managed-output --output-exclusivity with-others =media-gfx/glaxnimate-0.5.1:0::media --destination installed --replacing =media-gfx/glaxnimate-0.5.1:0::installed --x-of-y 1 of 1:
* When installing 'media-gfx/glaxnimate-0.5.1:0::media' replacing { 'media-gfx/glaxnimate-0.5.1:0::installed' }:
* When running an ebuild command on 'media-gfx/glaxnimate-0.5.1:0::media':
* Install failed for 'media-gfx/glaxnimate-0.5.1:0::media' (paludis::ActionFailedError)
make[2]: Leaving directory '/var/tmp/paludis/build/media-gfx-glaxnimate-0.5.1/work/build'
make[1]: Leaving directory '/var/tmp/paludis/build/media-gfx-glaxnimate-0.5.1/work/build'
make[2]: *** [external/QtAppSetup/src/CMakeFiles/QtAppSetup.dir/build.make:317: external/QtAppSetup/src/CMakeFiles/QtAppSetup.dir/app/scripting/python/register_machinery.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:587: external/QtAppSetup/src/CMakeFiles/QtAppSetup.dir/all] Error 2
make: *** [Makefile:159: all] Error 2
Version
0.5.1