protobuf: conflict with abseil-cpp@20250512: for @26:29 - #6070
protobuf: conflict with abseil-cpp@20250512: for @26:29#6070zackgalbreath wants to merge 1 commit into
Conversation
There was a problem hiding this comment.
@zackgalbreath, a nitpick would be that protobuf@23:25 ^abseil-cpp@20260107.1 are building (at least with gcc@14 and gcc@16):
spack find protobuf@:29 +shared ^abseil-cpp@20260107.1
-- linux-ubuntu24.04-x86_64_v4 / %c,cxx=gcc@14.3.0 --------------
protobuf@23.3 protobuf@24.3 protobuf@25.3
-- linux-ubuntu24.04-x86_64_v4 / %c,cxx=gcc@16.0.1 --------------
protobuf@23.3 protobuf@24.3 protobuf@25.3
==> 6 installed packagesBelow protobuf@23, there are older errors. Because these are older versions, I refrain from suggesting to add a special exception for them just to allow them to use ^abseil-cpp@20260107.1. I'd assume the older versions could be deprecated, but that would be separate discussion, I guess.
|
Besides the approved conflict on abseil-cpp@20250512: for @:29, these are the gcc version conflicts I found: # GCC version limits of older protobuf versions:
conflicts("%gcc@15:", when="@22.2 +shared") # single release broken for gcc >= 15
conflicts("%gcc@13:", when="@:3.2.0 +shared")
conflicts("%gcc@11:", when="@:3.1.0 +shared")They can be added in a separate PR of course and are for much older versions only. These are my 189 builds of protobuf grouped by compiler version, not every entry is covered, but the edges of what builds are covered (it's a wide table, spack find protobuf # ("protobuf@" removed to not be a wide table):
-- linux-ubuntu24.04-x86_64_v4 / %c,cxx=gcc@10.5.0 --------------
3.0.2 3.1.0 3.2.0 3.3.0 3.4.0 3.4.1 3.5.0
-- linux-ubuntu24.04-x86_64_v4 / %c,cxx=gcc@11.5.0 --------------
3.5.0.1 3.5.2 3.7.1 3.9.2 3.11.0 3.11.3 3.12.1
3.5.1 3.6.1 3.8.0 3.10.0 3.11.1 3.11.4 3.12.3
3.5.1.1 3.7.0 3.9.1 3.10.1 3.11.2 3.12.0
-- linux-ubuntu24.04-x86_64_v4 / %c,cxx=gcc@12.4.0 --------------
3.3.0 3.4.1 3.5.0.1 3.5.1.1 3.6.1 3.14.0 3.15.1 21.12
3.4.0 3.5.0 3.5.1 3.5.2 3.7.0 3.15.0 3.15.2
-- linux-ubuntu24.04-x86_64_v4 / %c,cxx=gcc@13.3.0 --------------
3.3.0 3.9.1 3.11.3 3.14.0 3.15.4 3.18.0 3.20.2 21.7
3.4.0 3.9.2 3.11.4 3.15.0 3.15.4 3.18.2 3.20.3 21.9
3.4.1 3.10.0 3.12.0 3.15.0 3.15.5 3.19.2 21.1 21.12
3.5.0 3.10.1 3.12.1 3.15.1 3.15.7 3.19.3 21.2 21.12
3.5.0.1 3.11.0 3.12.2 3.15.1 3.16.0 3.19.4 21.3 22.2
3.5.1 3.11.1 3.12.3 3.15.2 3.17.0 3.20.0 21.4 22.2
3.8.0 3.11.2 3.13.0 3.15.2 3.17.3 3.20.1 21.5
-- linux-ubuntu24.04-x86_64_v4 / %c,cxx=gcc@14.3.0 --------------
3.3.0 3.4.1 21.12 23.3 25.3 33.1 34.1
3.4.0 21.9 22.2 24.3 33.0 34.0
-- linux-ubuntu24.04-x86_64_v4 / %c,cxx=gcc@15.2.0 --------------
3.3.0 3.4.0 3.4.1 21.4 21.5 21.7 21.9 21.12 28.2
-- linux-ubuntu24.04-x86_64_v4 / %c,cxx=gcc@16.0.1 --------------
3.3.0 3.7.0 3.11.2 3.15.4 3.19.3 21.4 25.3 32.1
3.4.0 3.7.1 3.11.3 3.15.5 3.19.4 21.5 25.3 33.0
3.4.1 3.8.0 3.11.4 3.15.7 3.20.0 21.7 26.1 33.1
3.5.0 3.9.1 3.12.0 3.16.0 3.20.1 21.9 27.5 34.0
3.5.0.1 3.9.2 3.12.1 3.17.0 3.20.2 21.12 28.2 34.1
3.5.1 3.10.0 3.12.2 3.17.3 3.20.3 23.3 28.3
3.5.1.1 3.10.1 3.15.0 3.18.0 21.1 23.3 29.3
3.5.2 3.11.0 3.15.1 3.18.2 21.2 24.3 30.2
3.6.1 3.11.1 3.15.2 3.19.2 21.3 24.3 31.1
-- linux-ubuntu24.04-x86_64_v4 / %c,cxx=rocmcc@7.2.3 ------------
3.12.2 3.13.0
==> 189 installed packages |
The `absl::if_constexpr` target was removed in the 20250512 release of abseil-cpp. protobuf attempts to link to it in versions 26:29 Signed-off-by: Zack Galbreath <zack.galbreath@kitware.com>
04493e5 to
a933a42
Compare
You're right, thanks for pointing this out. I took a closer look and I found that protobuf v26 - v29 link against |
|
Ack, approved, no further concerns from my side. As a hint: With other errors (I guess related to not supported cxxstd or so), versions below 23 ( |
The
absl::if_constexprtarget was removed in the 20250512 release of abseil-cpp. protobuf attempts to link to it in versions 26:29