In file included from [...]/bls-signatures/python-bindings/pythonbindings.cpp:15:
In file included from [...]/bls-signatures/build/_deps/pybind11-src/include/pybind11/operators.h:12:
In file included from [...]/bls-signatures/build/_deps/pybind11-src/include/pybind11/pybind11.h:13:
In file included from [...]/bls-signatures/build/_deps/pybind11-src/include/pybind11/attr.h:13:
In file included from [...]/bls-signatures/build/_deps/pybind11-src/include/pybind11/cast.h:16:
[...]/bls-signatures/build/_deps/pybind11-src/include/pybind11/detail/type_caster_base.h:482:26: error: member access into incomplete type 'PyFrameObject' (aka '_frame')
frame = frame->f_back;
^
/usr/local/opt/python@3.11/Frameworks/Python.framework/Versions/3.11/include/python3.11/pytypedefs.h:22:16: note: forward declaration of '_frame'
typedef struct _frame PyFrameObject;
^
[ 99%] Linking CXX executable runbench
[ 99%] Built target runbench
1 error generated.
Rolling release distros have started to ship with Python 3.11. The functionality needed for Python 3.11 support was added to pybind in 2.10.0 and the version bump along with some other changes were already implemented upstream, so it was only backported.
Failing builds on CMake <3.19
CMake Error at depends/catch2/CMakeLists.txt:22 (add_library):
add_library INTERFACE library requires no source arguments.
Call Stack (most recent call first):
src/CMakeLists.txt:44 (include)
CMake Error at depends/catch2/CMakeLists.txt:28 (target_include_directories):
Cannot specify include directories for target "catch2" which is not built
by this project.
Call Stack (most recent call first):
src/CMakeLists.txt:44 (include)
Ubuntu 20.04 LTS (expected standard support sunset date April 2025) currently ships with CMake 3.16.3 and the develop's CMakeLists.txt requires a minimum version of 3.14.0 but with changes introduced with https://github.com/dashpay/bls-signatures/pull/41, a dependent CMakeFile now relies on functionality introduced in CMake 3.19 ("An interface library target may be created with source files"), which may not be shipped in LTS distributions
Description
This pull request aims to resolve two things
Failing builds on Python 3.11
Rolling release distros have started to ship with Python 3.11. The functionality needed for Python 3.11 support was added to pybind in 2.10.0 and the version bump along with some other changes were already implemented upstream, so it was only backported.
Failing builds on CMake <3.19
Ubuntu 20.04 LTS (expected standard support sunset date April 2025) currently ships with CMake 3.16.3 and the
develop
'sCMakeLists.txt
requires a minimum version of 3.14.0 but with changes introduced with https://github.com/dashpay/bls-signatures/pull/41, a dependent CMakeFile now relies on functionality introduced in CMake 3.19 ("An interface library target may be created with source files"), which may not be shipped in LTS distributions