abseil/abseil-cpp

[Bug]: Unit tests fails to compile using LTS 20240116.0

Closed this issue · 1 comments

Describe the issue

Tests fails to compile

[ 17% 83/478] /usr/bin/c++ -DGTEST_LINKED_AS_SHARED_LIBRARY=1 -I/usr/ports/devel/abseil/work/abseil-cpp-20240116.0 -I/googletest/include -I/googlemock/include -isystem /usr/local/include -O2 -pipe -march=tigerlake -fstack-protector-strong -fno-strict-aliasing -O2 -pipe -march=tigerlake -fstack-protector-strong -fno-strict-aliasing   -DNDEBUG -Wall -Wextra -Wcast-qual -Wconversion -Wfloat-overflow-conversion -Wfloat-zero-conversion -Wfor-loop-analysis -Wformat-security -Wgnu-redeclared-enum -Winfinite-recursion -Winvalid-constexpr -Wliteral-conversion -Wmissing-declarations -Woverlength-strings -Wpointer-arith -Wself-assign -Wshadow-all -Wstring-conversion -Wtautological-overlap-compare -Wtautological-unsigned-zero-compare -Wundef -Wuninitialized -Wunreachable-code -Wunused-comparison -Wunused-local-typedefs -Wunused-result -Wvla -Wwrite-strings -Wno-float-conversion -Wno-implicit-float-conversion -Wno-implicit-int-float-conversion -Wno-unknown-warning-option -DNOMINMAX -Wno-deprecated-declarations -Wno-implicit-int-conversion -Wno-missing-prototypes -Wno-missing-variable-declarations -Wno-shadow -Wno-shorten-64-to-32 -Wno-sign-compare -Wno-sign-conversion -Wno-unreachable-code-loop-increment -Wno-unused-function -Wno-unused-member-function -Wno-unused-parameter -Wno-unused-private-field -Wno-unused-template -Wno-used-but-marked-unused -Wno-gnu-zero-variadic-macro-arguments -pthread -MD -MT absl/container/CMakeFiles/absl_flat_hash_map_test.dir/flat_hash_map_test.cc.o -MF absl/container/CMakeFiles/absl_flat_hash_map_test.dir/flat_hash_map_test.cc.o.d -o absl/container/CMakeFiles/absl_flat_hash_map_test.dir/flat_hash_map_test.cc.o -c /usr/ports/devel/abseil/work/abseil-cpp-20240116.0/absl/container/flat_hash_map_test.cc
FAILED: absl/container/CMakeFiles/absl_flat_hash_map_test.dir/flat_hash_map_test.cc.o
/usr/bin/c++ -DGTEST_LINKED_AS_SHARED_LIBRARY=1 -I/usr/ports/devel/abseil/work/abseil-cpp-20240116.0 -I/googletest/include -I/googlemock/include -isystem /usr/local/include -O2 -pipe -march=tigerlake -fstack-protector-strong -fno-strict-aliasing -O2 -pipe -march=tigerlake -fstack-protector-strong -fno-strict-aliasing   -DNDEBUG -Wall -Wextra -Wcast-qual -Wconversion -Wfloat-overflow-conversion -Wfloat-zero-conversion -Wfor-loop-analysis -Wformat-security -Wgnu-redeclared-enum -Winfinite-recursion -Winvalid-constexpr -Wliteral-conversion -Wmissing-declarations -Woverlength-strings -Wpointer-arith -Wself-assign -Wshadow-all -Wstring-conversion -Wtautological-overlap-compare -Wtautological-unsigned-zero-compare -Wundef -Wuninitialized -Wunreachable-code -Wunused-comparison -Wunused-local-typedefs -Wunused-result -Wvla -Wwrite-strings -Wno-float-conversion -Wno-implicit-float-conversion -Wno-implicit-int-float-conversion -Wno-unknown-warning-option -DNOMINMAX -Wno-deprecated-declarations -Wno-implicit-int-conversion -Wno-missing-prototypes -Wno-missing-variable-declarations -Wno-shadow -Wno-shorten-64-to-32 -Wno-sign-compare -Wno-sign-conversion -Wno-unreachable-code-loop-increment -Wno-unused-function -Wno-unused-member-function -Wno-unused-parameter -Wno-unused-private-field -Wno-unused-template -Wno-used-but-marked-unused -Wno-gnu-zero-variadic-macro-arguments -pthread -MD -MT absl/container/CMakeFiles/absl_flat_hash_map_test.dir/flat_hash_map_test.cc.o -MF absl/container/CMakeFiles/absl_flat_hash_map_test.dir/flat_hash_map_test.cc.o.d -o absl/container/CMakeFiles/absl_flat_hash_map_test.dir/flat_hash_map_test.cc.o -c /usr/ports/devel/abseil/work/abseil-cpp-20240116.0/absl/container/flat_hash_map_test.cc
/usr/ports/devel/abseil/work/abseil-cpp-20240116.0/absl/container/flat_hash_map_test.cc:113:3: error: static assertion failed due to requirement 'absl::is_trivially_relocatable<std::pair<const int, int>>::value':
  static_assert(
  ^
/usr/ports/devel/abseil/work/abseil-cpp-20240116.0/absl/container/flat_hash_map_test.cc:115:3: error: static assertion failed due to requirement 'std::is_same<std::integral_constant<bool, false>, std::integral_constant<bool, true>>::value':
  static_assert(
  ^
2 errors generated.
ninja: build stopped: subcommand failed.
*** Error code 1

Stop.

Steps to reproduce the problem

Compile with ABSL_BUILD_TESTING BUILD_TESTING ABSL_USE_EXTERNAL_GOOGLETEST ABSL_FIND_GOOGLETEST

What version of Abseil are you using?

Abseil LTS 20240116.0

What operating system and version are you using?

FreeBSD 14.0 (amd64)

What compiler and version are you using?

FreeBSD clang version 16.0.6 (https://github.com/llvm/llvm-project.git llvmorg-16.0.6-0-g7cbf1a259152) (included in base install)

What build system are you using?

cmake version 3.28.1
googletest-1.14.0

Additional context

No response

This is a Clang bug. It has been addressed in Abseil by 14b8a4e.