Package: src:protobuf Version: 3.21.12-16 User: [email protected] Usertags: python3.15 Tags: patch Severity: serious
Hi! While rebuilding the python related packages against the python version 3.15rc1 we found that numba fails to build from source [1], the same issue is reported by the reproducible rebuilds [2]. It seems that this is cause by a deprecation introduced in gcc 15 when trying to combine different types of enums. This problems is already fixed upstream (in the rather opaque merge 6dd8af4ecfa7987bddb309862932886b84f1e4ef), and shipped with versions (\d.)?22+ Please consider adding this or a similar backport in future uploads or consider uploading a newer version. Happy hacking, [1]: https://debusine.debian.net/debian/r-python-python3.15/work-request/1017954/ [2]: https://tests.reproducible-builds.org/debian/rb-pkg/unstable/amd64/protobuf.html -- "Can you imagine what I would do if I could do all I can?" -- Sun Tzu Saludos /\/\ /\ >< `/
Description: Fix build failure with GCC 15 and C++20 due to deprecated enum-enum conversion Author: Maximiliano Curia <[email protected]> Bug: https://github.com/protocolbuffers/protobuf/issues/11355 Origin: upstream, https://github.com/protocolbuffers/protobuf/commit/6dd8af4ecfa7987bddb309862932886b84f1e4ef Index: protobuf-3.21.12/src/google/protobuf/generated_message_tctable_impl.h =================================================================== --- protobuf-3.21.12.orig/src/google/protobuf/generated_message_tctable_impl.h +++ protobuf-3.21.12/src/google/protobuf/generated_message_tctable_impl.h @@ -183,54 +183,54 @@ static_assert(kFmtShift + kFmtBits <= 16 // Convenience aliases (16 bits, with format): enum FieldType : uint16_t { // Numeric types: - kBool = kFkVarint | kRep8Bits, + kBool = 0 | kFkVarint | kRep8Bits, - kFixed32 = kFkFixed | kRep32Bits | kFmtUnsigned, - kUInt32 = kFkVarint | kRep32Bits | kFmtUnsigned, - kSFixed32 = kFkFixed | kRep32Bits | kFmtSigned, - kInt32 = kFkVarint | kRep32Bits | kFmtSigned, - kSInt32 = kFkVarint | kRep32Bits | kFmtSigned | kTvZigZag, - kFloat = kFkFixed | kRep32Bits | kFmtFloating, - kEnum = kFkVarint | kRep32Bits | kFmtEnum | kTvEnum, - kEnumRange = kFkVarint | kRep32Bits | kFmtEnum | kTvRange, - kOpenEnum = kFkVarint | kRep32Bits | kFmtEnum, - - kFixed64 = kFkFixed | kRep64Bits | kFmtUnsigned, - kUInt64 = kFkVarint | kRep64Bits | kFmtUnsigned, - kSFixed64 = kFkFixed | kRep64Bits | kFmtSigned, - kInt64 = kFkVarint | kRep64Bits | kFmtSigned, - kSInt64 = kFkVarint | kRep64Bits | kFmtSigned | kTvZigZag, - kDouble = kFkFixed | kRep64Bits | kFmtFloating, - - kPackedBool = kFkPackedVarint | kRep8Bits, - - kPackedFixed32 = kFkPackedFixed | kRep32Bits | kFmtUnsigned, - kPackedUInt32 = kFkPackedVarint | kRep32Bits | kFmtUnsigned, - kPackedSFixed32 = kFkPackedFixed | kRep32Bits | kFmtSigned, - kPackedInt32 = kFkPackedVarint | kRep32Bits | kFmtSigned, - kPackedSInt32 = kFkPackedVarint | kRep32Bits | kFmtSigned | kTvZigZag, - kPackedFloat = kFkPackedFixed | kRep32Bits | kFmtFloating, - kPackedEnum = kFkPackedVarint | kRep32Bits | kFmtEnum | kTvEnum, - kPackedEnumRange = kFkPackedVarint | kRep32Bits | kFmtEnum | kTvRange, - kPackedOpenEnum = kFkPackedVarint | kRep32Bits | kFmtEnum, - - kPackedFixed64 = kFkPackedFixed | kRep64Bits | kFmtUnsigned, - kPackedUInt64 = kFkPackedVarint | kRep64Bits | kFmtUnsigned, - kPackedSFixed64 = kFkPackedFixed | kRep64Bits | kFmtSigned, - kPackedInt64 = kFkPackedVarint | kRep64Bits | kFmtSigned, - kPackedSInt64 = kFkPackedVarint | kRep64Bits | kFmtSigned | kTvZigZag, - kPackedDouble = kFkPackedFixed | kRep64Bits | kFmtFloating, + kFixed32 = 0 | kFkFixed | kRep32Bits | kFmtUnsigned, + kUInt32 = 0 | kFkVarint | kRep32Bits | kFmtUnsigned, + kSFixed32 = 0 | kFkFixed | kRep32Bits | kFmtSigned, + kInt32 = 0 | kFkVarint | kRep32Bits | kFmtSigned, + kSInt32 = 0 | kFkVarint | kRep32Bits | kFmtSigned | kTvZigZag, + kFloat = 0 | kFkFixed | kRep32Bits | kFmtFloating, + kEnum = 0 | kFkVarint | kRep32Bits | kFmtEnum | kTvEnum, + kEnumRange = 0 | kFkVarint | kRep32Bits | kFmtEnum | kTvRange, + kOpenEnum = 0 | kFkVarint | kRep32Bits | kFmtEnum, + + kFixed64 = 0 | kFkFixed | kRep64Bits | kFmtUnsigned, + kUInt64 = 0 | kFkVarint | kRep64Bits | kFmtUnsigned, + kSFixed64 = 0 | kFkFixed | kRep64Bits | kFmtSigned, + kInt64 = 0 | kFkVarint | kRep64Bits | kFmtSigned, + kSInt64 = 0 | kFkVarint | kRep64Bits | kFmtSigned | kTvZigZag, + kDouble = 0 | kFkFixed | kRep64Bits | kFmtFloating, + + kPackedBool = 0 | kFkPackedVarint | kRep8Bits, + + kPackedFixed32 = 0 | kFkPackedFixed | kRep32Bits | kFmtUnsigned, + kPackedUInt32 = 0 | kFkPackedVarint | kRep32Bits | kFmtUnsigned, + kPackedSFixed32 = 0 | kFkPackedFixed | kRep32Bits | kFmtSigned, + kPackedInt32 = 0 | kFkPackedVarint | kRep32Bits | kFmtSigned, + kPackedSInt32 = 0 | kFkPackedVarint | kRep32Bits | kFmtSigned | kTvZigZag, + kPackedFloat = 0 | kFkPackedFixed | kRep32Bits | kFmtFloating, + kPackedEnum = 0 | kFkPackedVarint | kRep32Bits | kFmtEnum | kTvEnum, + kPackedEnumRange = 0 | kFkPackedVarint | kRep32Bits | kFmtEnum | kTvRange, + kPackedOpenEnum = 0 | kFkPackedVarint | kRep32Bits | kFmtEnum, + + kPackedFixed64 = 0 | kFkPackedFixed | kRep64Bits | kFmtUnsigned, + kPackedUInt64 = 0 | kFkPackedVarint | kRep64Bits | kFmtUnsigned, + kPackedSFixed64 = 0 | kFkPackedFixed | kRep64Bits | kFmtSigned, + kPackedInt64 = 0 | kFkPackedVarint | kRep64Bits | kFmtSigned, + kPackedSInt64 = 0 | kFkPackedVarint | kRep64Bits | kFmtSigned | kTvZigZag, + kPackedDouble = 0 | kFkPackedFixed | kRep64Bits | kFmtFloating, // String types: - kBytes = kFkString | kFmtArray, - kRawString = kFkString | kFmtUtf8 | kTvUtf8Debug, - kUtf8String = kFkString | kFmtUtf8 | kTvUtf8, + kBytes = 0 | kFkString | kFmtArray, + kRawString = 0 | kFkString | kFmtUtf8 | kTvUtf8Debug, + kUtf8String = 0 | kFkString | kFmtUtf8 | kTvUtf8, // Message types: - kMessage = kFkMessage, + kMessage = 0 | kFkMessage, // Map types: - kMap = kFkMap, + kMap = 0 | kFkMap, }; // clang-format on

