Open AlexK-BD opened 1 year ago
absl/hash/hash_test.cc
external/com_google_absl/absl/hash/hash_test.cc: In instantiation of 'struct {anonymous}::IsAggregateInitializable<absl::lts_20220623::hash_internal::Hash<{anonymous}::IsHashableTest_PoisonHash_Test::TestBody()::X> >': external/com_google_absl/absl/hash/hash_test.cc:909:3: required from here external/com_google_absl/absl/hash/hash_test.cc:884:22: error: use of deleted function 'absl::lts_20220623::hash_internal::PoisonedHash::PoisonedHash()' : std::true_type {}; ^ In file included from external/com_google_absl/absl/hash/hash.h:85, from external/com_google_absl/absl/hash/hash_test.cc:15: external/com_google_absl/absl/hash/internal/hash.h:1208:3: note: declared here PoisonedHash() = delete; ^~~~~~~~~~~~ external/com_google_absl/absl/hash/hash_test.cc:884:22: error: use of deleted function 'absl::lts_20220623::hash_internal::PoisonedHash::PoisonedHash()' : std::true_type {}; ^ In file included from external/com_google_absl/absl/hash/hash.h:85, from external/com_google_absl/absl/hash/hash_test.cc:15: external/com_google_absl/absl/hash/internal/hash.h:1208:3: note: declared here PoisonedHash() = delete; ^~~~~~~~~~~~
This problem only seems to occur when building with
-std=gnu++17
. The line in question has a comment about GCC since version 9, so it's possible that GCC version 8 withgnu++17
has the same problem.
It looks like the first issue worked in GCC 8.3 and was broken by GCC 8.4. I'm not sure, but it's possible that GCC 8.4 wasn't released at the time.
The second issue already has a fix.
I'm not sure either of these issues are severe enough to warrant an LTS patch. Are they causing issues for you?
A new LTS will be cut very soon.
We use a local mirror/fork repo of abseil, so I've deployed these fixes to a branch there already. So really, so long as things get fixed eventually (so that my changes on top of stock LTS don't keep piling up over time and I can easily pull upstream) this is not an issue.
Describe the issue
When trying to run
bazel test @com_google_absl://...
, I encountered two build issues:absl/hash/hash_test.cc
This problem only seems to occur when building with
-std=gnu++17
. The line in question has a comment about GCC since version 9, so it's possible that GCC version 8 withgnu++17
has the same problem.absl/flags/flag_benchmark.cc
Long error spew, but all coming from the same line:
(rest omitted)
The master branch has a fix for this in 553491a54cdb842ab583942e1058cbdcedd32018 which references issue #1340
Steps to reproduce the problem
First issue:
Second issue needs a newer version of benchmark; update WORKSPACE:
Then build:
What version of Abseil are you using?
8c0b94e793a66495e0b1f34a5eb26bd7dc672db0
(lts_2022_06_23, tag: 20220623.1
)What operating system and version are you using?
Ubuntu 18.04
What compiler and version are you using?
What build system are you using?
bazel 6.0.0 and bazel 5.3.1
Additional context
No response