Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

22.2: problem with building protobuf afgainst system installed absl #12201

Closed
kloczek opened this issue Mar 10, 2023 · 28 comments
Closed

22.2: problem with building protobuf afgainst system installed absl #12201

kloczek opened this issue Mar 10, 2023 · 28 comments
Assignees

Comments

@kloczek
Copy link

kloczek commented Mar 10, 2023

Looks like something is wrong with way of detecting absl by cmake (3.25.2) or how cmake absl module is used by protobuf.
Fact is that currently it is no tpossible correctly detect absl

+ /usr/bin/cmake -B x86_64-redhat-linux-gnu -D BUILD_SHARED_LIBS=ON -D CMAKE_AR=/usr/bin/gcc-ar -D CMAKE_BUILD_TYPE=RelWithDebInfo -D CMAKE_C_FLAGS_RELEASE=-DNDEBUG -D CMAKE_CXX_FLAGS_RELEASE=-DNDEBUG -D CMAKE_Fortran_FLAGS_RELEASE=-DNDEBUG -D CMAKE_INSTALL_PREFIX=/usr -D CMAKE_NM=/usr/bin/gcc-nm -D CMAKE_RANLIB=/usr/bin/gcc-ranlib -D CMAKE_VERBOSE_MAKEFILE=ON -D INCLUDE_INSTALL_DIR=/usr/include -D LIB_INSTALL_DIR=/usr/lib64 -D LIB_SUFFIX=64 -D SHARE_INSTALL_PREFIX=/usr/share -D SYSCONF_INSTALL_DIR=/etc -S . -D protobuf_ABSL_PROVIDER=ON -D protobuf_BUILD_TESTS=ON -D protobuf_USE_EXTERNAL_GTEST=ON
-- The C compiler identification is GNU 13.0.1
-- The CXX compiler identification is GNU 13.0.1
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/gcc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/g++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
--
-- 22.2.0
-- Performing Test protobuf_HAVE_LD_VERSION_SCRIPT
-- Performing Test protobuf_HAVE_LD_VERSION_SCRIPT - Success
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE
-- Found ZLIB: /usr/lib64/libz.so (found version "1.2.11")
-- Performing Test protobuf_HAVE_BUILTIN_ATOMICS
-- Performing Test protobuf_HAVE_BUILTIN_ATOMICS - Success
-- Found GTest: /usr/lib64/cmake/GTest/GTestConfig.cmake (found version "1.13.0")
-- Configuring done
CMake Error at cmake/libprotobuf-lite.cmake:26 (target_link_libraries):
  Target "libprotobuf-lite" links to:

    absl::absl_check

  but the target was not found.  Possible reasons include:

    * There is a typo in the target name.
    * A find_package call is missing for an IMPORTED target.
    * An ALIAS target is missing.

Call Stack (most recent call first):
  CMakeLists.txt:354 (include)


CMake Error at cmake/libprotobuf.cmake:29 (target_link_libraries):
  Target "libprotobuf" links to:

    absl::absl_check

  but the target was not found.  Possible reasons include:

    * There is a typo in the target name.
    * A find_package call is missing for an IMPORTED target.
    * An ALIAS target is missing.

Call Stack (most recent call first):
  CMakeLists.txt:358 (include)


CMake Error at cmake/libprotoc.cmake:19 (target_link_libraries):
  Target "libprotoc" links to:

    absl::absl_check

  but the target was not found.  Possible reasons include:

    * There is a typo in the target name.
    * A find_package call is missing for an IMPORTED target.
    * An ALIAS target is missing.

Call Stack (most recent call first):
  CMakeLists.txt:363 (include)


CMake Error at cmake/protoc.cmake:6 (target_link_libraries):
  Target "protoc" links to:

    absl::absl_check

  but the target was not found.  Possible reasons include:

    * There is a typo in the target name.
    * A find_package call is missing for an IMPORTED target.
    * An ALIAS target is missing.

Call Stack (most recent call first):
  CMakeLists.txt:369 (include)


CMake Error at cmake/tests.cmake:97 (target_link_libraries):
  Target "tests" links to:

    absl::absl_check

  but the target was not found.  Possible reasons include:

    * There is a typo in the target name.
    * A find_package call is missing for an IMPORTED target.
    * An ALIAS target is missing.

Call Stack (most recent call first):
  CMakeLists.txt:401 (include)


CMake Error at cmake/tests.cmake:113 (target_link_libraries):
  Target "test_plugin" links to:

    absl::absl_check

  but the target was not found.  Possible reasons include:

    * There is a typo in the target name.
    * A find_package call is missing for an IMPORTED target.
    * An ALIAS target is missing.

Call Stack (most recent call first):
  CMakeLists.txt:401 (include)


CMake Error at cmake/tests.cmake:126 (target_link_libraries):
  Target "lite-test" links to:

    absl::absl_check

  but the target was not found.  Possible reasons include:

    * There is a typo in the target name.
    * A find_package call is missing for an IMPORTED target.
    * An ALIAS target is missing.

Call Stack (most recent call first):
  CMakeLists.txt:401 (include)
@kloczek kloczek added the untriaged auto added to all issues by default when created. label Mar 10, 2023
@kloczek
Copy link
Author

kloczek commented Mar 10, 2023

I found that OpenMandriva already have JFDI patch for that issue which means that what I see is not bogus.
https://github.com/OpenMandrivaAssociation/protobuf-c/blob/master/protobuf-c-protobuf-22.1.patch

@deannagarcia
Copy link
Member

Can you try to use -Dprotobuf_ABSL_PROVIDER=package and then set -DCMAKE_PREFIX_PATH to the path where you have installed abseil?

@kloczek
Copy link
Author

kloczek commented Mar 13, 2023

Will try however looks like in tis case issue is about targets resolutions when they are listed in abslTargets.cmake file.
In my case that file comtains:

# Generated by CMake

if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" LESS 2.8)
   message(FATAL_ERROR "CMake >= 2.8.0 required")
endif()
if(CMAKE_VERSION VERSION_LESS "2.8.3")
   message(FATAL_ERROR "CMake >= 2.8.3 required")
endif()
cmake_policy(PUSH)
cmake_policy(VERSION 2.8.3...3.23)
#----------------------------------------------------------------
# Generated CMake target import file.
#----------------------------------------------------------------

# Commands may need to know the format version.
set(CMAKE_IMPORT_FILE_VERSION 1)

# Protect against multiple inclusion, which would fail when already imported targets are added once more.
set(_cmake_targets_defined "")
set(_cmake_targets_not_defined "")
set(_cmake_expected_targets "")
foreach(_cmake_expected_target IN ITEMS absl::atomic_hook absl::errno_saver absl::log_severity absl::raw_logging_internal absl::spinlock_wait absl::config absl::dynamic_annotations absl::core_headers absl::malloc_internal absl::base_internal absl::base absl::throw_delegate absl::pretty_function absl::endian absl::scoped_set_env absl::strerror absl::fast_type_id absl::prefetch absl::algorithm absl::algorithm_container absl::cleanup_internal absl::cleanup absl::btree absl::compressed_tuple absl::fixed_array absl::inlined_vector_internal absl::inlined_vector absl::counting_allocator absl::flat_hash_map absl::flat_hash_set absl::node_hash_map absl::node_hash_set absl::container_memory absl::hash_function_defaults absl::hash_policy_traits absl::common_policy_traits absl::hashtablez_sampler absl::hashtable_debug absl::hashtable_debug_hooks absl::node_slot_policy absl::raw_hash_map absl::container_common absl::raw_hash_set absl::layout absl::crc_cpu_detect absl::crc_internal absl::crc32c absl::non_temporal_arm_intrinsics absl::non_temporal_memcpy absl::crc_cord_state absl::stacktrace absl::symbolize absl::examine_stack absl::failure_signal_handler absl::debugging_internal absl::demangle_internal absl::leak_check absl::debugging absl::flags_path_util absl::flags_program_name absl::flags_config absl::flags_marshalling absl::flags_commandlineflag_internal absl::flags_commandlineflag absl::flags_private_handle_accessor absl::flags_reflection absl::flags_internal absl::flags absl::flags_usage_internal absl::flags_usage absl::flags_parse absl::any_invocable absl::bind_front absl::function_ref absl::hash absl::city absl::low_level_hash absl::log_internal_check_impl absl::log_internal_check_op absl::log_internal_conditions absl::log_internal_config absl::log_internal_flags absl::log_internal_format absl::log_internal_globals absl::log_internal_log_impl absl::log_internal_proto absl::log_internal_message absl::log_internal_log_sink_set absl::log_internal_nullguard absl::log_internal_nullstream absl::log_internal_strip absl::log_internal_voidify absl::log_internal_append_truncated absl::absl_check absl::absl_log absl::check absl::die_if_null absl::log_flags absl::log_globals absl::log_initialize absl::log absl::log_entry absl::log_sink absl::log_sink_registry absl::log_streamer absl::log_internal_structured absl::log_structured absl::memory absl::type_traits absl::meta absl::bits absl::int128 absl::numeric absl::numeric_representation absl::sample_recorder absl::exponential_biased absl::periodic_sampler absl::random_random absl::random_bit_gen_ref absl::random_internal_mock_helpers absl::random_distributions absl::random_seed_gen_exception absl::random_seed_sequences absl::random_internal_traits absl::random_internal_distribution_caller absl::random_internal_fast_uniform_bits absl::random_internal_seed_material absl::random_internal_pool_urbg absl::random_internal_salted_seed_seq absl::random_internal_iostream_state_saver absl::random_internal_generate_real absl::random_internal_wide_multiply absl::random_internal_fastmath absl::random_internal_nonsecure_base absl::random_internal_pcg_engine absl::random_internal_randen_engine absl::random_internal_platform absl::random_internal_randen absl::random_internal_randen_slow absl::random_internal_randen_hwaes absl::random_internal_randen_hwaes_impl absl::random_internal_distribution_test_util absl::random_internal_uniform_helper absl::status absl::statusor absl::strings absl::strings_internal absl::str_format absl::str_format_internal absl::cord_internal absl::cordz_update_tracker absl::cordz_functions absl::cordz_statistics absl::cordz_handle absl::cordz_info absl::cordz_sample_token absl::cordz_update_scope absl::cord absl::graphcycles_internal absl::kernel_timeout_internal absl::synchronization absl::time absl::civil_time absl::time_zone absl::any absl::bad_any_cast absl::bad_any_cast_impl absl::span absl::optional absl::bad_optional_access absl::bad_variant_access absl::variant absl::compare absl::utility)
  list(APPEND _cmake_expected_targets "${_cmake_expected_target}")
  if(TARGET "${_cmake_expected_target}")
    list(APPEND _cmake_targets_defined "${_cmake_expected_target}")
  else()
    list(APPEND _cmake_targets_not_defined "${_cmake_expected_target}")
  endif()
endforeach()
unset(_cmake_expected_target)
if(_cmake_targets_defined STREQUAL _cmake_expected_targets)
  unset(_cmake_targets_defined)
  unset(_cmake_targets_not_defined)
  unset(_cmake_expected_targets)
  unset(CMAKE_IMPORT_FILE_VERSION)
  cmake_policy(POP)
  return()
endif()
if(NOT _cmake_targets_defined STREQUAL "")
  string(REPLACE ";" ", " _cmake_targets_defined_text "${_cmake_targets_defined}")
  string(REPLACE ";" ", " _cmake_targets_not_defined_text "${_cmake_targets_not_defined}")
  message(FATAL_ERROR "Some (but not all) targets in this export set were already defined.\nTargets Defined: ${_cmake_targets_defined_text}\nTargets not yet defined: ${_cmake_targets_not_defined_text}\n")
endif()
unset(_cmake_targets_defined)
unset(_cmake_targets_not_defined)
unset(_cmake_expected_targets)


# Compute the installation prefix relative to this file.
get_filename_component(_IMPORT_PREFIX "${CMAKE_CURRENT_LIST_FILE}" PATH)
# Use original install prefix when loaded through a
# cross-prefix symbolic link such as /lib -> /usr/lib.
get_filename_component(_realCurr "${_IMPORT_PREFIX}" REALPATH)
get_filename_component(_realOrig "/usr/lib64/cmake/absl" REALPATH)
if(_realCurr STREQUAL _realOrig)
  set(_IMPORT_PREFIX "/usr/lib64/cmake/absl")
endif()
unset(_realOrig)
unset(_realCurr)
get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH)
get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH)
get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH)
if(_IMPORT_PREFIX STREQUAL "/")
  set(_IMPORT_PREFIX "")
endif()

# Create imported target absl::atomic_hook
add_library(absl::atomic_hook INTERFACE IMPORTED)

set_target_properties(absl::atomic_hook PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::config;absl::core_headers"
)

# Create imported target absl::errno_saver
add_library(absl::errno_saver INTERFACE IMPORTED)

set_target_properties(absl::errno_saver PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::config"
)

# Create imported target absl::log_severity
add_library(absl::log_severity SHARED IMPORTED)

set_target_properties(absl::log_severity PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::core_headers"
)

# Create imported target absl::raw_logging_internal
add_library(absl::raw_logging_internal SHARED IMPORTED)

set_target_properties(absl::raw_logging_internal PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::atomic_hook;absl::config;absl::core_headers;absl::errno_saver;absl::log_severity"
)

# Create imported target absl::spinlock_wait
add_library(absl::spinlock_wait SHARED IMPORTED)

set_target_properties(absl::spinlock_wait PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::base_internal;absl::core_headers;absl::errno_saver"
)

# Create imported target absl::config
add_library(absl::config INTERFACE IMPORTED)

set_target_properties(absl::config PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
)

# Create imported target absl::dynamic_annotations
add_library(absl::dynamic_annotations INTERFACE IMPORTED)

set_target_properties(absl::dynamic_annotations PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::config"
)

# Create imported target absl::core_headers
add_library(absl::core_headers INTERFACE IMPORTED)

set_target_properties(absl::core_headers PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::config"
)

# Create imported target absl::malloc_internal
add_library(absl::malloc_internal SHARED IMPORTED)

set_target_properties(absl::malloc_internal PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::base;absl::base_internal;absl::config;absl::core_headers;absl::dynamic_annotations;absl::raw_logging_internal;Threads::Threads"
)

# Create imported target absl::base_internal
add_library(absl::base_internal INTERFACE IMPORTED)

set_target_properties(absl::base_internal PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::config;absl::type_traits"
)

# Create imported target absl::base
add_library(absl::base SHARED IMPORTED)

set_target_properties(absl::base PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::atomic_hook;absl::base_internal;absl::config;absl::core_headers;absl::dynamic_annotations;absl::log_severity;absl::raw_logging_internal;absl::spinlock_wait;absl::type_traits;Threads::Threads"
)

# Create imported target absl::throw_delegate
add_library(absl::throw_delegate SHARED IMPORTED)

set_target_properties(absl::throw_delegate PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::config;absl::raw_logging_internal"
)

# Create imported target absl::pretty_function
add_library(absl::pretty_function INTERFACE IMPORTED)

set_target_properties(absl::pretty_function PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
)

# Create imported target absl::endian
add_library(absl::endian INTERFACE IMPORTED)

set_target_properties(absl::endian PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::base;absl::config;absl::core_headers"
)

# Create imported target absl::scoped_set_env
add_library(absl::scoped_set_env SHARED IMPORTED)

set_target_properties(absl::scoped_set_env PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::config;absl::raw_logging_internal"
)

# Create imported target absl::strerror
add_library(absl::strerror SHARED IMPORTED)

set_target_properties(absl::strerror PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::config;absl::core_headers;absl::errno_saver"
)

# Create imported target absl::fast_type_id
add_library(absl::fast_type_id INTERFACE IMPORTED)

set_target_properties(absl::fast_type_id PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::config"
)

# Create imported target absl::prefetch
add_library(absl::prefetch INTERFACE IMPORTED)

set_target_properties(absl::prefetch PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::config"
)

# Create imported target absl::algorithm
add_library(absl::algorithm INTERFACE IMPORTED)

set_target_properties(absl::algorithm PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::config"
)

# Create imported target absl::algorithm_container
add_library(absl::algorithm_container INTERFACE IMPORTED)

set_target_properties(absl::algorithm_container PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::algorithm;absl::core_headers;absl::meta"
)

# Create imported target absl::cleanup_internal
add_library(absl::cleanup_internal INTERFACE IMPORTED)

set_target_properties(absl::cleanup_internal PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::base_internal;absl::core_headers;absl::utility"
)

# Create imported target absl::cleanup
add_library(absl::cleanup INTERFACE IMPORTED)

set_target_properties(absl::cleanup PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::cleanup_internal;absl::config;absl::core_headers"
)

# Create imported target absl::btree
add_library(absl::btree INTERFACE IMPORTED)

set_target_properties(absl::btree PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::container_common;absl::common_policy_traits;absl::compare;absl::compressed_tuple;absl::container_memory;absl::cord;absl::core_headers;absl::layout;absl::memory;absl::raw_logging_internal;absl::strings;absl::throw_delegate;absl::type_traits;absl::utility"
)

# Create imported target absl::compressed_tuple
add_library(absl::compressed_tuple INTERFACE IMPORTED)

set_target_properties(absl::compressed_tuple PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::utility"
)

# Create imported target absl::fixed_array
add_library(absl::fixed_array INTERFACE IMPORTED)

set_target_properties(absl::fixed_array PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::compressed_tuple;absl::algorithm;absl::config;absl::core_headers;absl::dynamic_annotations;absl::throw_delegate;absl::memory"
)

# Create imported target absl::inlined_vector_internal
add_library(absl::inlined_vector_internal INTERFACE IMPORTED)

set_target_properties(absl::inlined_vector_internal PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::compressed_tuple;absl::core_headers;absl::memory;absl::span;absl::type_traits"
)

# Create imported target absl::inlined_vector
add_library(absl::inlined_vector INTERFACE IMPORTED)

set_target_properties(absl::inlined_vector PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::algorithm;absl::core_headers;absl::inlined_vector_internal;absl::throw_delegate;absl::memory;absl::type_traits"
)

# Create imported target absl::counting_allocator
add_library(absl::counting_allocator INTERFACE IMPORTED)

set_target_properties(absl::counting_allocator PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::config"
)

# Create imported target absl::flat_hash_map
add_library(absl::flat_hash_map INTERFACE IMPORTED)

set_target_properties(absl::flat_hash_map PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::container_memory;absl::core_headers;absl::hash_function_defaults;absl::raw_hash_map;absl::algorithm_container;absl::memory"
)

# Create imported target absl::flat_hash_set
add_library(absl::flat_hash_set INTERFACE IMPORTED)

set_target_properties(absl::flat_hash_set PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::container_memory;absl::hash_function_defaults;absl::raw_hash_set;absl::algorithm_container;absl::core_headers;absl::memory"
)

# Create imported target absl::node_hash_map
add_library(absl::node_hash_map INTERFACE IMPORTED)

set_target_properties(absl::node_hash_map PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::container_memory;absl::core_headers;absl::hash_function_defaults;absl::node_slot_policy;absl::raw_hash_map;absl::algorithm_container;absl::memory"
)

# Create imported target absl::node_hash_set
add_library(absl::node_hash_set INTERFACE IMPORTED)

set_target_properties(absl::node_hash_set PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::core_headers;absl::hash_function_defaults;absl::node_slot_policy;absl::raw_hash_set;absl::algorithm_container;absl::memory"
)

# Create imported target absl::container_memory
add_library(absl::container_memory INTERFACE IMPORTED)

set_target_properties(absl::container_memory PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::config;absl::memory;absl::type_traits;absl::utility"
)

# Create imported target absl::hash_function_defaults
add_library(absl::hash_function_defaults INTERFACE IMPORTED)

set_target_properties(absl::hash_function_defaults PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::config;absl::cord;absl::hash;absl::strings"
)

# Create imported target absl::hash_policy_traits
add_library(absl::hash_policy_traits INTERFACE IMPORTED)

set_target_properties(absl::hash_policy_traits PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::common_policy_traits;absl::meta"
)

# Create imported target absl::common_policy_traits
add_library(absl::common_policy_traits INTERFACE IMPORTED)

set_target_properties(absl::common_policy_traits PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::meta"
)

# Create imported target absl::hashtablez_sampler
add_library(absl::hashtablez_sampler SHARED IMPORTED)

set_target_properties(absl::hashtablez_sampler PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::base;absl::config;absl::exponential_biased;absl::sample_recorder;absl::synchronization"
)

# Create imported target absl::hashtable_debug
add_library(absl::hashtable_debug INTERFACE IMPORTED)

set_target_properties(absl::hashtable_debug PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::hashtable_debug_hooks"
)

# Create imported target absl::hashtable_debug_hooks
add_library(absl::hashtable_debug_hooks INTERFACE IMPORTED)

set_target_properties(absl::hashtable_debug_hooks PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::config"
)

# Create imported target absl::node_slot_policy
add_library(absl::node_slot_policy INTERFACE IMPORTED)

set_target_properties(absl::node_slot_policy PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::config"
)

# Create imported target absl::raw_hash_map
add_library(absl::raw_hash_map INTERFACE IMPORTED)

set_target_properties(absl::raw_hash_map PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::container_memory;absl::raw_hash_set;absl::throw_delegate"
)

# Create imported target absl::container_common
add_library(absl::container_common INTERFACE IMPORTED)

set_target_properties(absl::container_common PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::type_traits"
)

# Create imported target absl::raw_hash_set
add_library(absl::raw_hash_set SHARED IMPORTED)

set_target_properties(absl::raw_hash_set PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::bits;absl::compressed_tuple;absl::config;absl::container_common;absl::container_memory;absl::core_headers;absl::endian;absl::hash_policy_traits;absl::hashtable_debug_hooks;absl::hashtablez_sampler;absl::memory;absl::meta;absl::optional;absl::prefetch;absl::raw_logging_internal;absl::utility"
)

# Create imported target absl::layout
add_library(absl::layout INTERFACE IMPORTED)

set_target_properties(absl::layout PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::config;absl::core_headers;absl::meta;absl::strings;absl::span;absl::utility"
)

# Create imported target absl::crc_cpu_detect
add_library(absl::crc_cpu_detect SHARED IMPORTED)

set_target_properties(absl::crc_cpu_detect PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::base;absl::config"
)

# Create imported target absl::crc_internal
add_library(absl::crc_internal SHARED IMPORTED)

set_target_properties(absl::crc_internal PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::crc_cpu_detect;absl::base;absl::config;absl::core_headers;absl::dynamic_annotations;absl::endian;absl::prefetch;absl::raw_logging_internal;absl::memory;absl::bits"
)

# Create imported target absl::crc32c
add_library(absl::crc32c SHARED IMPORTED)

set_target_properties(absl::crc32c PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::crc_cpu_detect;absl::crc_internal;absl::non_temporal_memcpy;absl::config;absl::core_headers;absl::dynamic_annotations;absl::endian;absl::prefetch;absl::strings"
)

# Create imported target absl::non_temporal_arm_intrinsics
add_library(absl::non_temporal_arm_intrinsics INTERFACE IMPORTED)

set_target_properties(absl::non_temporal_arm_intrinsics PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::config"
)

# Create imported target absl::non_temporal_memcpy
add_library(absl::non_temporal_memcpy INTERFACE IMPORTED)

set_target_properties(absl::non_temporal_memcpy PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::non_temporal_arm_intrinsics;absl::config;absl::core_headers"
)

# Create imported target absl::crc_cord_state
add_library(absl::crc_cord_state SHARED IMPORTED)

set_target_properties(absl::crc_cord_state PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::crc32c;absl::config;absl::strings"
)

# Create imported target absl::stacktrace
add_library(absl::stacktrace SHARED IMPORTED)

set_target_properties(absl::stacktrace PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::debugging_internal;absl::config;absl::core_headers;absl::raw_logging_internal"
)

# Create imported target absl::symbolize
add_library(absl::symbolize SHARED IMPORTED)

set_target_properties(absl::symbolize PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::debugging_internal;absl::demangle_internal;absl::base;absl::config;absl::core_headers;absl::dynamic_annotations;absl::malloc_internal;absl::raw_logging_internal;absl::strings"
)

# Create imported target absl::examine_stack
add_library(absl::examine_stack SHARED IMPORTED)

set_target_properties(absl::examine_stack PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::stacktrace;absl::symbolize;absl::config;absl::core_headers;absl::raw_logging_internal"
)

# Create imported target absl::failure_signal_handler
add_library(absl::failure_signal_handler SHARED IMPORTED)

set_target_properties(absl::failure_signal_handler PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::examine_stack;absl::stacktrace;absl::base;absl::config;absl::core_headers;absl::raw_logging_internal"
)

# Create imported target absl::debugging_internal
add_library(absl::debugging_internal SHARED IMPORTED)

set_target_properties(absl::debugging_internal PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::core_headers;absl::config;absl::dynamic_annotations;absl::errno_saver;absl::raw_logging_internal"
)

# Create imported target absl::demangle_internal
add_library(absl::demangle_internal SHARED IMPORTED)

set_target_properties(absl::demangle_internal PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::base;absl::core_headers"
)

# Create imported target absl::leak_check
add_library(absl::leak_check SHARED IMPORTED)

set_target_properties(absl::leak_check PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::config;absl::core_headers"
)

# Create imported target absl::debugging
add_library(absl::debugging INTERFACE IMPORTED)

set_target_properties(absl::debugging PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::stacktrace;absl::leak_check"
)

# Create imported target absl::flags_path_util
add_library(absl::flags_path_util INTERFACE IMPORTED)

set_target_properties(absl::flags_path_util PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::config;absl::strings"
)

# Create imported target absl::flags_program_name
add_library(absl::flags_program_name SHARED IMPORTED)

set_target_properties(absl::flags_program_name PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::config;absl::core_headers;absl::flags_path_util;absl::strings;absl::synchronization"
)

# Create imported target absl::flags_config
add_library(absl::flags_config SHARED IMPORTED)

set_target_properties(absl::flags_config PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::config;absl::flags_path_util;absl::flags_program_name;absl::core_headers;absl::strings;absl::synchronization"
)

# Create imported target absl::flags_marshalling
add_library(absl::flags_marshalling SHARED IMPORTED)

set_target_properties(absl::flags_marshalling PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::config;absl::core_headers;absl::log_severity;absl::optional;absl::strings;absl::str_format"
)

# Create imported target absl::flags_commandlineflag_internal
add_library(absl::flags_commandlineflag_internal SHARED IMPORTED)

set_target_properties(absl::flags_commandlineflag_internal PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::config;absl::dynamic_annotations;absl::fast_type_id"
)

# Create imported target absl::flags_commandlineflag
add_library(absl::flags_commandlineflag SHARED IMPORTED)

set_target_properties(absl::flags_commandlineflag PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::config;absl::fast_type_id;absl::flags_commandlineflag_internal;absl::optional;absl::strings"
)

# Create imported target absl::flags_private_handle_accessor
add_library(absl::flags_private_handle_accessor SHARED IMPORTED)

set_target_properties(absl::flags_private_handle_accessor PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::config;absl::flags_commandlineflag;absl::flags_commandlineflag_internal;absl::strings"
)

# Create imported target absl::flags_reflection
add_library(absl::flags_reflection SHARED IMPORTED)

set_target_properties(absl::flags_reflection PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::config;absl::flags_commandlineflag;absl::flags_private_handle_accessor;absl::flags_config;absl::strings;absl::synchronization;absl::flat_hash_map"
)

# Create imported target absl::flags_internal
add_library(absl::flags_internal SHARED IMPORTED)

set_target_properties(absl::flags_internal PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::base;absl::config;absl::flags_commandlineflag;absl::flags_commandlineflag_internal;absl::flags_config;absl::flags_marshalling;absl::synchronization;absl::meta;absl::utility"
)

# Create imported target absl::flags
add_library(absl::flags SHARED IMPORTED)

set_target_properties(absl::flags PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::config;absl::flags_commandlineflag;absl::flags_config;absl::flags_internal;absl::flags_reflection;absl::base;absl::core_headers;absl::strings"
)

# Create imported target absl::flags_usage_internal
add_library(absl::flags_usage_internal SHARED IMPORTED)

set_target_properties(absl::flags_usage_internal PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::config;absl::flags_config;absl::flags;absl::flags_commandlineflag;absl::flags_internal;absl::flags_path_util;absl::flags_private_handle_accessor;absl::flags_program_name;absl::flags_reflection;absl::flat_hash_map;absl::strings;absl::synchronization"
)

# Create imported target absl::flags_usage
add_library(absl::flags_usage SHARED IMPORTED)

set_target_properties(absl::flags_usage PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::config;absl::core_headers;absl::flags_usage_internal;absl::strings;absl::synchronization"
)

# Create imported target absl::flags_parse
add_library(absl::flags_parse SHARED IMPORTED)

set_target_properties(absl::flags_parse PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::algorithm_container;absl::config;absl::core_headers;absl::flags_config;absl::flags;absl::flags_commandlineflag;absl::flags_commandlineflag_internal;absl::flags_internal;absl::flags_private_handle_accessor;absl::flags_program_name;absl::flags_reflection;absl::flags_usage;absl::strings;absl::synchronization"
)

# Create imported target absl::any_invocable
add_library(absl::any_invocable INTERFACE IMPORTED)

set_target_properties(absl::any_invocable PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::base_internal;absl::config;absl::core_headers;absl::type_traits;absl::utility"
)

# Create imported target absl::bind_front
add_library(absl::bind_front INTERFACE IMPORTED)

set_target_properties(absl::bind_front PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::base_internal;absl::compressed_tuple"
)

# Create imported target absl::function_ref
add_library(absl::function_ref INTERFACE IMPORTED)

set_target_properties(absl::function_ref PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::base_internal;absl::core_headers;absl::meta"
)

# Create imported target absl::hash
add_library(absl::hash SHARED IMPORTED)

set_target_properties(absl::hash PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::bits;absl::city;absl::config;absl::core_headers;absl::endian;absl::fixed_array;absl::function_ref;absl::meta;absl::int128;absl::strings;absl::optional;absl::variant;absl::utility;absl::low_level_hash"
)

# Create imported target absl::city
add_library(absl::city SHARED IMPORTED)

set_target_properties(absl::city PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::config;absl::core_headers;absl::endian"
)

# Create imported target absl::low_level_hash
add_library(absl::low_level_hash SHARED IMPORTED)

set_target_properties(absl::low_level_hash PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::config;absl::endian;absl::int128"
)

# Create imported target absl::log_internal_check_impl
add_library(absl::log_internal_check_impl INTERFACE IMPORTED)

set_target_properties(absl::log_internal_check_impl PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::core_headers;absl::log_internal_check_op;absl::log_internal_conditions;absl::log_internal_message;absl::log_internal_strip"
)

# Create imported target absl::log_internal_check_op
add_library(absl::log_internal_check_op SHARED IMPORTED)

set_target_properties(absl::log_internal_check_op PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::config;absl::core_headers;absl::log_internal_nullguard;absl::log_internal_nullstream;absl::log_internal_strip;absl::strings"
)

# Create imported target absl::log_internal_conditions
add_library(absl::log_internal_conditions SHARED IMPORTED)

set_target_properties(absl::log_internal_conditions PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::base;absl::config;absl::core_headers;absl::log_internal_voidify"
)

# Create imported target absl::log_internal_config
add_library(absl::log_internal_config INTERFACE IMPORTED)

set_target_properties(absl::log_internal_config PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::config;absl::core_headers"
)

# Create imported target absl::log_internal_flags
add_library(absl::log_internal_flags INTERFACE IMPORTED)

set_target_properties(absl::log_internal_flags PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::flags"
)

# Create imported target absl::log_internal_format
add_library(absl::log_internal_format SHARED IMPORTED)

set_target_properties(absl::log_internal_format PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::config;absl::core_headers;absl::log_internal_append_truncated;absl::log_internal_config;absl::log_internal_globals;absl::log_severity;absl::strings;absl::str_format;absl::time;absl::span"
)

# Create imported target absl::log_internal_globals
add_library(absl::log_internal_globals SHARED IMPORTED)

set_target_properties(absl::log_internal_globals PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::config;absl::core_headers;absl::log_severity;absl::raw_logging_internal;absl::strings;absl::time"
)

# Create imported target absl::log_internal_log_impl
add_library(absl::log_internal_log_impl INTERFACE IMPORTED)

set_target_properties(absl::log_internal_log_impl PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::log_internal_conditions;absl::log_internal_message;absl::log_internal_strip"
)

# Create imported target absl::log_internal_proto
add_library(absl::log_internal_proto SHARED IMPORTED)

set_target_properties(absl::log_internal_proto PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::base;absl::config;absl::core_headers;absl::strings;absl::span"
)

# Create imported target absl::log_internal_message
add_library(absl::log_internal_message SHARED IMPORTED)

set_target_properties(absl::log_internal_message PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::base;absl::config;absl::core_headers;absl::errno_saver;absl::inlined_vector;absl::examine_stack;absl::log_internal_append_truncated;absl::log_internal_format;absl::log_internal_globals;absl::log_internal_proto;absl::log_internal_log_sink_set;absl::log_internal_nullguard;absl::log_globals;absl::log_entry;absl::log_severity;absl::log_sink;absl::log_sink_registry;absl::memory;absl::raw_logging_internal;absl::strings;absl::strerror;absl::time;absl::span"
)

# Create imported target absl::log_internal_log_sink_set
add_library(absl::log_internal_log_sink_set SHARED IMPORTED)

set_target_properties(absl::log_internal_log_sink_set PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::base;absl::cleanup;absl::config;absl::core_headers;absl::log_internal_config;absl::log_internal_globals;absl::log_globals;absl::log_entry;absl::log_severity;absl::log_sink;absl::raw_logging_internal;absl::synchronization;absl::span;absl::strings"
)

# Create imported target absl::log_internal_nullguard
add_library(absl::log_internal_nullguard SHARED IMPORTED)

set_target_properties(absl::log_internal_nullguard PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::config;absl::core_headers"
)

# Create imported target absl::log_internal_nullstream
add_library(absl::log_internal_nullstream INTERFACE IMPORTED)

set_target_properties(absl::log_internal_nullstream PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::config;absl::core_headers;absl::log_severity;absl::strings"
)

# Create imported target absl::log_internal_strip
add_library(absl::log_internal_strip INTERFACE IMPORTED)

set_target_properties(absl::log_internal_strip PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::log_internal_message;absl::log_internal_nullstream;absl::log_severity"
)

# Create imported target absl::log_internal_voidify
add_library(absl::log_internal_voidify INTERFACE IMPORTED)

set_target_properties(absl::log_internal_voidify PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::config"
)

# Create imported target absl::log_internal_append_truncated
add_library(absl::log_internal_append_truncated INTERFACE IMPORTED)

set_target_properties(absl::log_internal_append_truncated PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::config;absl::strings;absl::span"
)

# Create imported target absl::absl_check
add_library(absl::absl_check INTERFACE IMPORTED)

set_target_properties(absl::absl_check PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::log_internal_check_impl"
)

# Create imported target absl::absl_log
add_library(absl::absl_log INTERFACE IMPORTED)

set_target_properties(absl::absl_log PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::log_internal_log_impl"
)

# Create imported target absl::check
add_library(absl::check INTERFACE IMPORTED)

set_target_properties(absl::check PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::log_internal_check_impl;absl::core_headers;absl::log_internal_check_op;absl::log_internal_conditions;absl::log_internal_message;absl::log_internal_strip"
)

# Create imported target absl::die_if_null
add_library(absl::die_if_null SHARED IMPORTED)

set_target_properties(absl::die_if_null PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::config;absl::core_headers;absl::log;absl::strings"
)

# Create imported target absl::log_flags
add_library(absl::log_flags SHARED IMPORTED)

set_target_properties(absl::log_flags PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::config;absl::core_headers;absl::log_globals;absl::log_severity;absl::log_internal_config;absl::log_internal_flags;absl::flags;absl::flags_marshalling;absl::strings"
)

# Create imported target absl::log_globals
add_library(absl::log_globals SHARED IMPORTED)

set_target_properties(absl::log_globals PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::atomic_hook;absl::config;absl::core_headers;absl::hash;absl::log_severity;absl::strings"
)

# Create imported target absl::log_initialize
add_library(absl::log_initialize SHARED IMPORTED)

set_target_properties(absl::log_initialize PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::config;absl::log_globals;absl::log_internal_globals;absl::time"
)

# Create imported target absl::log
add_library(absl::log INTERFACE IMPORTED)

set_target_properties(absl::log PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::log_internal_log_impl"
)

# Create imported target absl::log_entry
add_library(absl::log_entry SHARED IMPORTED)

set_target_properties(absl::log_entry PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::config;absl::core_headers;absl::log_internal_config;absl::log_severity;absl::span;absl::strings;absl::time"
)

# Create imported target absl::log_sink
add_library(absl::log_sink SHARED IMPORTED)

set_target_properties(absl::log_sink PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::config;absl::log_entry"
)

# Create imported target absl::log_sink_registry
add_library(absl::log_sink_registry INTERFACE IMPORTED)

set_target_properties(absl::log_sink_registry PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::config;absl::log_sink;absl::log_internal_log_sink_set"
)

# Create imported target absl::log_streamer
add_library(absl::log_streamer INTERFACE IMPORTED)

set_target_properties(absl::log_streamer PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::config;absl::absl_log;absl::log_severity;absl::optional;absl::strings;absl::strings_internal;absl::utility"
)

# Create imported target absl::log_internal_structured
add_library(absl::log_internal_structured INTERFACE IMPORTED)

set_target_properties(absl::log_internal_structured PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::config;absl::log_internal_message;absl::strings"
)

# Create imported target absl::log_structured
add_library(absl::log_structured INTERFACE IMPORTED)

set_target_properties(absl::log_structured PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::config;absl::log_internal_structured;absl::strings"
)

# Create imported target absl::memory
add_library(absl::memory INTERFACE IMPORTED)

set_target_properties(absl::memory PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::core_headers;absl::meta"
)

# Create imported target absl::type_traits
add_library(absl::type_traits INTERFACE IMPORTED)

set_target_properties(absl::type_traits PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::config"
)

# Create imported target absl::meta
add_library(absl::meta INTERFACE IMPORTED)

set_target_properties(absl::meta PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::type_traits"
)

# Create imported target absl::bits
add_library(absl::bits INTERFACE IMPORTED)

set_target_properties(absl::bits PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::core_headers"
)

# Create imported target absl::int128
add_library(absl::int128 SHARED IMPORTED)

set_target_properties(absl::int128 PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::config;absl::core_headers;absl::bits"
)

# Create imported target absl::numeric
add_library(absl::numeric INTERFACE IMPORTED)

set_target_properties(absl::numeric PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::int128"
)

# Create imported target absl::numeric_representation
add_library(absl::numeric_representation INTERFACE IMPORTED)

set_target_properties(absl::numeric_representation PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::config"
)

# Create imported target absl::sample_recorder
add_library(absl::sample_recorder INTERFACE IMPORTED)

set_target_properties(absl::sample_recorder PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::base;absl::synchronization"
)

# Create imported target absl::exponential_biased
add_library(absl::exponential_biased SHARED IMPORTED)

set_target_properties(absl::exponential_biased PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::config;absl::core_headers"
)

# Create imported target absl::periodic_sampler
add_library(absl::periodic_sampler SHARED IMPORTED)

set_target_properties(absl::periodic_sampler PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::core_headers;absl::exponential_biased"
)

# Create imported target absl::random_random
add_library(absl::random_random INTERFACE IMPORTED)

set_target_properties(absl::random_random PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::random_distributions;absl::random_internal_nonsecure_base;absl::random_internal_pcg_engine;absl::random_internal_pool_urbg;absl::random_internal_randen_engine;absl::random_seed_sequences"
)

# Create imported target absl::random_bit_gen_ref
add_library(absl::random_bit_gen_ref INTERFACE IMPORTED)

set_target_properties(absl::random_bit_gen_ref PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::core_headers;absl::random_internal_distribution_caller;absl::random_internal_fast_uniform_bits;absl::type_traits"
)

# Create imported target absl::random_internal_mock_helpers
add_library(absl::random_internal_mock_helpers INTERFACE IMPORTED)

set_target_properties(absl::random_internal_mock_helpers PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::fast_type_id;absl::optional"
)

# Create imported target absl::random_distributions
add_library(absl::random_distributions SHARED IMPORTED)

set_target_properties(absl::random_distributions PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::base_internal;absl::config;absl::core_headers;absl::random_internal_generate_real;absl::random_internal_distribution_caller;absl::random_internal_fast_uniform_bits;absl::random_internal_fastmath;absl::random_internal_iostream_state_saver;absl::random_internal_traits;absl::random_internal_uniform_helper;absl::random_internal_wide_multiply;absl::strings;absl::type_traits"
)

# Create imported target absl::random_seed_gen_exception
add_library(absl::random_seed_gen_exception SHARED IMPORTED)

set_target_properties(absl::random_seed_gen_exception PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::config"
)

# Create imported target absl::random_seed_sequences
add_library(absl::random_seed_sequences SHARED IMPORTED)

set_target_properties(absl::random_seed_sequences PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::config;absl::inlined_vector;absl::random_internal_pool_urbg;absl::random_internal_salted_seed_seq;absl::random_internal_seed_material;absl::random_seed_gen_exception;absl::span"
)

# Create imported target absl::random_internal_traits
add_library(absl::random_internal_traits INTERFACE IMPORTED)

set_target_properties(absl::random_internal_traits PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::config"
)

# Create imported target absl::random_internal_distribution_caller
add_library(absl::random_internal_distribution_caller INTERFACE IMPORTED)

set_target_properties(absl::random_internal_distribution_caller PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::config;absl::utility;absl::fast_type_id"
)

# Create imported target absl::random_internal_fast_uniform_bits
add_library(absl::random_internal_fast_uniform_bits INTERFACE IMPORTED)

set_target_properties(absl::random_internal_fast_uniform_bits PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::config"
)

# Create imported target absl::random_internal_seed_material
add_library(absl::random_internal_seed_material SHARED IMPORTED)

set_target_properties(absl::random_internal_seed_material PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::core_headers;absl::optional;absl::random_internal_fast_uniform_bits;absl::raw_logging_internal;absl::span;absl::strings"
)

# Create imported target absl::random_internal_pool_urbg
add_library(absl::random_internal_pool_urbg SHARED IMPORTED)

set_target_properties(absl::random_internal_pool_urbg PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::base;absl::config;absl::core_headers;absl::endian;absl::random_internal_randen;absl::random_internal_seed_material;absl::random_internal_traits;absl::random_seed_gen_exception;absl::raw_logging_internal;absl::span"
)

# Create imported target absl::random_internal_salted_seed_seq
add_library(absl::random_internal_salted_seed_seq INTERFACE IMPORTED)

set_target_properties(absl::random_internal_salted_seed_seq PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::inlined_vector;absl::optional;absl::span;absl::random_internal_seed_material;absl::type_traits"
)

# Create imported target absl::random_internal_iostream_state_saver
add_library(absl::random_internal_iostream_state_saver INTERFACE IMPORTED)

set_target_properties(absl::random_internal_iostream_state_saver PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::int128;absl::type_traits"
)

# Create imported target absl::random_internal_generate_real
add_library(absl::random_internal_generate_real INTERFACE IMPORTED)

set_target_properties(absl::random_internal_generate_real PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::bits;absl::random_internal_fastmath;absl::random_internal_traits;absl::type_traits"
)

# Create imported target absl::random_internal_wide_multiply
add_library(absl::random_internal_wide_multiply INTERFACE IMPORTED)

set_target_properties(absl::random_internal_wide_multiply PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::bits;absl::config;absl::int128"
)

# Create imported target absl::random_internal_fastmath
add_library(absl::random_internal_fastmath INTERFACE IMPORTED)

set_target_properties(absl::random_internal_fastmath PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::bits"
)

# Create imported target absl::random_internal_nonsecure_base
add_library(absl::random_internal_nonsecure_base INTERFACE IMPORTED)

set_target_properties(absl::random_internal_nonsecure_base PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::core_headers;absl::inlined_vector;absl::random_internal_pool_urbg;absl::random_internal_salted_seed_seq;absl::random_internal_seed_material;absl::span;absl::type_traits"
)

# Create imported target absl::random_internal_pcg_engine
add_library(absl::random_internal_pcg_engine INTERFACE IMPORTED)

set_target_properties(absl::random_internal_pcg_engine PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::config;absl::int128;absl::random_internal_fastmath;absl::random_internal_iostream_state_saver;absl::type_traits"
)

# Create imported target absl::random_internal_randen_engine
add_library(absl::random_internal_randen_engine INTERFACE IMPORTED)

set_target_properties(absl::random_internal_randen_engine PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::endian;absl::random_internal_iostream_state_saver;absl::random_internal_randen;absl::raw_logging_internal;absl::type_traits"
)

# Create imported target absl::random_internal_platform
add_library(absl::random_internal_platform SHARED IMPORTED)

set_target_properties(absl::random_internal_platform PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::config"
)

# Create imported target absl::random_internal_randen
add_library(absl::random_internal_randen SHARED IMPORTED)

set_target_properties(absl::random_internal_randen PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::random_internal_platform;absl::random_internal_randen_hwaes;absl::random_internal_randen_slow"
)

# Create imported target absl::random_internal_randen_slow
add_library(absl::random_internal_randen_slow SHARED IMPORTED)

set_target_properties(absl::random_internal_randen_slow PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::random_internal_platform;absl::config"
)

# Create imported target absl::random_internal_randen_hwaes
add_library(absl::random_internal_randen_hwaes SHARED IMPORTED)

set_target_properties(absl::random_internal_randen_hwaes PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::random_internal_platform;absl::random_internal_randen_hwaes_impl;absl::config"
)

# Create imported target absl::random_internal_randen_hwaes_impl
add_library(absl::random_internal_randen_hwaes_impl SHARED IMPORTED)

set_target_properties(absl::random_internal_randen_hwaes_impl PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::random_internal_platform;absl::config"
)

# Create imported target absl::random_internal_distribution_test_util
add_library(absl::random_internal_distribution_test_util SHARED IMPORTED)

set_target_properties(absl::random_internal_distribution_test_util PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::config;absl::core_headers;absl::raw_logging_internal;absl::strings;absl::str_format;absl::span"
)

# Create imported target absl::random_internal_uniform_helper
add_library(absl::random_internal_uniform_helper INTERFACE IMPORTED)

set_target_properties(absl::random_internal_uniform_helper PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::config;absl::random_internal_traits;absl::type_traits"
)

# Create imported target absl::status
add_library(absl::status SHARED IMPORTED)

set_target_properties(absl::status PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::atomic_hook;absl::config;absl::cord;absl::core_headers;absl::function_ref;absl::inlined_vector;absl::optional;absl::raw_logging_internal;absl::stacktrace;absl::str_format;absl::strerror;absl::strings;absl::symbolize"
)

# Create imported target absl::statusor
add_library(absl::statusor SHARED IMPORTED)

set_target_properties(absl::statusor PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::base;absl::status;absl::core_headers;absl::raw_logging_internal;absl::type_traits;absl::strings;absl::utility;absl::variant"
)

# Create imported target absl::strings
add_library(absl::strings SHARED IMPORTED)

set_target_properties(absl::strings PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::strings_internal;absl::base;absl::bits;absl::config;absl::core_headers;absl::endian;absl::int128;absl::memory;absl::raw_logging_internal;absl::throw_delegate;absl::type_traits"
)

# Create imported target absl::strings_internal
add_library(absl::strings_internal SHARED IMPORTED)

set_target_properties(absl::strings_internal PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::config;absl::core_headers;absl::endian;absl::raw_logging_internal;absl::type_traits"
)

# Create imported target absl::str_format
add_library(absl::str_format INTERFACE IMPORTED)

set_target_properties(absl::str_format PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::str_format_internal"
)

# Create imported target absl::str_format_internal
add_library(absl::str_format_internal SHARED IMPORTED)

set_target_properties(absl::str_format_internal PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::bits;absl::strings;absl::config;absl::core_headers;absl::numeric_representation;absl::type_traits;absl::utility;absl::int128;absl::span"
)

# Create imported target absl::cord_internal
add_library(absl::cord_internal SHARED IMPORTED)

set_target_properties(absl::cord_internal PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::base_internal;absl::compressed_tuple;absl::config;absl::container_memory;absl::core_headers;absl::crc_cord_state;absl::endian;absl::inlined_vector;absl::layout;absl::raw_logging_internal;absl::strings;absl::throw_delegate;absl::type_traits"
)

# Create imported target absl::cordz_update_tracker
add_library(absl::cordz_update_tracker INTERFACE IMPORTED)

set_target_properties(absl::cordz_update_tracker PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::config"
)

# Create imported target absl::cordz_functions
add_library(absl::cordz_functions SHARED IMPORTED)

set_target_properties(absl::cordz_functions PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::config;absl::core_headers;absl::exponential_biased;absl::raw_logging_internal"
)

# Create imported target absl::cordz_statistics
add_library(absl::cordz_statistics INTERFACE IMPORTED)

set_target_properties(absl::cordz_statistics PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::config;absl::core_headers;absl::cordz_update_tracker;absl::synchronization"
)

# Create imported target absl::cordz_handle
add_library(absl::cordz_handle SHARED IMPORTED)

set_target_properties(absl::cordz_handle PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::base;absl::config;absl::raw_logging_internal;absl::synchronization"
)

# Create imported target absl::cordz_info
add_library(absl::cordz_info SHARED IMPORTED)

set_target_properties(absl::cordz_info PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::base;absl::config;absl::cord_internal;absl::cordz_functions;absl::cordz_handle;absl::cordz_statistics;absl::cordz_update_tracker;absl::core_headers;absl::inlined_vector;absl::span;absl::raw_logging_internal;absl::stacktrace;absl::synchronization"
)

# Create imported target absl::cordz_sample_token
add_library(absl::cordz_sample_token SHARED IMPORTED)

set_target_properties(absl::cordz_sample_token PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::config;absl::cordz_handle;absl::cordz_info"
)

# Create imported target absl::cordz_update_scope
add_library(absl::cordz_update_scope INTERFACE IMPORTED)

set_target_properties(absl::cordz_update_scope PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::config;absl::cord_internal;absl::cordz_info;absl::cordz_update_tracker;absl::core_headers"
)

# Create imported target absl::cord
add_library(absl::cord SHARED IMPORTED)

set_target_properties(absl::cord PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::base;absl::config;absl::cord_internal;absl::cordz_functions;absl::cordz_info;absl::cordz_update_scope;absl::cordz_update_tracker;absl::core_headers;absl::crc_cord_state;absl::endian;absl::fixed_array;absl::function_ref;absl::inlined_vector;absl::optional;absl::raw_logging_internal;absl::span;absl::strings;absl::type_traits"
)

# Create imported target absl::graphcycles_internal
add_library(absl::graphcycles_internal SHARED IMPORTED)

set_target_properties(absl::graphcycles_internal PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::base;absl::base_internal;absl::config;absl::core_headers;absl::malloc_internal;absl::raw_logging_internal"
)

# Create imported target absl::kernel_timeout_internal
add_library(absl::kernel_timeout_internal INTERFACE IMPORTED)

set_target_properties(absl::kernel_timeout_internal PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::core_headers;absl::raw_logging_internal;absl::time"
)

# Create imported target absl::synchronization
add_library(absl::synchronization SHARED IMPORTED)

set_target_properties(absl::synchronization PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::graphcycles_internal;absl::kernel_timeout_internal;absl::atomic_hook;absl::base;absl::base_internal;absl::config;absl::core_headers;absl::dynamic_annotations;absl::malloc_internal;absl::raw_logging_internal;absl::stacktrace;absl::symbolize;absl::time;Threads::Threads"
)

# Create imported target absl::time
add_library(absl::time SHARED IMPORTED)

set_target_properties(absl::time PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::base;absl::civil_time;absl::core_headers;absl::int128;absl::raw_logging_internal;absl::strings;absl::time_zone"
)

# Create imported target absl::civil_time
add_library(absl::civil_time SHARED IMPORTED)

set_target_properties(absl::civil_time PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
)

# Create imported target absl::time_zone
add_library(absl::time_zone SHARED IMPORTED)

set_target_properties(absl::time_zone PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "\$<\$<PLATFORM_ID:Darwin>:>"
)

# Create imported target absl::any
add_library(absl::any INTERFACE IMPORTED)

set_target_properties(absl::any PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::bad_any_cast;absl::config;absl::core_headers;absl::fast_type_id;absl::type_traits;absl::utility"
)

# Create imported target absl::bad_any_cast
add_library(absl::bad_any_cast INTERFACE IMPORTED)

set_target_properties(absl::bad_any_cast PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::bad_any_cast_impl;absl::config"
)

# Create imported target absl::bad_any_cast_impl
add_library(absl::bad_any_cast_impl SHARED IMPORTED)

set_target_properties(absl::bad_any_cast_impl PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::config;absl::raw_logging_internal"
)

# Create imported target absl::span
add_library(absl::span INTERFACE IMPORTED)

set_target_properties(absl::span PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::algorithm;absl::core_headers;absl::throw_delegate;absl::type_traits"
)

# Create imported target absl::optional
add_library(absl::optional INTERFACE IMPORTED)

set_target_properties(absl::optional PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::bad_optional_access;absl::base_internal;absl::config;absl::core_headers;absl::memory;absl::type_traits;absl::utility"
)

# Create imported target absl::bad_optional_access
add_library(absl::bad_optional_access SHARED IMPORTED)

set_target_properties(absl::bad_optional_access PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::config;absl::raw_logging_internal"
)

# Create imported target absl::bad_variant_access
add_library(absl::bad_variant_access SHARED IMPORTED)

set_target_properties(absl::bad_variant_access PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::config;absl::raw_logging_internal"
)

# Create imported target absl::variant
add_library(absl::variant INTERFACE IMPORTED)

set_target_properties(absl::variant PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::bad_variant_access;absl::base_internal;absl::config;absl::core_headers;absl::type_traits;absl::utility"
)

# Create imported target absl::compare
add_library(absl::compare INTERFACE IMPORTED)

set_target_properties(absl::compare PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::core_headers;absl::type_traits"
)

# Create imported target absl::utility
add_library(absl::utility INTERFACE IMPORTED)

set_target_properties(absl::utility PROPERTIES
  INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  INTERFACE_LINK_LIBRARIES "absl::base_internal;absl::config;absl::type_traits"
)

if(CMAKE_VERSION VERSION_LESS 3.0.0)
  message(FATAL_ERROR "This file relies on consumers using CMake 3.0.0 or greater.")
endif()

# Load information for each installed configuration.
file(GLOB _cmake_config_files "${CMAKE_CURRENT_LIST_DIR}/abslTargets-*.cmake")
foreach(_cmake_config_file IN LISTS _cmake_config_files)
  include("${_cmake_config_file}")
endforeach()
unset(_cmake_config_file)
unset(_cmake_config_files)

# Cleanup temporary variables.
set(_IMPORT_PREFIX)

# Loop over all imported files and verify that they actually exist
foreach(_cmake_target IN LISTS _cmake_import_check_targets)
  foreach(_cmake_file IN LISTS "_cmake_import_check_files_for_${_cmake_target}")
    if(NOT EXISTS "${_cmake_file}")
      message(FATAL_ERROR "The imported target \"${_cmake_target}\" references the file
   \"${_cmake_file}\"
but this file does not exist.  Possible reasons include:
* The file was deleted, renamed, or moved to another location.
* An install or uninstall procedure did not complete successfully.
* The installation package was faulty and contained
   \"${CMAKE_CURRENT_LIST_FILE}\"
but not all the files it references.
")
    endif()
  endforeach()
  unset(_cmake_file)
  unset("_cmake_import_check_files_for_${_cmake_target}")
endforeach()
unset(_cmake_target)
unset(_cmake_import_check_targets)

# This file does not depend on other imported targets which have
# been exported from the same project but in a separate export set.

# Commands beyond this point should not need to know the version.
set(CMAKE_IMPORT_FILE_VERSION)
cmake_policy(POP)

As you see in that file absl::absl_check is present

@kloczek
Copy link
Author

kloczek commented Mar 13, 2023

BTW absl provides as well pkgconfig filres. I thik that i=better would be switch to use pkg_check_modules()
https://cmake.org/cmake/help/latest/module/FindPkgConfig.html#command:pkg_search_module

@kloczek
Copy link
Author

kloczek commented Mar 13, 2023

Can you try to use -Dprotobuf_ABSL_PROVIDER=package and then set -DCMAKE_PREFIX_PATH to the path where you have installed abseil?

Nope it did not helped

+ /usr/bin/cmake -B x86_64-redhat-linux-gnu -D BUILD_SHARED_LIBS=ON -D CMAKE_AR=/usr/bin/gcc-ar -D CMAKE_BUILD_TYPE=RelWithDebInfo -D CMAKE_C_FLAGS_RELEASE=-DNDEBUG -D CMAKE_CXX_FLAGS_RELEASE=-DNDEBUG -D CMAKE_Fortran_FLAGS_RELEASE=-DNDEBUG -D CMAKE_INSTALL_PREFIX=/usr -D CMAKE_NM=/usr/bin/gcc-nm -D CMAKE_RANLIB=/usr/bin/gcc-ranlib -D CMAKE_VERBOSE_MAKEFILE=ON -D INCLUDE_INSTALL_DIR=/usr/include -D LIB_INSTALL_DIR=/usr/lib64 -D LIB_SUFFIX=64 -D SHARE_INSTALL_PREFIX=/usr/share -D SYSCONF_INSTALL_DIR=/etc -S . -D CMAKE_PREFIX_PATH=/usr -D protobuf_ABSL_PROVIDER=ON -D protobuf_ABSL_PROVIDER=package -D protobuf_BUILD_TESTS=ON -D protobuf_USE_EXTERNAL_GTEST=ON
-- The C compiler identification is GNU 13.0.1
-- The CXX compiler identification is GNU 13.0.1
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/gcc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/g++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
--
-- 22.2.0
-- Performing Test protobuf_HAVE_LD_VERSION_SCRIPT
-- Performing Test protobuf_HAVE_LD_VERSION_SCRIPT - Success
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE
-- Found ZLIB: /usr/lib64/libz.so (found version "1.2.11")
-- Performing Test protobuf_HAVE_BUILTIN_ATOMICS
-- Performing Test protobuf_HAVE_BUILTIN_ATOMICS - Success
-- Found GTest: /usr/lib64/cmake/GTest/GTestConfig.cmake (found version "1.13.0")
-- Configuring done
CMake Error at cmake/tests.cmake:97 (target_link_libraries):
  Target "tests" links to:

    absl::scoped_mock_log

  but the target was not found.  Possible reasons include:

    * There is a typo in the target name.
    * A find_package call is missing for an IMPORTED target.
    * An ALIAS target is missing.

Call Stack (most recent call first):
  CMakeLists.txt:401 (include)


CMake Error at cmake/tests.cmake:113 (target_link_libraries):
  Target "test_plugin" links to:

    absl::scoped_mock_log

  but the target was not found.  Possible reasons include:

    * There is a typo in the target name.
    * A find_package call is missing for an IMPORTED target.
    * An ALIAS target is missing.

Call Stack (most recent call first):
  CMakeLists.txt:401 (include)


CMake Error at cmake/tests.cmake:126 (target_link_libraries):
  Target "lite-test" links to:

    absl::scoped_mock_log

  but the target was not found.  Possible reasons include:

    * There is a typo in the target name.
    * A find_package call is missing for an IMPORTED target.
    * An ALIAS target is missing.

Call Stack (most recent call first):
  CMakeLists.txt:401 (include)


-- Generating done
CMake Warning:
  Manually-specified variables were not used by the project:

    CMAKE_Fortran_FLAGS_RELEASE
    INCLUDE_INSTALL_DIR
    LIB_INSTALL_DIR
    LIB_SUFFIX
    SHARE_INSTALL_PREFIX
    SYSCONF_INSTALL_DIR


CMake Generate step failed.  Build files cannot be regenerated correctly.

@deannagarcia deannagarcia removed the untriaged auto added to all issues by default when created. label Mar 13, 2023
@JamiKettunen
Copy link

Because of this issue (and other problems linking against protobuf 22.x which now depends on abseil) I'll be packaging v21.12 for Chimera Linux. From what I could test all v22.x (including v22.3) releases have a broken system-wide installation as of today.

I hope these protobuf/abseil issues are solved in a future release so system-wide installations (like in any Linux distribution packaging) work without requiring hacks like starting to define various abseil libraries to link manually without explicitly using them in some project, packagers having to hack on protobuf.pc.cmake to attempt bringing in the now required abseil stuff etc.

Fwiw https://github.com/nmeum/android-tools is what required bringing in protobuf in my case.

I should note that other distributions also seem to be stuck on the older version 21.12 presumably due to seeing similar problems, see Arch Linux, Alpine Linux, Void Linux, Debian, openSUSE

@kloczek
Copy link
Author

kloczek commented May 3, 2023

gentle ping .. any progress? 🤔

@fowles
Copy link
Contributor

fowles commented May 3, 2023

We are working on this and hope to have new 22.x releases soon to solve it.

@mkruskal-google
Copy link
Member

Hey Thomasz,

Sorry for the delay, I haven't been able to reproduce these issues. Can you provide details on how you built/installed Abseil, and what version you used? Also, the OpenMandriva patch you mentioned only seems to update CMAKE_CXX_STANDARD to 17 in our cmake file. Is there some other change I'm missing?

We recently fixed some pkg-config issues with our dependencies, does the tip of the 22.x branch work for you?

@kloczek
Copy link
Author

kloczek commented May 3, 2023

I should note that other distributions also seem to be stuck on the older version 21.12 presumably due to seeing similar problems, see Arch Linux, Alpine Linux, Void Linux, Debian, openSUSE

Let me try to integrate tose commits with my spec fiels and try to bake that 😋

@kloczek
Copy link
Author

kloczek commented May 3, 2023

Just tested and result still is negative.

warning: Downloading https://github.com/protocolbuffers/protobuf//archive/v22.3/protobuf-22.3.tar.gz to /home/tkloczko/rpmbuild/SOURCES/protobuf-22.3.tar.gz
warning: Macro expanded in comment on line 17: %{name}-use_system_gtest.patch

warning: Downloading https://github.com/protocolbuffers/protobuf//commit/5bc5cd29.patch#/protobuf-Updating-version.json-to-22.4-dev.patch to /home/tkloczko/rpmbuild/SOURCES/protobuf-Updating-version.json-to-22.4-dev.patch
warning: Downloading https://github.com/protocolbuffers/protobuf//commit/1f1bd79d.patch#/protobuf-Ensure-the-ObjC-runtime-builds-for-Apple-Silicon.patch to /home/tkloczko/rpmbuild/SOURCES/protobuf-Ensure-the-ObjC-runtime-builds-for-Apple-Silicon.patch
warning: Downloading https://github.com/protocolbuffers/protobuf//commit/2c55945f.patch#/protobuf-Fix-declared-dependencies-for-pkg-config.patch to /home/tkloczko/rpmbuild/SOURCES/protobuf-Fix-declared-dependencies-for-pkg-config.patch
warning: Downloading https://github.com/protocolbuffers/protobuf//commit/d379c083.patch#/protobuf-Fix-btree-issue-in-map-tests.patch to /home/tkloczko/rpmbuild/SOURCES/protobuf-Fix-btree-issue-in-map-tests.patch
warning: Downloading https://github.com/protocolbuffers/protobuf//commit/94c33e39.patch#/protobuf-Switch-to-protobuf-ci-for-new-test.patch to /home/tkloczko/rpmbuild/SOURCES/protobuf-Switch-to-protobuf-ci-for-new-test.patch
warning: Downloading https://github.com/protocolbuffers/protobuf//commit/b05ee4f0.patch#/protobuf-Bump-utf8_range-to-version-with-working-pkg-config-1.patch to /home/tkloczko/rpmbuild/SOURCES/protobuf-Bump-utf8_range-to-version-with-working-pkg-config-1.patch
warning: Downloading https://github.com/protocolbuffers/protobuf//commit/238d2507.patch#/protobuf-Add-ex-switch-to-all-docker-bash-commands.-12602.patch to /home/tkloczko/rpmbuild/SOURCES/protobuf-Add-ex-switch-to-all-docker-bash-commands.-12602.patch
warning: Downloading https://github.com/protocolbuffers/protobuf//commit/860fbf10.patch#/protobuf-fix-libprotoc-export-useful-symbols-from-.so.patch to /home/tkloczko/rpmbuild/SOURCES/protobuf-fix-libprotoc-export-useful-symbols-from-.so.patch
warning: Downloading https://github.com/protocolbuffers/protobuf//commit/8b81deb3.patch#/protobuf-Fix-bug-in-_internal_copy_files-where-the-rule-would.patch to /home/tkloczko/rpmbuild/SOURCES/protobuf-Fix-bug-in-_internal_copy_files-where-the-rule-would.patch
warning: Downloading https://github.com/protocolbuffers/protobuf//commit/5381f405.patch#/protobuf-Turn-off-clang-musttail-on-i386.patch to /home/tkloczko/rpmbuild/SOURCES/protobuf-Turn-off-clang-musttail-on-i386.patch
warning: Downloading https://github.com/protocolbuffers/protobuf//commit/8c4152a7.patch#/protobuf-Update-abseil-dependency-and-reorder-dependencies-to.patch to /home/tkloczko/rpmbuild/SOURCES/protobuf-Update-abseil-dependency-and-reorder-dependencies-to.patch
warning: Downloading https://github.com/protocolbuffers/protobuf//commit/2399885f.patch#/protobuf-Fix-merge.patch to /home/tkloczko/rpmbuild/SOURCES/protobuf-Fix-merge.patch
warning: Downloading https://github.com/protocolbuffers/protobuf//commit/4683ec75.patch#/protobuf-Update-UPB-dep.patch to /home/tkloczko/rpmbuild/SOURCES/protobuf-Update-UPB-dep.patch
Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.RsRMmo
+ umask 022
+ cd /home/tkloczko/rpmbuild/BUILD
+ cd /home/tkloczko/rpmbuild/BUILD
+ rm -rf protobuf-22.3
+ /usr/bin/gzip -dc /home/tkloczko/rpmbuild/SOURCES/protobuf-22.3.tar.gz
+ /usr/bin/tar -xof -
+ STATUS=0
+ '[' 0 -ne 0 ']'
+ cd protobuf-22.3
+ /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w .
+ /usr/bin/patch -p1 -s --fuzz=0 --no-backup-if-mismatch -f
+ /usr/bin/cat /home/tkloczko/rpmbuild/SOURCES/protobuf-Updating-version.json-to-22.4-dev.patch
+ /usr/bin/cat /home/tkloczko/rpmbuild/SOURCES/protobuf-Ensure-the-ObjC-runtime-builds-for-Apple-Silicon.patch
+ /usr/bin/patch -p1 -s --fuzz=0 --no-backup-if-mismatch -f
+ /usr/bin/cat /home/tkloczko/rpmbuild/SOURCES/protobuf-Fix-declared-dependencies-for-pkg-config.patch
+ /usr/bin/patch -p1 -s --fuzz=0 --no-backup-if-mismatch -f
+ /usr/bin/cat /home/tkloczko/rpmbuild/SOURCES/protobuf-Fix-btree-issue-in-map-tests.patch
+ /usr/bin/patch -p1 -s --fuzz=0 --no-backup-if-mismatch -f
+ /usr/bin/cat /home/tkloczko/rpmbuild/SOURCES/protobuf-Switch-to-protobuf-ci-for-new-test.patch
+ /usr/bin/patch -p1 -s --fuzz=0 --no-backup-if-mismatch -f
+ /usr/bin/cat /home/tkloczko/rpmbuild/SOURCES/protobuf-Bump-utf8_range-to-version-with-working-pkg-config-1.patch
+ /usr/bin/patch -p1 -s --fuzz=0 --no-backup-if-mismatch -f
+ /usr/bin/cat /home/tkloczko/rpmbuild/SOURCES/protobuf-Add-ex-switch-to-all-docker-bash-commands.-12602.patch
+ /usr/bin/patch -p1 -s --fuzz=0 --no-backup-if-mismatch -f
+ /usr/bin/cat /home/tkloczko/rpmbuild/SOURCES/protobuf-fix-libprotoc-export-useful-symbols-from-.so.patch
+ /usr/bin/patch -p1 -s --fuzz=0 --no-backup-if-mismatch -f
+ /usr/bin/cat /home/tkloczko/rpmbuild/SOURCES/protobuf-Fix-bug-in-_internal_copy_files-where-the-rule-would.patch
+ /usr/bin/patch -p1 -s --fuzz=0 --no-backup-if-mismatch -f
+ /usr/bin/cat /home/tkloczko/rpmbuild/SOURCES/protobuf-Turn-off-clang-musttail-on-i386.patch
+ /usr/bin/patch -p1 -s --fuzz=0 --no-backup-if-mismatch -f
+ /usr/bin/cat /home/tkloczko/rpmbuild/SOURCES/protobuf-Update-abseil-dependency-and-reorder-dependencies-to.patch
+ /usr/bin/patch -p1 -s --fuzz=0 --no-backup-if-mismatch -f
+ /usr/bin/cat /home/tkloczko/rpmbuild/SOURCES/protobuf-Fix-merge.patch
+ /usr/bin/patch -p1 -s --fuzz=0 --no-backup-if-mismatch -f
+ /usr/bin/patch -p1 -s --fuzz=0 --no-backup-if-mismatch -f
+ /usr/bin/cat /home/tkloczko/rpmbuild/SOURCES/protobuf-Update-UPB-dep.patch
+ /usr/bin/rm src/solaris/libstdc++.la
+ RPM_EC=0
++ jobs -p
+ exit 0
Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.TA78Yy
+ umask 022
+ cd /home/tkloczko/rpmbuild/BUILD
+ ASMFLAGS='-O2 -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fdata-sections -ffunction-sections -flto=auto -flto-partition=none'
+ CFLAGS='-O2 -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fdata-sections -ffunction-sections -flto=auto -flto-partition=none'
+ CXXFLAGS='-O2 -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fdata-sections -ffunction-sections -flto=auto -flto-partition=none'
+ FFLAGS='-O2 -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fdata-sections -ffunction-sections -flto=auto -flto-partition=none -I/usr/lib64/gfortran/modules'
+ FCFLAGS='-O2 -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fdata-sections -ffunction-sections -flto=auto -flto-partition=none -I/usr/lib64/gfortran/modules'
+ LDFLAGS='-Wl,--gc-sections -Wl,--as-needed -flto=auto -flto-partition=none -fuse-linker-plugin -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -Wl,--build-id=sha1'
+ RUSTFLAGS='-C codegen-units=1 -C debuginfo=2 -C opt-level=2 -C link-arg=-fdata-sections -C link-arg=-ffunction-sections -C link-arg=-Wl,--as-needed -C link-arg=-Wl,-z,now -C link-arg=-Wl,-z,relro --cap-lints=warn'
+ VALAFLAGS=-g
+ CC=/usr/bin/gcc
+ CXX=/usr/bin/g++
+ FC=/usr/bin/gfortran
+ AR=/usr/bin/gcc-ar
+ NM=/usr/bin/gcc-nm
+ RANLIB=/usr/bin/gcc-ranlib
+ export ASMFLAGS CFLAGS CXXFLAGS FFLAGS FCFLAGS LDFLAGS VALAFLAGS CC CXX FC AR NM RANLIB RUSTFLAGS VALAFLAGS
+ cd protobuf-22.3
+ ASMFLAGS='-O2 -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fdata-sections -ffunction-sections -flto=auto -flto-partition=none'
+ CFLAGS='-O2 -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fdata-sections -ffunction-sections -flto=auto -flto-partition=none'
+ CXXFLAGS='-O2 -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fdata-sections -ffunction-sections -flto=auto -flto-partition=none'
+ FFLAGS='-O2 -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fdata-sections -ffunction-sections -flto=auto -flto-partition=none -I/usr/lib64/gfortran/modules'
+ FCFLAGS='-O2 -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fdata-sections -ffunction-sections -flto=auto -flto-partition=none -I/usr/lib64/gfortran/modules'
+ LDFLAGS='-Wl,--gc-sections -Wl,--as-needed -flto=auto -flto-partition=none -fuse-linker-plugin -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -Wl,--build-id=sha1'
+ RUSTFLAGS='-C codegen-units=1 -C debuginfo=2 -C opt-level=2 -C link-arg=-fdata-sections -C link-arg=-ffunction-sections -C link-arg=-Wl,--as-needed -C link-arg=-Wl,-z,now -C link-arg=-Wl,-z,relro --cap-lints=warn'
+ VALAFLAGS=-g
+ CC=/usr/bin/gcc
+ CXX=/usr/bin/g++
+ FC=/usr/bin/gfortran
+ AR=/usr/bin/gcc-ar
+ NM=/usr/bin/gcc-nm
+ RANLIB=/usr/bin/gcc-ranlib
+ export ASMFLAGS CFLAGS CXXFLAGS FFLAGS FCFLAGS LDFLAGS VALAFLAGS CC CXX FC AR NM RANLIB RUSTFLAGS VALAFLAGS
+ /usr/bin/cmake -B x86_64-redhat-linux-gnu -D BUILD_SHARED_LIBS=ON -D CMAKE_AR=/usr/bin/gcc-ar -D CMAKE_BUILD_TYPE=RelWithDebInfo -D CMAKE_C_FLAGS_RELEASE=-DNDEBUG -D CMAKE_CXX_FLAGS_RELEASE=-DNDEBUG -D CMAKE_Fortran_FLAGS_RELEASE=-DNDEBUG -D CMAKE_INSTALL_PREFIX=/usr -D CMAKE_NM=/usr/bin/gcc-nm -D CMAKE_RANLIB=/usr/bin/gcc-ranlib -D CMAKE_VERBOSE_MAKEFILE=ON -D INCLUDE_INSTALL_DIR=/usr/include -D LIB_INSTALL_DIR=/usr/lib64 -D LIB_SUFFIX=64 -D SHARE_INSTALL_PREFIX=/usr/share -D SYSCONF_INSTALL_DIR=/etc -S . -D CMAKE_PREFIX_PATH=/usr -D protobuf_ABSL_PROVIDER=ON -D protobuf_ABSL_PROVIDER=package -D protobuf_BUILD_TESTS=ON -D protobuf_USE_EXTERNAL_GTEST=ON
-- The C compiler identification is GNU 13.1.1
-- The CXX compiler identification is GNU 13.1.1
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/gcc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/g++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
--
-- 22.3.0
-- Performing Test protobuf_HAVE_LD_VERSION_SCRIPT
-- Performing Test protobuf_HAVE_LD_VERSION_SCRIPT - Success
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE
-- Found ZLIB: /usr/lib64/libz.so (found version "1.2.11")
-- Performing Test protobuf_HAVE_BUILTIN_ATOMICS
-- Performing Test protobuf_HAVE_BUILTIN_ATOMICS - Success
-- Found GTest: /usr/lib64/cmake/GTest/GTestConfig.cmake (found version "1.13.0")
-- Configuring done (1.8s)
CMake Error at cmake/tests.cmake:97 (target_link_libraries):
  Target "tests" links to:

    absl::scoped_mock_log

  but the target was not found.  Possible reasons include:

    * There is a typo in the target name.
    * A find_package call is missing for an IMPORTED target.
    * An ALIAS target is missing.

Call Stack (most recent call first):
  CMakeLists.txt:401 (include)


CMake Error at cmake/tests.cmake:113 (target_link_libraries):
  Target "test_plugin" links to:

    absl::scoped_mock_log

  but the target was not found.  Possible reasons include:

    * There is a typo in the target name.
    * A find_package call is missing for an IMPORTED target.
    * An ALIAS target is missing.

Call Stack (most recent call first):
  CMakeLists.txt:401 (include)


CMake Error at cmake/tests.cmake:126 (target_link_libraries):
  Target "lite-test" links to:

    absl::scoped_mock_log

  but the target was not found.  Possible reasons include:

    * There is a typo in the target name.
    * A find_package call is missing for an IMPORTED target.
    * An ALIAS target is missing.

Call Stack (most recent call first):
  CMakeLists.txt:401 (include)


-- Generating done (0.1s)
CMake Warning:
  Manually-specified variables were not used by the project:

    CMAKE_Fortran_FLAGS_RELEASE
    INCLUDE_INSTALL_DIR
    LIB_INSTALL_DIR
    LIB_SUFFIX
    SHARE_INSTALL_PREFIX
    SYSCONF_INSTALL_DIR


CMake Generate step failed.  Build files cannot be regenerated correctly.

@mkruskal-google
Copy link
Member

that's 22.3. The fixes I was referring to aren't released yet but are sitting in main and the 22.x branch (and will be in our next releast)

@mkruskal-google
Copy link
Member

Ah sorry nvm, you patched in the 22.4 commits >.<. Ok in that case can you provide your Abseil setup? I'm still not able to reproduce this and I suspect it has something to do with how you installed Abseil (or maybe your OS?)

@mkruskal-google
Copy link
Member

mkruskal-google commented May 3, 2023

So I suspect this is caused by Abseil getting installed without -DABSL_BUILD_TEST_HELPERS=ON set, which installs the scoped_mock_log target our tests depend on. If this is the case, setting -Dprotobuf_BUILD_TESTS=OFF on our build or reinstalling Abseil should work. We should add documentation about this though

@kloczek
Copy link
Author

kloczek commented May 3, 2023

So I suspect this is caused by Abseil getting installed without -DABSL_BUILD_TEST_HELPERS=ON set, which installs the scoped_mock_log target our tests depend on. If this is the case, setting -Dprotobuf_BUILD_TESTS=OFF on our build or reinstalling Abseil should work. We should add documentation about this though

Nope 😋
Here is %build section from my abseil-cpp.spec

%build
%cmake \
        -D ABSL_BUILD_TESTING=ON \
        -D ABSL_BUILD_TEST_HELPERS=ON \
        -D ABSL_USE_EXTERNAL_GOOGLETEST=ON \
        %{nil}
%cmake_build

@kloczek
Copy link
Author

kloczek commented May 3, 2023

Just checked absl-spp buils log. Here is cmake output

absl cmake log
+ cd abseil-cpp-20230125.2
+ ASMFLAGS='-O2 -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fdata-sections -ffunction-sections -flto=auto -flto-partition=none'
+ CFLAGS='-O2 -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fdata-sections -ffunction-sections -flto=auto -flto-partition=none'
+ CXXFLAGS='-O2 -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fdata-sections -ffunction-sections -flto=auto -flto-partition=none'
+ FFLAGS='-O2 -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fdata-sections -ffunction-sections -flto=auto -flto-partition=none -I/usr/lib64/gfortran/modules'
+ FCFLAGS='-O2 -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fdata-sections -ffunction-sections -flto=auto -flto-partition=none -I/usr/lib64/gfortran/modules'
+ LDFLAGS='-Wl,--gc-sections -Wl,--as-needed -flto=auto -flto-partition=none -fuse-linker-plugin -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -Wl,--build-id=sha1'
+ RUSTFLAGS='-C codegen-units=1 -C debuginfo=2 -C opt-level=2 -C link-arg=-fdata-sections -C link-arg=-ffunction-sections -C link-arg=-Wl,--as-needed -C link-arg=-Wl,-z,now -C link-arg=-Wl,-z,relro --cap-lints=warn'
+ VALAFLAGS=-g
+ CC=/usr/bin/gcc
+ CXX=/usr/bin/g++
+ FC=/usr/bin/gfortran
+ AR=/usr/bin/gcc-ar
+ NM=/usr/bin/gcc-nm
+ RANLIB=/usr/bin/gcc-ranlib
+ export ASMFLAGS CFLAGS CXXFLAGS FFLAGS FCFLAGS LDFLAGS VALAFLAGS CC CXX FC AR NM RANLIB RUSTFLAGS VALAFLAGS
+ /usr/bin/cmake -B x86_64-redhat-linux-gnu -D BUILD_SHARED_LIBS=ON -D CMAKE_AR=/usr/bin/gcc-ar -D CMAKE_BUILD_TYPE=RelWithDebInfo -D CMAKE_C_FLAGS_RELEASE=-DNDEBUG -D CMAKE_CXX_FLAGS_RELEASE=-DNDEBUG -D CMAKE_Fortran_FLAGS_RELEASE=-DNDEBUG -D CMAKE_INSTALL_PREFIX=/usr -D CMAKE_NM=/usr/bin/gcc-nm -D CMAKE_RANLIB=/usr/bin/gcc-ranlib -D CMAKE_VERBOSE_MAKEFILE=ON -D INCLUDE_INSTALL_DIR=/usr/include -D LIB_INSTALL_DIR=/usr/lib64 -D LIB_SUFFIX=64 -D SHARE_INSTALL_PREFIX=/usr/share -D SYSCONF_INSTALL_DIR=/etc -S . -D ABSL_BUILD_TESTING=ON -D ABSL_BUILD_TEST_HELPERS=ON -D ABSL_USE_EXTERNAL_GOOGLETEST=ON
-- The CXX compiler identification is GNU 13.0.1
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/g++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
CMake Warning at CMakeLists.txt:72 (message):
  A future Abseil release will default ABSL_PROPAGATE_CXX_STD to ON for CMake
  3.8 and up.  We recommend enabling this option to ensure your project still
  builds correctly.


-- Performing Test ABSL_INTERNAL_AT_LEAST_CXX17
-- Performing Test ABSL_INTERNAL_AT_LEAST_CXX17 - Success
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE
-- Found GTest: /usr/lib64/cmake/GTest/GTestConfig.cmake (found version "1.13.0")
-- Configuring done (1.3s)
-- Generating done (1.0s)
CMake Warning:
  Manually-specified variables were not used by the project:

    CMAKE_C_FLAGS_RELEASE
    CMAKE_Fortran_FLAGS_RELEASE
    INCLUDE_INSTALL_DIR
    LIB_INSTALL_DIR
    LIB_SUFFIX
    SHARE_INSTALL_PREFIX
    SYSCONF_INSTALL_DIR


-- Build files have been written to: /home/tkloczko/rpmbuild/BUILD/abseil-cpp-20230125.2/x86_64-redhat-linux-gnu

@mkruskal-google
Copy link
Member

Thanks for all the info! It looks like this is caused by abseil/abseil-cpp#1407, which hasn't been fixed in an Abseil release yet. We'll try to get that pushed through and update our dependency (along with new tests that reproduce this)

copybara-service bot pushed a commit that referenced this issue May 3, 2023
These more closely follow the standard practices of our users, where dependencies are pre-installed instead of using our provided sub-modules.  This will prevent issues such as #12201 from reoccuring.

PiperOrigin-RevId: 529211944
copybara-service bot pushed a commit that referenced this issue May 3, 2023
These more closely follow the standard practices of our users, where dependencies are pre-installed instead of using our provided sub-modules.  This will prevent issues such as #12201 from reoccuring.

PiperOrigin-RevId: 529211944
copybara-service bot pushed a commit that referenced this issue May 4, 2023
These more closely follow the standard practices of our users, where dependencies are pre-installed instead of using our provided sub-modules.  This will prevent issues such as #12201 from reoccuring.

PiperOrigin-RevId: 529211944
copybara-service bot pushed a commit that referenced this issue May 4, 2023
These more closely follow the standard practices of our users, where dependencies are pre-installed instead of using our provided sub-modules.  This will prevent issues such as #12201 from reoccuring.

Additionally, this cl bumps our Abseil dependency to the latest release, and fixes a GTest issue that went previously unnoticed.

PiperOrigin-RevId: 529211944
copybara-service bot pushed a commit that referenced this issue May 4, 2023
These more closely follow the standard practices of our users, where dependencies are pre-installed instead of using our provided sub-modules.  This will prevent issues such as #12201 from reoccuring.

Additionally, this cl bumps our Abseil dependency to the latest release, and fixes a GTest issue that went previously unnoticed.

PiperOrigin-RevId: 529211944
@mkruskal-google
Copy link
Member

k, so this should be fixed with Abseil 20230125.3. We've made some additional changes to Protobuf that I'll backport to 22 and 23 today, but there's a good chance you don't need any of them.

copybara-service bot pushed a commit that referenced this issue May 4, 2023
This partially addresses #12201

Closes #12660

COPYBARA_INTEGRATE_REVIEW=#12660 from mkruskal-google:absl-update ce07c45
PiperOrigin-RevId: 529456996
@kloczek
Copy link
Author

kloczek commented May 4, 2023

OK .. please let me check 😋

copybara-service bot pushed a commit that referenced this issue May 4, 2023
These more closely follow the standard practices of our users, where dependencies are pre-installed instead of using our provided sub-modules.  This will prevent issues such as #12201 from reoccuring.

Additionally, this cl bumps our Abseil dependency to the latest release, and fixes a GTest issue that went previously unnoticed.

PiperOrigin-RevId: 529211944
copybara-service bot pushed a commit that referenced this issue May 4, 2023
These more closely follow the standard practices of our users, where dependencies are pre-installed instead of using our provided sub-modules.  This will prevent issues such as #12201 from reoccuring.

Additionally, this cl bumps our Abseil dependency to the latest release, and fixes a GTest issue that went previously unnoticed.

PiperOrigin-RevId: 529211944
copybara-service bot pushed a commit that referenced this issue May 4, 2023
These more closely follow the standard practices of our users, where dependencies are pre-installed instead of using our provided sub-modules.  This will prevent issues such as #12201 from reoccuring.

Additionally, this cl bumps our Abseil dependency to the latest release, and fixes a GTest issue that went previously unnoticed.

PiperOrigin-RevId: 529211944
copybara-service bot pushed a commit that referenced this issue May 4, 2023
These more closely follow the standard practices of our users, where dependencies are pre-installed instead of using our provided sub-modules.  This will prevent issues such as #12201 from reoccuring.

Additionally, this cl bumps our Abseil dependency to the latest release, and fixes a GTest issue that went previously unnoticed.

PiperOrigin-RevId: 529211944
@kloczek
Copy link
Author

kloczek commented May 4, 2023

Build fails with gcc 13

[tkloczko@pers-jacek x86_64-redhat-linux-gnu]$ make -k
/usr/bin/cmake -S/home/tkloczko/rpmbuild/BUILD/protobuf-22.4 -B/home/tkloczko/rpmbuild/BUILD/protobuf-22.4/x86_64-redhat-linux-gnu --check-build-system CMakeFiles/Makefile.cmake 0
/usr/bin/cmake -E cmake_progress_start /home/tkloczko/rpmbuild/BUILD/protobuf-22.4/x86_64-redhat-linux-gnu/CMakeFiles /home/tkloczko/rpmbuild/BUILD/protobuf-22.4/x86_64-redhat-linux-gnu//CMakeFiles/progress.marks
make  -f CMakeFiles/Makefile2 all
make[1]: Entering directory '/home/tkloczko/rpmbuild/BUILD/protobuf-22.4/x86_64-redhat-linux-gnu'
make  -f third_party/utf8_range/CMakeFiles/utf8_validity.dir/build.make third_party/utf8_range/CMakeFiles/utf8_validity.dir/depend
make[2]: Entering directory '/home/tkloczko/rpmbuild/BUILD/protobuf-22.4/x86_64-redhat-linux-gnu'
cd /home/tkloczko/rpmbuild/BUILD/protobuf-22.4/x86_64-redhat-linux-gnu && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /home/tkloczko/rpmbuild/BUILD/protobuf-22.4 /home/tkloczko/rpmbuild/BUILD/protobuf-22.4/third_party/utf8_range /home/tkloczko/rpmbuild/BUILD/protobuf-22.4/x86_64-redhat-linux-gnu /home/tkloczko/rpmbuild/BUILD/protobuf-22.4/x86_64-redhat-linux-gnu/third_party/utf8_range /home/tkloczko/rpmbuild/BUILD/protobuf-22.4/x86_64-redhat-linux-gnu/third_party/utf8_range/CMakeFiles/utf8_validity.dir/DependInfo.cmake --color=
make[2]: Leaving directory '/home/tkloczko/rpmbuild/BUILD/protobuf-22.4/x86_64-redhat-linux-gnu'
make  -f third_party/utf8_range/CMakeFiles/utf8_validity.dir/build.make third_party/utf8_range/CMakeFiles/utf8_validity.dir/build
make[2]: Entering directory '/home/tkloczko/rpmbuild/BUILD/protobuf-22.4/x86_64-redhat-linux-gnu'
make[2]: Nothing to be done for 'third_party/utf8_range/CMakeFiles/utf8_validity.dir/build'.
make[2]: Leaving directory '/home/tkloczko/rpmbuild/BUILD/protobuf-22.4/x86_64-redhat-linux-gnu'
[  1%] Built target utf8_validity
make  -f CMakeFiles/libprotobuf-lite.dir/build.make CMakeFiles/libprotobuf-lite.dir/depend
make[2]: Entering directory '/home/tkloczko/rpmbuild/BUILD/protobuf-22.4/x86_64-redhat-linux-gnu'
cd /home/tkloczko/rpmbuild/BUILD/protobuf-22.4/x86_64-redhat-linux-gnu && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /home/tkloczko/rpmbuild/BUILD/protobuf-22.4 /home/tkloczko/rpmbuild/BUILD/protobuf-22.4 /home/tkloczko/rpmbuild/BUILD/protobuf-22.4/x86_64-redhat-linux-gnu /home/tkloczko/rpmbuild/BUILD/protobuf-22.4/x86_64-redhat-linux-gnu /home/tkloczko/rpmbuild/BUILD/protobuf-22.4/x86_64-redhat-linux-gnu/CMakeFiles/libprotobuf-lite.dir/DependInfo.cmake --color=
make[2]: Leaving directory '/home/tkloczko/rpmbuild/BUILD/protobuf-22.4/x86_64-redhat-linux-gnu'
make  -f CMakeFiles/libprotobuf-lite.dir/build.make CMakeFiles/libprotobuf-lite.dir/build
make[2]: Entering directory '/home/tkloczko/rpmbuild/BUILD/protobuf-22.4/x86_64-redhat-linux-gnu'
[  1%] Building CXX object CMakeFiles/libprotobuf-lite.dir/src/google/protobuf/inlined_string_field.cc.o
/usr/bin/g++ -DGOOGLE_PROTOBUF_CMAKE_BUILD -DHAVE_ZLIB -DLIBPROTOBUF_EXPORTS -DPROTOBUF_USE_DLLS -Dlibprotobuf_lite_EXPORTS -I/home/tkloczko/rpmbuild/BUILD/protobuf-22.4/x86_64-redhat-linux-gnu -I/home/tkloczko/rpmbuild/BUILD/protobuf-22.4/src -I/home/tkloczko/rpmbuild/BUILD/protobuf-22.4/third_party/utf8_range -O2 -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fdata-sections -ffunction-sections -flto=auto -flto-partition=none -DNDEBUG -fPIC -fvisibility=hidden -fvisibility-inlines-hidden -MD -MT CMakeFiles/libprotobuf-lite.dir/src/google/protobuf/inlined_string_field.cc.o -MF CMakeFiles/libprotobuf-lite.dir/src/google/protobuf/inlined_string_field.cc.o.d -o CMakeFiles/libprotobuf-lite.dir/src/google/protobuf/inlined_string_field.cc.o -c /home/tkloczko/rpmbuild/BUILD/protobuf-22.4/src/google/protobuf/inlined_string_field.cc
In file included from /home/tkloczko/rpmbuild/BUILD/protobuf-22.4/src/google/protobuf/inlined_string_field.h:37,
                 from /home/tkloczko/rpmbuild/BUILD/protobuf-22.4/src/google/protobuf/inlined_string_field.cc:31:
/home/tkloczko/rpmbuild/BUILD/protobuf-22.4/src/google/protobuf/port.h:186:67: error: ‘uint32_t’ was not declared in this scope
  186 |     : absl::disjunction<std::is_same<T, int32_t>, std::is_same<T, uint32_t>,
      |                                                                   ^~~~~~~~
/home/tkloczko/rpmbuild/BUILD/protobuf-22.4/src/google/protobuf/port.h:56:1: note: ‘uint32_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
   55 | #include "google/protobuf/port_def.inc"
  +++ |+#include <cstdint>
   56 |
/home/tkloczko/rpmbuild/BUILD/protobuf-22.4/src/google/protobuf/port.h:186:75: error: template argument 2 is invalid
  186 |     : absl::disjunction<std::is_same<T, int32_t>, std::is_same<T, uint32_t>,
      |                                                                           ^
/home/tkloczko/rpmbuild/BUILD/protobuf-22.4/src/google/protobuf/port.h:187:67: error: ‘uint64_t’ was not declared in this scope
  187 |                         std::is_same<T, int64_t>, std::is_same<T, uint64_t>,
      |                                                                   ^~~~~~~~
/home/tkloczko/rpmbuild/BUILD/protobuf-22.4/src/google/protobuf/port.h:187:67: note: ‘uint64_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
/home/tkloczko/rpmbuild/BUILD/protobuf-22.4/src/google/protobuf/port.h:187:75: error: template argument 2 is invalid
  187 |                         std::is_same<T, int64_t>, std::is_same<T, uint64_t>,
      |                                                                           ^
/home/tkloczko/rpmbuild/BUILD/protobuf-22.4/src/google/protobuf/port.h:188:45: error: template argument 2 is invalid
  188 |                         std::is_same<T, bool>> {};
      |                                             ^~
/home/tkloczko/rpmbuild/BUILD/protobuf-22.4/src/google/protobuf/port.h:188:45: error: template argument 4 is invalid
make[2]: *** [CMakeFiles/libprotobuf-lite.dir/build.make:233: CMakeFiles/libprotobuf-lite.dir/src/google/protobuf/inlined_string_field.cc.o] Error 1
make[2]: Target 'CMakeFiles/libprotobuf-lite.dir/build' not remade because of errors.
make[2]: Leaving directory '/home/tkloczko/rpmbuild/BUILD/protobuf-22.4/x86_64-redhat-linux-gnu'
make[1]: *** [CMakeFiles/Makefile2:121: CMakeFiles/libprotobuf-lite.dir/all] Error 2
make  -f CMakeFiles/libprotobuf.dir/build.make CMakeFiles/libprotobuf.dir/depend
make[2]: Entering directory '/home/tkloczko/rpmbuild/BUILD/protobuf-22.4/x86_64-redhat-linux-gnu'
cd /home/tkloczko/rpmbuild/BUILD/protobuf-22.4/x86_64-redhat-linux-gnu && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /home/tkloczko/rpmbuild/BUILD/protobuf-22.4 /home/tkloczko/rpmbuild/BUILD/protobuf-22.4 /home/tkloczko/rpmbuild/BUILD/protobuf-22.4/x86_64-redhat-linux-gnu /home/tkloczko/rpmbuild/BUILD/protobuf-22.4/x86_64-redhat-linux-gnu /home/tkloczko/rpmbuild/BUILD/protobuf-22.4/x86_64-redhat-linux-gnu/CMakeFiles/libprotobuf.dir/DependInfo.cmake --color=
make[2]: Leaving directory '/home/tkloczko/rpmbuild/BUILD/protobuf-22.4/x86_64-redhat-linux-gnu'
make  -f CMakeFiles/libprotobuf.dir/build.make CMakeFiles/libprotobuf.dir/build
make[2]: Entering directory '/home/tkloczko/rpmbuild/BUILD/protobuf-22.4/x86_64-redhat-linux-gnu'
[  1%] Building CXX object CMakeFiles/libprotobuf.dir/src/google/protobuf/any.cc.o
/usr/bin/g++ -DGOOGLE_PROTOBUF_CMAKE_BUILD -DHAVE_ZLIB -DLIBPROTOBUF_EXPORTS -DPROTOBUF_USE_DLLS -Dlibprotobuf_EXPORTS -I/home/tkloczko/rpmbuild/BUILD/protobuf-22.4/x86_64-redhat-linux-gnu -I/home/tkloczko/rpmbuild/BUILD/protobuf-22.4/src -I/home/tkloczko/rpmbuild/BUILD/protobuf-22.4/third_party/utf8_range -O2 -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fdata-sections -ffunction-sections -flto=auto -flto-partition=none -DNDEBUG -fPIC -fvisibility=hidden -fvisibility-inlines-hidden -MD -MT CMakeFiles/libprotobuf.dir/src/google/protobuf/any.cc.o -MF CMakeFiles/libprotobuf.dir/src/google/protobuf/any.cc.o.d -o CMakeFiles/libprotobuf.dir/src/google/protobuf/any.cc.o -c /home/tkloczko/rpmbuild/BUILD/protobuf-22.4/src/google/protobuf/any.cc
In file included from /home/tkloczko/rpmbuild/BUILD/protobuf-22.4/src/google/protobuf/any.h:36,
                 from /home/tkloczko/rpmbuild/BUILD/protobuf-22.4/src/google/protobuf/any.cc:31:
/home/tkloczko/rpmbuild/BUILD/protobuf-22.4/src/google/protobuf/port.h:186:67: error: ‘uint32_t’ was not declared in this scope
  186 |     : absl::disjunction<std::is_same<T, int32_t>, std::is_same<T, uint32_t>,
      |                                                                   ^~~~~~~~
/home/tkloczko/rpmbuild/BUILD/protobuf-22.4/src/google/protobuf/port.h:56:1: note: ‘uint32_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
   55 | #include "google/protobuf/port_def.inc"
  +++ |+#include <cstdint>
   56 |
/home/tkloczko/rpmbuild/BUILD/protobuf-22.4/src/google/protobuf/port.h:186:75: error: template argument 2 is invalid
  186 |     : absl::disjunction<std::is_same<T, int32_t>, std::is_same<T, uint32_t>,
      |                                                                           ^
/home/tkloczko/rpmbuild/BUILD/protobuf-22.4/src/google/protobuf/port.h:187:67: error: ‘uint64_t’ was not declared in this scope
  187 |                         std::is_same<T, int64_t>, std::is_same<T, uint64_t>,
      |                                                                   ^~~~~~~~
/home/tkloczko/rpmbuild/BUILD/protobuf-22.4/src/google/protobuf/port.h:187:67: note: ‘uint64_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
/home/tkloczko/rpmbuild/BUILD/protobuf-22.4/src/google/protobuf/port.h:187:75: error: template argument 2 is invalid
  187 |                         std::is_same<T, int64_t>, std::is_same<T, uint64_t>,
      |                                                                           ^
/home/tkloczko/rpmbuild/BUILD/protobuf-22.4/src/google/protobuf/port.h:188:45: error: template argument 2 is invalid
  188 |                         std::is_same<T, bool>> {};
      |                                             ^~
/home/tkloczko/rpmbuild/BUILD/protobuf-22.4/src/google/protobuf/port.h:188:45: error: template argument 4 is invalid
make[2]: *** [CMakeFiles/libprotobuf.dir/build.make:219: CMakeFiles/libprotobuf.dir/src/google/protobuf/any.cc.o] Error 1
[  2%] Building CXX object CMakeFiles/libprotobuf.dir/src/google/protobuf/inlined_string_field.cc.o
/usr/bin/g++ -DGOOGLE_PROTOBUF_CMAKE_BUILD -DHAVE_ZLIB -DLIBPROTOBUF_EXPORTS -DPROTOBUF_USE_DLLS -Dlibprotobuf_EXPORTS -I/home/tkloczko/rpmbuild/BUILD/protobuf-22.4/x86_64-redhat-linux-gnu -I/home/tkloczko/rpmbuild/BUILD/protobuf-22.4/src -I/home/tkloczko/rpmbuild/BUILD/protobuf-22.4/third_party/utf8_range -O2 -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fdata-sections -ffunction-sections -flto=auto -flto-partition=none -DNDEBUG -fPIC -fvisibility=hidden -fvisibility-inlines-hidden -MD -MT CMakeFiles/libprotobuf.dir/src/google/protobuf/inlined_string_field.cc.o -MF CMakeFiles/libprotobuf.dir/src/google/protobuf/inlined_string_field.cc.o.d -o CMakeFiles/libprotobuf.dir/src/google/protobuf/inlined_string_field.cc.o -c /home/tkloczko/rpmbuild/BUILD/protobuf-22.4/src/google/protobuf/inlined_string_field.cc
In file included from /home/tkloczko/rpmbuild/BUILD/protobuf-22.4/src/google/protobuf/inlined_string_field.h:37,
                 from /home/tkloczko/rpmbuild/BUILD/protobuf-22.4/src/google/protobuf/inlined_string_field.cc:31:
/home/tkloczko/rpmbuild/BUILD/protobuf-22.4/src/google/protobuf/port.h:186:67: error: ‘uint32_t’ was not declared in this scope
  186 |     : absl::disjunction<std::is_same<T, int32_t>, std::is_same<T, uint32_t>,
      |                                                                   ^~~~~~~~
/home/tkloczko/rpmbuild/BUILD/protobuf-22.4/src/google/protobuf/port.h:56:1: note: ‘uint32_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
   55 | #include "google/protobuf/port_def.inc"
  +++ |+#include <cstdint>
   56 |
/home/tkloczko/rpmbuild/BUILD/protobuf-22.4/src/google/protobuf/port.h:186:75: error: template argument 2 is invalid
  186 |     : absl::disjunction<std::is_same<T, int32_t>, std::is_same<T, uint32_t>,
      |                                                                           ^
/home/tkloczko/rpmbuild/BUILD/protobuf-22.4/src/google/protobuf/port.h:187:67: error: ‘uint64_t’ was not declared in this scope
  187 |                         std::is_same<T, int64_t>, std::is_same<T, uint64_t>,
      |                                                                   ^~~~~~~~
/home/tkloczko/rpmbuild/BUILD/protobuf-22.4/src/google/protobuf/port.h:187:67: note: ‘uint64_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
/home/tkloczko/rpmbuild/BUILD/protobuf-22.4/src/google/protobuf/port.h:187:75: error: template argument 2 is invalid
  187 |                         std::is_same<T, int64_t>, std::is_same<T, uint64_t>,
      |                                                                           ^
/home/tkloczko/rpmbuild/BUILD/protobuf-22.4/src/google/protobuf/port.h:188:45: error: template argument 2 is invalid
  188 |                         std::is_same<T, bool>> {};
      |                                             ^~
/home/tkloczko/rpmbuild/BUILD/protobuf-22.4/src/google/protobuf/port.h:188:45: error: template argument 4 is invalid
make[2]: *** [CMakeFiles/libprotobuf.dir/build.make:541: CMakeFiles/libprotobuf.dir/src/google/protobuf/inlined_string_field.cc.o] Error 1
make[2]: Target 'CMakeFiles/libprotobuf.dir/build' not remade because of errors.
make[2]: Leaving directory '/home/tkloczko/rpmbuild/BUILD/protobuf-22.4/x86_64-redhat-linux-gnu'
make[1]: *** [CMakeFiles/Makefile2:147: CMakeFiles/libprotobuf.dir/all] Error 2
make  -f third_party/utf8_range/CMakeFiles/utf8_range.dir/build.make third_party/utf8_range/CMakeFiles/utf8_range.dir/depend
make[2]: Entering directory '/home/tkloczko/rpmbuild/BUILD/protobuf-22.4/x86_64-redhat-linux-gnu'
cd /home/tkloczko/rpmbuild/BUILD/protobuf-22.4/x86_64-redhat-linux-gnu && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /home/tkloczko/rpmbuild/BUILD/protobuf-22.4 /home/tkloczko/rpmbuild/BUILD/protobuf-22.4/third_party/utf8_range /home/tkloczko/rpmbuild/BUILD/protobuf-22.4/x86_64-redhat-linux-gnu /home/tkloczko/rpmbuild/BUILD/protobuf-22.4/x86_64-redhat-linux-gnu/third_party/utf8_range /home/tkloczko/rpmbuild/BUILD/protobuf-22.4/x86_64-redhat-linux-gnu/third_party/utf8_range/CMakeFiles/utf8_range.dir/DependInfo.cmake --color=
make[2]: Leaving directory '/home/tkloczko/rpmbuild/BUILD/protobuf-22.4/x86_64-redhat-linux-gnu'
make  -f third_party/utf8_range/CMakeFiles/utf8_range.dir/build.make third_party/utf8_range/CMakeFiles/utf8_range.dir/build
make[2]: Entering directory '/home/tkloczko/rpmbuild/BUILD/protobuf-22.4/x86_64-redhat-linux-gnu'
make[2]: Nothing to be done for 'third_party/utf8_range/CMakeFiles/utf8_range.dir/build'.
make[2]: Leaving directory '/home/tkloczko/rpmbuild/BUILD/protobuf-22.4/x86_64-redhat-linux-gnu'
[  3%] Built target utf8_range
make[1]: Target 'all' not remade because of errors.
make[1]: Leaving directory '/home/tkloczko/rpmbuild/BUILD/protobuf-22.4/x86_64-redhat-linux-gnu'
make: *** [Makefile:149: all] Error 2

copybara-service bot pushed a commit that referenced this issue May 4, 2023
These more closely follow the standard practices of our users, where dependencies are pre-installed instead of using our provided sub-modules.  This will prevent issues such as #12201 from reoccuring.

Additionally, this cl bumps our Abseil dependency to the latest release, and fixes a GTest issue that went previously unnoticed.

PiperOrigin-RevId: 529490402
mkruskal-google added a commit that referenced this issue May 4, 2023
This partially addresses #12201

Closes #12660

COPYBARA_INTEGRATE_REVIEW=#12660 from mkruskal-google:absl-update ce07c45
PiperOrigin-RevId: 529456996
mkruskal-google added a commit that referenced this issue May 4, 2023
These more closely follow the standard practices of our users, where dependencies are pre-installed instead of using our provided sub-modules.  This will prevent issues such as #12201 from reoccuring.

Additionally, this cl bumps our Abseil dependency to the latest release, and fixes a GTest issue that went previously unnoticed.

PiperOrigin-RevId: 529490402
mkruskal-google added a commit that referenced this issue May 4, 2023
This partially addresses #12201

Closes #12660

COPYBARA_INTEGRATE_REVIEW=#12660 from mkruskal-google:absl-update ce07c45
PiperOrigin-RevId: 529456996
mkruskal-google added a commit that referenced this issue May 4, 2023
These more closely follow the standard practices of our users, where dependencies are pre-installed instead of using our provided sub-modules.  This will prevent issues such as #12201 from reoccuring.

Additionally, this cl bumps our Abseil dependency to the latest release, and fixes a GTest issue that went previously unnoticed.

PiperOrigin-RevId: 529490402
@mkruskal-google
Copy link
Member

hmm looks like we need more gcc test coverage. Is adding -include stdint.h a reasonable workaround? We should move this to a separate issue

@kloczek
Copy link
Author

kloczek commented May 4, 2023

No .. just please add those includes in the code as that error message says 😄

@kloczek
Copy link
Author

kloczek commented May 5, 2023

OK with below one line patch I was able to build protobuf library

--- a/src/google/protobuf/port.h
+++ b/src/google/protobuf/port.h
@@ -53,7 +53,7 @@

 // must be last
 #include "google/protobuf/port_def.inc"
-
+#include <cstdint>

 namespace google {
 namespace protobuf {

After that I found that something has changed in python module build because I was not able to build module using pep517 build procdure

+ /usr/bin/python3 -sBm build -w --no-isolation
* Getting build dependencies for wheel...
/usr/lib/python3.8/site-packages/setuptools/dist.py:955: SetuptoolsDeprecationWarning: The namespace_packages parameter is deprecated.
!!

        ********************************************************************************
        Please replace its usage with implicit namespaces (PEP 420).

        See https://setuptools.pypa.io/en/latest/references/keywords.html#keyword-namespace-packages for details.
        ********************************************************************************

!!
  ep.load()(self, ep.name, value)
running egg_info
creating protobuf.egg-info
writing protobuf.egg-info/PKG-INFO
writing dependency_links to protobuf.egg-info/dependency_links.txt
writing namespace_packages to protobuf.egg-info/namespace_packages.txt
writing top-level names to protobuf.egg-info/top_level.txt
writing manifest file 'protobuf.egg-info/SOURCES.txt'
/usr/lib/python3.8/site-packages/setuptools/command/sdist.py:119: SetuptoolsDeprecationWarning: `build_py` command does not inherit from setuptools' `build_py`.
!!

        ********************************************************************************
        Custom 'build_py' does not implement 'get_data_files_without_manifest'.
        Please extend command classes from setuptools instead of distutils.

        See https://peps.python.org/pep-0632/ for details.
        ********************************************************************************

!!
  self._add_data_files(self._safe_data_files(build_py))
reading manifest file 'protobuf.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
no previously-included directories found matching 'google/protobuf/internal/import_test_package'
warning: no previously-included files found matching 'google/protobuf/internal/*_pb2.py'
warning: no previously-included files found matching 'google/protobuf/internal/*_test.py'
warning: no previously-included files found matching 'google/protobuf/internal/*.proto'
warning: no previously-included files found matching 'google/protobuf/internal/test_util.py'
warning: no previously-included files matching '*_test.py' found under directory 'google'
warning: no previously-included files matching '*_test.proto' found under directory 'google'
warning: no previously-included files matching 'unittest*_pb2.py' found under directory 'google'
warning: no previously-included files matching '*.dll' found anywhere in distribution
warning: no previously-included files matching '*.pyc' found anywhere in distribution
warning: no previously-included files matching '*.pyo' found anywhere in distribution
warning: no previously-included files matching '*.so' found anywhere in distribution
warning: no files found matching 'LICENSE'
writing manifest file 'protobuf.egg-info/SOURCES.txt'
* Building wheel...
/usr/lib/python3.8/site-packages/setuptools/dist.py:955: SetuptoolsDeprecationWarning: The namespace_packages parameter is deprecated.
!!

        ********************************************************************************
        Please replace its usage with implicit namespaces (PEP 420).

        See https://setuptools.pypa.io/en/latest/references/keywords.html#keyword-namespace-packages for details.
        ********************************************************************************

!!
  ep.load()(self, ep.name, value)
running bdist_wheel
running build
running build_py
Generating google/protobuf/descriptor_pb2.py...
protoc is not installed nor found in ../src.  Please compile it or install the binary package.

ERROR Backend subprocess exited when trying to invoke build_wheel

Above is executed aftwr change direcrory to python/

Please have a look closer on above warnings as well.

My sugestion is to remove completly python binding and make it as standalone source tree and module registered on pypi which in build rpocedure will be assuming that module DSO will be linked with system installed protobuf + its devel (to detect protobuf usig pkgconfig could be used pkgconfig python module https://pypi.org/project/pkgconfig/)

@kloczek
Copy link
Author

kloczek commented May 5, 2023

Looks like curent python modul build procedure assumes that protobuf shared libraries will be build in source tree.
Issue is that most of the Linux distributions on use cmake are using off-tree build (cmake -B <build_directory> .. and you cannot anticipate ehat woud be the name of the '<build_directory>`.

@kloczek
Copy link
Author

kloczek commented May 5, 2023

Just found that protobuf actuallalredy is on pypi https://pypi.org/project/protobuf/ however there is no VCS tree where its code is maintained.

I made yet another test

[tkloczko@pers-jacek build]$ rpmbuild -ba protobuf.spec --quiet 2>&1 | grep -- \\[-W | sed 's/.*\[//; s/\]//' | sort | uniq -c | sort -nr
    302 -Wsign-compare
    116 -Wdeprecated-declarations
      4 -Wstringop-overflow=
      2 -Wself-move
      1 -Wclass-memaccess

Here is ectracted stderr with warnings

src/google/protobuf/compiler/parser.cc: In function 'bool google::protobuf::compiler::{anonymous}::IsNumberFollowUnderscore(absl::lts_20230125::string_view)':
src/google/protobuf/compiler/parser.cc:170:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::basic_string_view<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  170 |   for (int i = 1; i < name.length(); i++) {
      |                   ~~^~~~~~~~~~~~~~~
src/google/protobuf/compiler/importer.cc: In member function 'google::protobuf::compiler::DiskSourceTree::DiskFileToVirtualFileResult google::protobuf::compiler::DiskSourceTree::DiskFileToVirtualFile(absl::lts_20230125::string_view, std::string*, std::string*)':
src/google/protobuf/compiler/importer.cc:400:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<google::protobuf::compiler::DiskSourceTree::Mapping>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  400 |   for (int i = 0; i < mappings_.size(); i++) {
      |                   ~~^~~~~~~~~~~~~~~~~~
src/google/protobuf/compiler/parser.cc: In member function 'void google::protobuf::compiler::Parser::LocationRecorder::AttachComments(std::string*, std::string*, std::vector<std::__cxx11::basic_string<char> >*) const':
src/google/protobuf/compiler/parser.cc:528:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::__cxx11::basic_string<char> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  528 |   for (int i = 0; i < detached_comments->size(); ++i) {
      |                   ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
src/google/protobuf/json/internal/lexer.cc: In member function 'absl::lts_20230125::StatusOr<google::protobuf::json_internal::LocationWith<google::protobuf::json_internal::MaybeOwnedString> > google::protobuf::json_internal::JsonLexer::ParseUtf8()':
src/google/protobuf/json/internal/lexer.cc:505:27: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'long unsigned int'} [-Wsign-compare]
  505 |         for (int i = 0; i < lookahead; ++i) {
      |                         ~~^~~~~~~~~~~
src/google/protobuf/json/internal/untyped_message.cc: In member function 'absl::lts_20230125::Span<const google::protobuf::json_internal::ResolverPool::Field> google::protobuf::json_internal::ResolverPool::Message::FieldsByIndex() const':
src/google/protobuf/json/internal/untyped_message.cc:98:26: warning: comparison of integer expressions of different signedness: 'size_t' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   98 |     for (size_t i = 0; i < raw_.fields_size(); ++i) {
      |                        ~~^~~~~~~~~~~~~~~~~~~~
src/google/protobuf/json/internal/parser.cc: In function 'std::optional<int> google::protobuf::json_internal::{anonymous}::TakeNanosAndAdvance(absl::lts_20230125::string_view&)':
src/google/protobuf/json/internal/parser.cc:789:21: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'long unsigned int'} [-Wsign-compare]
  789 |   for (int i = 0; i < 9 - frac_digits; ++i) {
      |                   ~~^~~~~~~~~~~~~~~~~
src/google/protobuf/util/field_mask_util.cc: In member function 'void google::protobuf::util::{anonymous}::FieldMaskTree::RemovePath(absl::lts_20230125::string_view, const google::protobuf::Descriptor*)':
src/google/protobuf/util/field_mask_util.cc:373:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::basic_string_view<char> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  373 |   for (int i = 0; i < parts.size(); ++i) {
      |                   ~~^~~~~~~~~~~~~~
src/google/protobuf/util/field_mask_util.cc:379:12: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::basic_string_view<char> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  379 |          i != parts.size() - 1)) {
      |          ~~^~~~~~~~~~~~~~~~~~~
src/google/protobuf/compiler/csharp/names.cc: In function 'std::string google::protobuf::compiler::csharp::UnderscoresToCamelCase(absl::lts_20230125::string_view, bool, bool)':
src/google/protobuf/compiler/csharp/names.cc:166:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::basic_string_view<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  166 |   for (int i = 0; i < input.size(); i++) {
      |                   ~~^~~~~~~~~~~~~~
src/google/protobuf/compiler/code_generator.cc: In member function 'virtual bool google::protobuf::compiler::CodeGenerator::GenerateAll(const std::vector<const google::protobuf::FileDescriptor*>&, const std::string&, google::protobuf::compiler::GeneratorContext*, std::string*) const':
src/google/protobuf/compiler/code_generator.cc:60:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<const google::protobuf::FileDescriptor*>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   60 |   for (int i = 0; i < files.size(); i++) {
      |                   ~~^~~~~~~~~~~~~~
src/google/protobuf/compiler/java/doc_comment.cc: In function 'void google::protobuf::compiler::java::WriteDocCommentBodyForLocation(google::protobuf::io::Printer*, const google::protobuf::SourceLocation&, bool)':
src/google/protobuf/compiler/java/doc_comment.cc:166:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::__cxx11::basic_string<char> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  166 |     for (int i = 0; i < lines.size(); i++) {
      |                     ~~^~~~~~~~~~~~~~
src/google/protobuf/compiler/csharp/csharp_helpers.cc: In function 'std::string google::protobuf::compiler::csharp::ShoutyToPascalCase(absl::lts_20230125::string_view)':
src/google/protobuf/compiler/csharp/csharp_helpers.cc:129:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::basic_string_view<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  129 |   for (int i = 0; i < input.size(); i++) {
      |                   ~~^~~~~~~~~~~~~~
src/google/protobuf/compiler/csharp/csharp_field_base.cc: In function 'bool google::protobuf::compiler::csharp::AllPrintableAscii(absl::lts_20230125::string_view)':
src/google/protobuf/compiler/csharp/csharp_field_base.cc:330:20: warning: comparison of integer expressions of different signedness: 'int' and 'std::basic_string_view<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  330 |   for(int i = 0; i < text.size(); i++) {
      |                  ~~^~~~~~~~~~~~~
src/google/protobuf/compiler/java/enum_lite.cc: In member function 'void google::protobuf::compiler::java::EnumLiteGenerator::Generate(google::protobuf::io::Printer*)':
src/google/protobuf/compiler/java/enum_lite.cc:88:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<const google::protobuf::EnumValueDescriptor*>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   88 |   for (int i = 0; i < canonical_values_.size(); i++) {
      |                   ~~^~~~~~~~~~~~~~~~~~~~~~~~~~
src/google/protobuf/compiler/java/enum_lite.cc:111:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<google::protobuf::compiler::java::EnumLiteGenerator::Alias>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  111 |   for (int i = 0; i < aliases_.size(); i++) {
      |                   ~~^~~~~~~~~~~~~~~~~
src/google/protobuf/compiler/java/enum_lite.cc:181:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<const google::protobuf::EnumValueDescriptor*>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  181 |   for (int i = 0; i < canonical_values_.size(); i++) {
      |                   ~~^~~~~~~~~~~~~~~~~~~~~~~~~~
src/google/protobuf/compiler/java/context.cc: In member function 'void google::protobuf::compiler::java::Context::InitializeFieldGeneratorInfoForFields(const std::vector<const google::protobuf::FieldDescriptor*>&)':
src/google/protobuf/compiler/java/context.cc:144:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<const google::protobuf::FieldDescriptor*>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  144 |   for (int i = 0; i < fields.size(); ++i) {
      |                   ~~^~~~~~~~~~~~~~~
src/google/protobuf/compiler/java/context.cc:147:27: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<const google::protobuf::FieldDescriptor*>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  147 |     for (int j = i + 1; j < fields.size(); ++j) {
      |                         ~~^~~~~~~~~~~~~~~
src/google/protobuf/compiler/java/context.cc:167:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<const google::protobuf::FieldDescriptor*>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  167 |   for (int i = 0; i < fields.size(); ++i) {
      |                   ~~^~~~~~~~~~~~~~~
src/google/protobuf/compiler/java/enum.cc: In member function 'void google::protobuf::compiler::java::EnumGenerator::Generate(google::protobuf::io::Printer*)':
src/google/protobuf/compiler/java/enum.cc:97:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<const google::protobuf::EnumValueDescriptor*>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   97 |   for (int i = 0; i < canonical_values_.size(); i++) {
      |                   ~~^~~~~~~~~~~~~~~~~~~~~~~~~~
src/google/protobuf/compiler/java/enum.cc:105:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<const google::protobuf::EnumValueDescriptor*>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  105 |   for (int i = 0; i < canonical_values_.size(); i++) {
      |                   ~~^~~~~~~~~~~~~~~~~~~~~~~~~~
src/google/protobuf/compiler/java/enum.cc:137:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<google::protobuf::compiler::java::EnumGenerator::Alias>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  137 |   for (int i = 0; i < aliases_.size(); i++) {
      |                   ~~^~~~~~~~~~~~~~~~~
src/google/protobuf/compiler/java/enum.cc:220:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<const google::protobuf::EnumValueDescriptor*>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  220 |   for (int i = 0; i < canonical_values_.size(); i++) {
      |                   ~~^~~~~~~~~~~~~~~~~~~~~~~~~~
src/google/protobuf/compiler/java/enum.cc: In member function 'bool google::protobuf::compiler::java::EnumGenerator::CanUseEnumValues()':
src/google/protobuf/compiler/java/enum.cc:394:32: warning: comparison of integer expressions of different signedness: 'std::vector<const google::protobuf::EnumValueDescriptor*>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
  394 |   if (canonical_values_.size() != descriptor_->value_count()) {
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/google/protobuf/compiler/java/generator.cc: In member function 'virtual bool google::protobuf::compiler::java::JavaGenerator::Generate(const google::protobuf::FileDescriptor*, const std::string&, google::protobuf::compiler::GeneratorContext*, std::string*) const':
src/google/protobuf/compiler/java/generator.cc:183:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::__cxx11::basic_string<char> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  183 |     for (int i = 0; i < all_files.size(); i++) {
      |                     ~~^~~~~~~~~~~~~~~~~~
src/google/protobuf/compiler/java/generator.cc:194:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::__cxx11::basic_string<char> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  194 |     for (int i = 0; i < all_annotations.size(); i++) {
      |                     ~~^~~~~~~~~~~~~~~~~~~~~~~~
src/google/protobuf/compiler/csharp/csharp_message.cc: In member function 'void google::protobuf::compiler::csharp::MessageGenerator::GenerateWriteToBody(google::protobuf::io::Printer*, bool)':
src/google/protobuf/compiler/csharp/csharp_message.cc:576:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<const google::protobuf::FieldDescriptor*>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  576 |   for (int i = 0; i < fields_by_number().size(); i++) {
      |                   ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
src/google/protobuf/compiler/csharp/csharp_message.cc: In member function 'void google::protobuf::compiler::csharp::MessageGenerator::GenerateMainParseLoop(google::protobuf::io::Printer*, bool)':
src/google/protobuf/compiler/csharp/csharp_message.cc:719:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<const google::protobuf::FieldDescriptor*>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  719 |   for (int i = 0; i < fields_by_number().size(); i++) {
      |                   ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
src/google/protobuf/compiler/csharp/csharp_message.cc: In member function 'int google::protobuf::compiler::csharp::MessageGenerator::GetPresenceIndex(const google::protobuf::FieldDescriptor*)':
src/google/protobuf/compiler/csharp/csharp_message.cc:761:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<const google::protobuf::FieldDescriptor*>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  761 |   for (int i = 0; i < fields_by_number().size(); i++) {
      |                   ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
src/google/protobuf/compiler/java/helpers.cc: In function 'std::string google::protobuf::compiler::java::UnderscoresToCamelCase(absl::lts_20230125::string_view, bool)':
src/google/protobuf/compiler/java/helpers.cc:114:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::basic_string_view<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  114 |   for (int i = 0; i < input.size(); i++) {
      |                   ~~^~~~~~~~~~~~~~
src/google/protobuf/compiler/java/helpers.cc: In function 'bool google::protobuf::compiler::java::AllAscii(absl::lts_20230125::string_view)':
src/google/protobuf/compiler/java/helpers.cc:449:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::basic_string_view<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  449 |   for (int i = 0; i < text.size(); i++) {
      |                   ~~^~~~~~~~~~~~~
src/google/protobuf/compiler/cpp/message.cc: In function 'std::string google::protobuf::compiler::cpp::{anonymous}::ConditionalToCheckBitmasks(const std::vector<unsigned int>&, bool, absl::lts_20230125::string_view)':
src/google/protobuf/compiler/cpp/message.cc:100:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<unsigned int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  100 |   for (int i = 0; i < masks.size(); i++) {
      |                   ~~^~~~~~~~~~~~~~
src/google/protobuf/compiler/cpp/helpers.cc: In function 'std::string google::protobuf::compiler::cpp::UnderscoresToCamelCase(absl::lts_20230125::string_view, bool)':
src/google/protobuf/compiler/cpp/helpers.cc:296:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::basic_string_view<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  296 |   for (int i = 0; i < input.size(); i++) {
      |                   ~~^~~~~~~~~~~~~~
src/google/protobuf/compiler/cpp/message.cc: In member function 'void google::protobuf::compiler::cpp::{anonymous}::ColdChunkSkipper::OnStartChunk(int, int, const std::string&, google::protobuf::io::Printer*)':
src/google/protobuf/compiler/cpp/message.cc:446:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::vector<const google::protobuf::FieldDescriptor*> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  446 |   while (limit_chunk_ < chunks_.size() && IsColdChunk(limit_chunk_)) {
      |          ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~
src/google/protobuf/compiler/cpp/helpers.cc: In function 'std::string google::protobuf::compiler::cpp::FilenameIdentifier(absl::lts_20230125::string_view)':
src/google/protobuf/compiler/cpp/helpers.cc:849:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::basic_string_view<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  849 |   for (int i = 0; i < filename.size(); i++) {
      |                   ~~^~~~~~~~~~~~~~~~~
src/google/protobuf/compiler/cpp/padding_optimizer.cc: In function 'void google::protobuf::compiler::cpp::OptimizeLayoutHelper(std::vector<const google::protobuf::FieldDescriptor*>*, const Options&, MessageSCCAnalyzer*)':
src/google/protobuf/compiler/cpp/padding_optimizer.cc:112:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<const google::protobuf::FieldDescriptor*>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  112 |   for (int i = 0; i < fields->size(); ++i) {
      |                   ~~^~~~~~~~~~~~~~~~
src/google/protobuf/compiler/cpp/padding_optimizer.cc:151:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<google::protobuf::compiler::cpp::{anonymous}::FieldGroup>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  151 |     for (int i = 0; i < aligned_to_1[f].size(); i += 4) {
      |                     ~~^~~~~~~~~~~~~~~~~~~~~~~~
src/google/protobuf/compiler/cpp/padding_optimizer.cc:153:25: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<google::protobuf::compiler::cpp::{anonymous}::FieldGroup>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  153 |       for (int j = i; j < aligned_to_1[f].size() && j < i + 4; ++j) {
      |                       ~~^~~~~~~~~~~~~~~~~~~~~~~~
src/google/protobuf/compiler/cpp/padding_optimizer.cc:165:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<google::protobuf::compiler::cpp::{anonymous}::FieldGroup>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  165 |     for (int i = 0; i < aligned_to_4[f].size(); i += 2) {
      |                     ~~^~~~~~~~~~~~~~~~~~~~~~~~
src/google/protobuf/compiler/cpp/padding_optimizer.cc:167:25: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<google::protobuf::compiler::cpp::{anonymous}::FieldGroup>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  167 |       for (int j = i; j < aligned_to_4[f].size() && j < i + 2; ++j) {
      |                       ~~^~~~~~~~~~~~~~~~~~~~~~~~
src/google/protobuf/compiler/cpp/padding_optimizer.cc:170:13: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<google::protobuf::compiler::cpp::{anonymous}::FieldGroup>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  170 |       if (i == aligned_to_4[f].size() - 1) {
      |           ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/google/protobuf/compiler/cpp/padding_optimizer.cc:190:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<google::protobuf::compiler::cpp::{anonymous}::FieldGroup>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  190 |     for (int i = 0; i < aligned_to_8[f].size(); ++i) {
      |                     ~~^~~~~~~~~~~~~~~~~~~~~~~~
src/google/protobuf/compiler/cpp/helpers.cc: In member function 'google::protobuf::compiler::cpp::MessageAnalysis google::protobuf::compiler::cpp::MessageSCCAnalyzer::GetSCCAnalysis(const google::protobuf::compiler::SCC*)':
src/google/protobuf/compiler/cpp/helpers.cc:1335:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<const google::protobuf::Descriptor*>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
 1335 |   for (int i = 0; i < scc->descriptors.size(); i++) {
      |                   ~~^~~~~~~~~~~~~~~~~~~~~~~~~
src/google/protobuf/compiler/command_line_interface.cc: In function 'bool google::protobuf::compiler::{anonymous}::TryCreateParentDirectory(const std::string&, const std::string&)':
src/google/protobuf/compiler/command_line_interface.cc:190:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::__cxx11::basic_string<char> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  190 |   for (int i = 0; i < parts.size() - 1; i++) {
      |                   ~~^~~~~~~~~~~~~~~~~~
src/google/protobuf/compiler/cpp/message.cc: In member function 'std::pair<long unsigned int, long unsigned int> google::protobuf::compiler::cpp::MessageGenerator::GenerateOffsets(google::protobuf::io::Printer*)':
src/google/protobuf/compiler/cpp/message.cc:2180:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
 2180 |     for (int i = 0; i < has_bit_indices_.size(); i++) {
      |                     ~~^~~~~~~~~~~~~~~~~~~~~~~~~
src/google/protobuf/compiler/command_line_interface.cc: In member function 'void google::protobuf::compiler::CommandLineInterface::MemoryOutputStream::InsertShiftedInfo(const std::string&, size_t, size_t, google::protobuf::GeneratedCodeInfo&)':
src/google/protobuf/compiler/command_line_interface.cc:705:16: warning: comparison of integer expressions of different signedness: 'size_t' {aka 'long unsigned int'} and 'int32_t' {aka 'int'} [-Wsign-compare]
  705 |     for (; pos < source_annotation.end() && pos < insertion_content.size() - 1;
      |            ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
src/google/protobuf/compiler/command_line_interface.cc:708:17: warning: comparison of integer expressions of different signedness: 'size_t' {aka 'long unsigned int'} and 'int32_t' {aka 'int'} [-Wsign-compare]
  708 |         if (pos >= source_annotation.begin()) {
      |             ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/google/protobuf/compiler/command_line_interface.cc: In member function 'void google::protobuf::compiler::CommandLineInterface::MemoryOutputStream::UpdateMetadata(const std::string&, size_t, size_t, size_t)':
src/google/protobuf/compiler/command_line_interface.cc:768:35: warning: comparison of integer expressions of different signedness: 'int32_t' {aka 'int'} and 'size_t' {aka 'long unsigned int'} [-Wsign-compare]
  768 |     if (source_annotation.begin() >= insertion_offset && !crossed_offset) {
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
src/google/protobuf/compiler/command_line_interface.cc: In destructor 'virtual google::protobuf::compiler::CommandLineInterface::MemoryOutputStream::~MemoryOutputStream()':
src/google/protobuf/compiler/command_line_interface.cc:876:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  876 |   for (int i = 0; i < data_.size(); i++) {
      |                   ~~^~~~~~~~~~~~~~
src/google/protobuf/compiler/cpp/message.cc: In member function 'void google::protobuf::compiler::cpp::MessageGenerator::GenerateSwap(google::protobuf::io::Printer*)':
src/google/protobuf/compiler/cpp/message.cc:3116:25: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'long unsigned int'} [-Wsign-compare]
 3116 |       for (int i = 0; i < HasBitsSize(); ++i) {
      |                       ~~^~~~~~~~~~~~~~~
src/google/protobuf/compiler/java/file.cc: In function 'bool google::protobuf::compiler::java::{anonymous}::CollectExtensions(const google::protobuf::Message&, FieldDescriptorSet*)':
src/google/protobuf/compiler/java/file.cc:98:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<const google::protobuf::FieldDescriptor*>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   98 |   for (int i = 0; i < fields.size(); i++) {
      |                   ~~^~~~~~~~~~~~~~~
src/google/protobuf/compiler/cpp/message.cc: In member function 'void google::protobuf::compiler::cpp::MessageGenerator::GenerateClassSpecificMergeImpl(google::protobuf::io::Printer*)':
src/google/protobuf/compiler/cpp/message.cc:3297:41: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::vector<const google::protobuf::FieldDescriptor*> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
 3297 |   for (int chunk_index = 0; chunk_index < chunks.size(); chunk_index++) {
      |                             ~~~~~~~~~~~~^~~~~~~~~~~~~~~
src/google/protobuf/compiler/cpp/message.cc: In member function 'void google::protobuf::compiler::cpp::MessageGenerator::GenerateSerializeWithCachedSizesBody(google::protobuf::io::Printer*)':
src/google/protobuf/compiler/cpp/message.cc:3801:12: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<const google::protobuf::FieldDescriptor*>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
 3801 |          i < ordered_fields.size() || j < sorted_extensions.size();) {
      |          ~~^~~~~~~~~~~~~~~~~~~~~~~
src/google/protobuf/compiler/cpp/message.cc:3801:41: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<const google::protobuf::Descriptor::ExtensionRange*>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
 3801 |          i < ordered_fields.size() || j < sorted_extensions.size();) {
      |                                       ~~^~~~~~~~~~~~~~~~~~~~~~~~~~
src/google/protobuf/compiler/cpp/message.cc:3802:14: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<const google::protobuf::Descriptor::ExtensionRange*>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
 3802 |       if ((j == sorted_extensions.size()) ||
      |            ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
src/google/protobuf/compiler/cpp/message.cc: In member function 'void google::protobuf::compiler::cpp::MessageGenerator::GenerateByteSize(google::protobuf::io::Printer*)':
src/google/protobuf/compiler/cpp/message.cc:4066:41: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::vector<const google::protobuf::FieldDescriptor*> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
 4066 |   for (int chunk_index = 0; chunk_index < chunks.size(); chunk_index++) {
      |                             ~~~~~~~~~~~~^~~~~~~~~~~~~~~
src/google/protobuf/compiler/cpp/message.cc:4093:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<const google::protobuf::FieldDescriptor*>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
 4093 |     for (int j = 0; j < chunk.size(); j++) {
      |                     ~~^~~~~~~~~~~~~~
src/google/protobuf/compiler/cpp/file.cc: In constructor 'google::protobuf::compiler::cpp::FileGenerator::FileGenerator(const google::protobuf::FileDescriptor*, const google::protobuf::compiler::cpp::Options&)':
src/google/protobuf/compiler/cpp/file.cc:115:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<const google::protobuf::Descriptor*>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  115 |   for (int i = 0; i < msgs.size(); ++i) {
      |                   ~~^~~~~~~~~~~~~
src/google/protobuf/compiler/cpp/file.cc:132:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::unique_ptr<google::protobuf::compiler::cpp::ServiceGenerator> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  132 |     for (int i = 0; i < service_generators_.size(); ++i) {
      |                     ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/google/protobuf/compiler/command_line_interface.cc: In member function 'int google::protobuf::compiler::CommandLineInterface::Run(int, const char* const*)':
src/google/protobuf/compiler/command_line_interface.cc:1177:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<google::protobuf::compiler::CommandLineInterface::OutputDirective>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
 1177 |     for (int i = 0; i < output_directives_.size(); i++) {
      |                     ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
src/google/protobuf/compiler/command_line_interface.cc:1258:27: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<const google::protobuf::FileDescriptor*>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
 1258 |         for (int i = 0; i < parsed_files.size(); ++i) {
      |                         ~~^~~~~~~~~~~~~~~~~~~~~
src/google/protobuf/compiler/command_line_interface.cc: In member function 'bool google::protobuf::compiler::CommandLineInterface::InitializeDiskSourceTree(google::protobuf::compiler::DiskSourceTree*, google::protobuf::DescriptorDatabase*)':
src/google/protobuf/compiler/command_line_interface.cc:1282:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> > >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
 1282 |   for (int i = 0; i < proto_path_.size(); i++) {
      |                   ~~^~~~~~~~~~~~~~~~~~~~
src/google/protobuf/compiler/command_line_interface.cc: In member function 'google::protobuf::compiler::CommandLineInterface::ParseArgumentStatus google::protobuf::compiler::CommandLineInterface::ParseArguments(int, const char* const*)':
src/google/protobuf/compiler/command_line_interface.cc:1585:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::__cxx11::basic_string<char> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
 1585 |   for (int i = 0; i < arguments.size(); ++i) {
      |                   ~~^~~~~~~~~~~~~~~~~~
src/google/protobuf/compiler/command_line_interface.cc:1590:17: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::__cxx11::basic_string<char> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
 1590 |       if (i + 1 == arguments.size() || arguments[i + 1][0] == '-') {
      |           ~~~~~~^~~~~~~~~~~~~~~~~~~
src/google/protobuf/compiler/command_line_interface.cc: In member function 'google::protobuf::compiler::CommandLineInterface::ParseArgumentStatus google::protobuf::compiler::CommandLineInterface::InterpretArgument(const std::string&, const std::string&)':
src/google/protobuf/compiler/command_line_interface.cc:1823:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::__cxx11::basic_string<char> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
 1823 |     for (int i = 0; i < parts.size(); i++) {
      |                     ~~^~~~~~~~~~~~~~
src/google/protobuf/compiler/command_line_interface.cc: In member function 'bool google::protobuf::compiler::CommandLineInterface::GenerateDependencyManifestFile(const std::vector<const google::protobuf::FileDescriptor*>&, const GeneratorContextMap&, google::protobuf::compiler::DiskSourceTree*)':
src/google/protobuf/compiler/command_line_interface.cc:2326:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<const google::protobuf::FileDescriptor*>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
 2326 |   for (int i = 0; i < parsed_files.size(); i++) {
      |                   ~~^~~~~~~~~~~~~~~~~~~~~
src/google/protobuf/compiler/command_line_interface.cc:2337:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::__cxx11::basic_string<char> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
 2337 |     for (int i = 0; i < relative_output_filenames.size(); i++) {
      |                     ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/google/protobuf/compiler/command_line_interface.cc:2364:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::__cxx11::basic_string<char> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
 2364 |   for (int i = 0; i < output_filenames.size(); i++) {
      |                   ~~^~~~~~~~~~~~~~~~~~~~~~~~~
src/google/protobuf/compiler/command_line_interface.cc:2366:11: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::__cxx11::basic_string<char> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
 2366 |     if (i == output_filenames.size() - 1) {
      |         ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/google/protobuf/compiler/command_line_interface.cc: In member function 'bool google::protobuf::compiler::CommandLineInterface::GeneratePluginOutput(const std::vector<const google::protobuf::FileDescriptor*>&, const std::string&, const std::string&, google::protobuf::compiler::GeneratorContext*, std::string*)':
src/google/protobuf/compiler/command_line_interface.cc:2407:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<const google::protobuf::FileDescriptor*>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
 2407 |   for (int i = 0; i < parsed_files.size(); i++) {
      |                   ~~^~~~~~~~~~~~~~~~~~~~~
src/google/protobuf/compiler/command_line_interface.cc: In member function 'bool google::protobuf::compiler::CommandLineInterface::WriteDescriptorSet(const std::vector<const google::protobuf::FileDescriptor*>&)':
src/google/protobuf/compiler/command_line_interface.cc:2563:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<const google::protobuf::FileDescriptor*>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
 2563 |     for (int i = 0; i < parsed_files.size(); i++) {
      |                     ~~^~~~~~~~~~~~~~~~~~~~~
src/google/protobuf/compiler/command_line_interface.cc:2574:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<const google::protobuf::FileDescriptor*>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
 2574 |   for (int i = 0; i < parsed_files.size(); i++) {
      |                   ~~^~~~~~~~~~~~~~~~~~~~~
src/google/protobuf/compiler/cpp/file.cc: In member function 'void google::protobuf::compiler::cpp::FileGenerator::GenerateGlobalSource(google::protobuf::io::Printer*)':
src/google/protobuf/compiler/cpp/file.cc:780:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::unique_ptr<google::protobuf::compiler::cpp::EnumGenerator> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  780 |   for (int i = 0; i < enum_generators_.size(); ++i) {
      |                   ~~^~~~~~~~~~~~~~~~~~~~~~~~~
src/google/protobuf/compiler/cpp/file.cc: In member function 'void google::protobuf::compiler::cpp::FileGenerator::GenerateSource(google::protobuf::io::Printer*)':
src/google/protobuf/compiler/cpp/file.cc:800:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::unique_ptr<google::protobuf::compiler::cpp::MessageGenerator> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  800 |     for (int i = 0; i < message_generators_.size(); ++i) {
      |                     ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/google/protobuf/compiler/cpp/file.cc:819:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::unique_ptr<google::protobuf::compiler::cpp::EnumGenerator> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  819 |     for (int i = 0; i < enum_generators_.size(); ++i) {
      |                     ~~^~~~~~~~~~~~~~~~~~~~~~~~~
src/google/protobuf/compiler/cpp/file.cc:824:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::unique_ptr<google::protobuf::compiler::cpp::MessageGenerator> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  824 |     for (int i = 0; i < message_generators_.size(); ++i) {
      |                     ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/google/protobuf/compiler/cpp/file.cc:833:25: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::unique_ptr<google::protobuf::compiler::cpp::ServiceGenerator> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  833 |       for (int i = 0; i < service_generators_.size(); ++i) {
      |                       ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/google/protobuf/compiler/cpp/file.cc:842:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::unique_ptr<google::protobuf::compiler::cpp::ExtensionGenerator> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  842 |     for (int i = 0; i < extension_generators_.size(); ++i) {
      |                     ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/google/protobuf/compiler/cpp/file.cc:853:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::unique_ptr<google::protobuf::compiler::cpp::MessageGenerator> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  853 |     for (int i = 0; i < message_generators_.size(); ++i) {
      |                     ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/google/protobuf/compiler/cpp/file.cc: In lambda function:
src/google/protobuf/compiler/cpp/file.cc:907:34: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::unique_ptr<google::protobuf::compiler::cpp::MessageGenerator> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  907 |                for (int i = 0; i < message_generators_.size(); ++i) {
      |                                ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/google/protobuf/compiler/cpp/file.cc: In lambda function:
src/google/protobuf/compiler/cpp/file.cc:914:34: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::unique_ptr<google::protobuf::compiler::cpp::MessageGenerator> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  914 |                for (int i = 0; i < message_generators_.size(); ++i) {
      |                                ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/google/protobuf/compiler/command_line_interface.cc: In member function 'void google::protobuf::compiler::CommandLineInterface::PrintFreeFieldNumbers(const google::protobuf::Descriptor*)':
src/google/protobuf/compiler/command_line_interface.cc:2760:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<const google::protobuf::Descriptor*>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
 2760 |   for (int i = 0; i < nested_messages.size(); ++i) {
      |                   ~~^~~~~~~~~~~~~~~~~~~~~~~~
src/google/protobuf/compiler/cpp/file.cc: In member function 'void google::protobuf::compiler::cpp::FileGenerator::GenerateMessageDefinitions(google::protobuf::io::Printer*)':
src/google/protobuf/compiler/cpp/file.cc:1425:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::unique_ptr<google::protobuf::compiler::cpp::MessageGenerator> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
 1425 |   for (int i = 0; i < message_generators_.size(); ++i) {
      |                   ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/google/protobuf/compiler/cpp/file.cc: In member function 'void google::protobuf::compiler::cpp::FileGenerator::GenerateEnumDefinitions(google::protobuf::io::Printer*)':
src/google/protobuf/compiler/cpp/file.cc:1434:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::unique_ptr<google::protobuf::compiler::cpp::EnumGenerator> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
 1434 |   for (int i = 0; i < enum_generators_.size(); ++i) {
      |                   ~~^~~~~~~~~~~~~~~~~~~~~~~~~
src/google/protobuf/compiler/cpp/file.cc: In member function 'void google::protobuf::compiler::cpp::FileGenerator::GenerateServiceDefinitions(google::protobuf::io::Printer*)':
src/google/protobuf/compiler/cpp/file.cc:1444:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::unique_ptr<google::protobuf::compiler::cpp::ServiceGenerator> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
 1444 |   for (int i = 0; i < service_generators_.size(); ++i) {
      |                   ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/google/protobuf/compiler/cpp/file.cc: In member function 'void google::protobuf::compiler::cpp::FileGenerator::GenerateInlineFunctionDefinitions(google::protobuf::io::Printer*)':
src/google/protobuf/compiler/cpp/file.cc:1477:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::unique_ptr<google::protobuf::compiler::cpp::MessageGenerator> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
 1477 |   for (int i = 0; i < message_generators_.size(); ++i) {
      |                   ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from src/google/protobuf/compiler/java/helpers.h:46,
                 from src/google/protobuf/compiler/java/generator.cc:45:
src/google/protobuf/io/printer.h: In instantiation of 'void google::protobuf::io::AnnotationProtoCollector<AnnotationProto>::AddAnnotation(size_t, size_t, const std::string&, const std::vector<int>&, std::optional<google::protobuf::io::AnnotationCollector::Semantic>) [with AnnotationProto = google::protobuf::GeneratedCodeInfo; size_t = long unsigned int; std::string = std::__cxx11::basic_string<char>]':
src/google/protobuf/io/printer.h:144:8:   required from here
src/google/protobuf/io/printer.h:148:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  148 |     for (int i = 0; i < path.size(); ++i) {
      |                     ~~^~~~~~~~~~~~~
In file included from src/google/protobuf/compiler/java/helpers.h:46,
                 from src/google/protobuf/compiler/java/context.h:38,
                 from src/google/protobuf/compiler/java/file.cc:44:
src/google/protobuf/io/printer.h: In instantiation of 'void google::protobuf::io::AnnotationProtoCollector<AnnotationProto>::AddAnnotation(size_t, size_t, const std::string&, const std::vector<int>&, std::optional<google::protobuf::io::AnnotationCollector::Semantic>) [with AnnotationProto = google::protobuf::GeneratedCodeInfo; size_t = long unsigned int; std::string = std::__cxx11::basic_string<char>]':
src/google/protobuf/io/printer.h:144:8:   required from here
src/google/protobuf/io/printer.h:148:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  148 |     for (int i = 0; i < path.size(); ++i) {
      |                     ~~^~~~~~~~~~~~~
In file included from src/google/protobuf/compiler/cpp/enum.h:42,
                 from src/google/protobuf/compiler/cpp/file.h:49,
                 from src/google/protobuf/compiler/cpp/generator.cc:46:
src/google/protobuf/io/printer.h: In instantiation of 'void google::protobuf::io::AnnotationProtoCollector<AnnotationProto>::AddAnnotation(size_t, size_t, const std::string&, const std::vector<int>&, std::optional<google::protobuf::io::AnnotationCollector::Semantic>) [with AnnotationProto = google::protobuf::GeneratedCodeInfo; size_t = long unsigned int; std::string = std::__cxx11::basic_string<char>]':
src/google/protobuf/io/printer.h:144:8:   required from here
src/google/protobuf/io/printer.h:148:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  148 |     for (int i = 0; i < path.size(); ++i) {
      |                     ~~^~~~~~~~~~~~~
src/google/protobuf/compiler/objectivec/line_consumer.cc: In function 'bool google::protobuf::compiler::objectivec::{anonymous}::ReadLine(absl::lts_20230125::string_view*, absl::lts_20230125::string_view*)':
src/google/protobuf/compiler/objectivec/line_consumer.cc:77:25: warning: comparison of integer expressions of different signedness: 'int' and 'std::basic_string_view<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   77 |   for (int len = 0; len < input->size(); ++len) {
      |                     ~~~~^~~~~~~~~~~~~~~
src/google/protobuf/compiler/objectivec/line_consumer.cc: In function 'void google::protobuf::compiler::objectivec::{anonymous}::RemoveComment(absl::lts_20230125::string_view*)':
src/google/protobuf/compiler/objectivec/line_consumer.cc:90:14: warning: comparison of integer expressions of different signedness: 'int' and 'const std::basic_string_view<char>::size_type' {aka 'const long unsigned int'} [-Wsign-compare]
   90 |   if (offset != absl::string_view::npos) {
      |       ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
src/google/protobuf/compiler/java/message_builder.cc: In member function 'void google::protobuf::compiler::java::MessageBuilderGenerator::GenerateDescriptorMethods(google::protobuf::io::Printer*)':
src/google/protobuf/compiler/java/message_builder.cc:253:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<const google::protobuf::FieldDescriptor*>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  253 |     for (int i = 0; i < map_fields.size(); ++i) {
      |                     ~~^~~~~~~~~~~~~~~~~~~
src/google/protobuf/compiler/java/message_builder.cc:278:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<const google::protobuf::FieldDescriptor*>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  278 |     for (int i = 0; i < map_fields.size(); ++i) {
      |                     ~~^~~~~~~~~~~~~~~~~~~
src/google/protobuf/compiler/objectivec/text_format_decode_data.cc: In static member function 'static std::string google::protobuf::compiler::objectivec::TextFormatDecodeData::DecodeDataForString(const std::string&, const std::string&)':
src/google/protobuf/compiler/objectivec/text_format_decode_data.cc:223:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  223 |   for (int y = 0; y < desired_output.size(); y++) {
      |                   ~~^~~~~~~~~~~~~~~~~~~~~~~
src/google/protobuf/compiler/objectivec/text_format_decode_data.cc:230:11: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  230 |     if (x >= input_for_decode.size()) {
      |         ~~^~~~~~~~~~~~~~~~~~~~~~~~~~
src/google/protobuf/compiler/objectivec/text_format_decode_data.cc:242:9: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  242 |   if (x != input_for_decode.size()) {
      |       ~~^~~~~~~~~~~~~~~~~~~~~~~~~~
src/google/protobuf/compiler/java/message.cc: In member function 'void google::protobuf::compiler::java::ImmutableMessageGenerator::GenerateDescriptorMethods(google::protobuf::io::Printer*)':
src/google/protobuf/compiler/java/message.cc:827:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<const google::protobuf::FieldDescriptor*>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  827 |     for (int i = 0; i < map_fields.size(); ++i) {
      |                     ~~^~~~~~~~~~~~~~~~~~~
In file included from src/google/protobuf/compiler/java/helpers.h:46,
                 from src/google/protobuf/compiler/java/kotlin_generator.cc:36:
src/google/protobuf/io/printer.h: In instantiation of 'void google::protobuf::io::AnnotationProtoCollector<AnnotationProto>::AddAnnotation(size_t, size_t, const std::string&, const std::vector<int>&, std::optional<google::protobuf::io::AnnotationCollector::Semantic>) [with AnnotationProto = google::protobuf::GeneratedCodeInfo; size_t = long unsigned int; std::string = std::__cxx11::basic_string<char>]':
src/google/protobuf/io/printer.h:144:8:   required from here
src/google/protobuf/io/printer.h:148:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  148 |     for (int i = 0; i < path.size(); ++i) {
      |                     ~~^~~~~~~~~~~~~
src/google/protobuf/compiler/java/shared_code_generator.cc: In member function 'void google::protobuf::compiler::java::SharedCodeGenerator::GenerateDescriptors(google::protobuf::io::Printer*)':
src/google/protobuf/compiler/java/shared_code_generator.cc:153:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  153 |   for (int i = 0; i < file_data.size(); i += kBytesPerLine) {
      |                   ~~^~~~~~~~~~~~~~~~~~
src/google/protobuf/compiler/java/shared_code_generator.cc:194:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> > >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  194 |     for (int i = 0; i < dependencies.size(); i++) {
      |                     ~~^~~~~~~~~~~~~~~~~~~~~
src/google/protobuf/compiler/objectivec/enum.cc: In member function 'void google::protobuf::compiler::objectivec::EnumGenerator::GenerateHeader(google::protobuf::io::Printer*) const':
src/google/protobuf/compiler/objectivec/enum.cc:139:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<const google::protobuf::EnumValueDescriptor*>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  139 |   for (int i = 0; i < all_values_.size(); i++) {
      |                   ~~^~~~~~~~~~~~~~~~~~~~
src/google/protobuf/compiler/objectivec/enum.cc: In member function 'void google::protobuf::compiler::objectivec::EnumGenerator::GenerateSource(google::protobuf::io::Printer*) const':
src/google/protobuf/compiler/objectivec/enum.cc:191:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<const google::protobuf::EnumValueDescriptor*>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  191 |   for (int i = 0; i < all_values_.size(); i++) {
      |                   ~~^~~~~~~~~~~~~~~~~~~~
src/google/protobuf/compiler/objectivec/enum.cc:212:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  212 |   for (int i = 0; i < text_blob.size(); i += kBytesPerLine) {
      |                   ~~^~~~~~~~~~~~~~~~~~
src/google/protobuf/compiler/objectivec/enum.cc:220:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<const google::protobuf::EnumValueDescriptor*>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  220 |   for (int i = 0; i < all_values_.size(); i++) {
      |                   ~~^~~~~~~~~~~~~~~~~~~~
src/google/protobuf/compiler/objectivec/enum.cc:277:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<const google::protobuf::EnumValueDescriptor*>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  277 |   for (int i = 0; i < base_values_.size(); i++) {
      |                   ~~^~~~~~~~~~~~~~~~~~~~~
src/google/protobuf/compiler/objectivec/names.cc: In function 'std::string google::protobuf::compiler::objectivec::{anonymous}::UnderscoresToCamelCase(absl::lts_20230125::string_view, bool)':
src/google/protobuf/compiler/objectivec/names.cc:289:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::basic_string_view<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  289 |   for (int i = 0; i < input.size(); i++) {
      |                   ~~^~~~~~~~~~~~~~
src/google/protobuf/compiler/objectivec/import_writer.cc: In member function 'virtual bool google::protobuf::compiler::objectivec::{anonymous}::ProtoFrameworkCollector::ConsumeLine(absl::lts_20230125::string_view, std::string*)':
src/google/protobuf/compiler/objectivec/import_writer.cc:72:14: warning: comparison of integer expressions of different signedness: 'int' and 'const std::basic_string_view<char>::size_type' {aka 'const long unsigned int'} [-Wsign-compare]
   72 |   if (offset == absl::string_view::npos) {
      |       ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
src/google/protobuf/compiler/objectivec/import_writer.cc:83:16: warning: comparison of integer expressions of different signedness: 'int' and 'std::basic_string_view<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   83 |   while (start < proto_file_list.length()) {
      |          ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
src/google/protobuf/compiler/objectivec/import_writer.cc:85:16: warning: comparison of integer expressions of different signedness: 'int' and 'const std::basic_string_view<char>::size_type' {aka 'const long unsigned int'} [-Wsign-compare]
   85 |     if (offset == absl::string_view::npos) {
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
src/google/protobuf/compiler/objectivec/names.cc: In function 'std::string google::protobuf::compiler::objectivec::UnCamelCaseEnumShortName(absl::lts_20230125::string_view)':
src/google/protobuf/compiler/objectivec/names.cc:870:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::basic_string_view<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  870 |   for (int i = 0; i < name.size(); i++) {
      |                   ~~^~~~~~~~~~~~~
src/google/protobuf/compiler/objectivec/names.cc: In function 'std::string google::protobuf::compiler::objectivec::UnCamelCaseFieldName(absl::lts_20230125::string_view, const google::protobuf::FieldDescriptor*)':
src/google/protobuf/compiler/objectivec/names.cc:956:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::basic_string_view<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  956 |     for (int i = 0; i < worker.size(); i++) {
      |                     ~~^~~~~~~~~~~~~~~
src/google/protobuf/compiler/objectivec/names.cc: In member function 'virtual bool google::protobuf::compiler::objectivec::{anonymous}::PackageToPrefixesCollector::ConsumeLine(absl::lts_20230125::string_view, std::string*)':
src/google/protobuf/compiler/objectivec/names.cc:1008:14: warning: comparison of integer expressions of different signedness: 'int' and 'const std::basic_string_view<char>::size_type' {aka 'const long unsigned int'} [-Wsign-compare]
 1008 |   if (offset == absl::string_view::npos) {
      |       ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
src/google/protobuf/compiler/objectivec/message.cc: In member function 'void google::protobuf::compiler::objectivec::MessageGenerator::GenerateSource(google::protobuf::io::Printer*) const':
src/google/protobuf/compiler/objectivec/message.cc:563:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  563 |     for (int i = 0; i < text_format_data_str.size(); i += kBytesPerLine) {
      |                     ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/google/protobuf/compiler/php/php_generator.cc: In function 'std::string google::protobuf::compiler::php::{anonymous}::PhpName(absl::lts_20230125::string_view, const google::protobuf::compiler::php::Options&)':
src/google/protobuf/compiler/php/php_generator.cc:222:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::basic_string_view<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  222 |   for (int i = 0; i < full_name.size(); i++) {
      |                   ~~^~~~~~~~~~~~~~~~~~
src/google/protobuf/compiler/php/php_generator.cc: In function 'std::string google::protobuf::compiler::php::{anonymous}::GeneratedMetadataFileName(const google::protobuf::FileDescriptor*, const google::protobuf::compiler::php::Options&)':
src/google/protobuf/compiler/php/php_generator.cc:299:24: warning: comparison of integer expressions of different signedness: 'int' and 'const std::__cxx11::basic_string<char>::size_type' {aka 'const long unsigned int'} [-Wsign-compare]
  299 |     while (first_index != std::string::npos) {
      |            ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
src/google/protobuf/compiler/php/php_generator.cc:310:23: warning: comparison of integer expressions of different signedness: 'int' and 'const std::__cxx11::basic_string<char>::size_type' {aka 'const long unsigned int'} [-Wsign-compare]
  310 |   if (file_name_start == std::string::npos) {
      |       ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
src/google/protobuf/compiler/php/php_generator.cc: In function 'std::string google::protobuf::compiler::php::{anonymous}::GeneratedServiceFileName(const google::protobuf::ServiceDescriptor*, const google::protobuf::compiler::php::Options&)':
src/google/protobuf/compiler/php/php_generator.cc:372:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  372 |   for (int i = 0; i < result.size(); i++) {
      |                   ~~^~~~~~~~~~~~~~~
src/google/protobuf/compiler/php/php_generator.cc: In function 'std::string google::protobuf::compiler::php::{anonymous}::UnderscoresToCamelCase(absl::lts_20230125::string_view, bool)':
src/google/protobuf/compiler/php/php_generator.cc:520:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::basic_string_view<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  520 |   for (int i = 0; i < name.size(); i++) {
      |                   ~~^~~~~~~~~~~~~
src/google/protobuf/compiler/python/generator.cc: In member function 'void google::protobuf::compiler::python::Generator::PrintMessages() const':
src/google/protobuf/compiler/python/generator.cc:748:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::__cxx11::basic_string<char> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  748 |     for (int j = 0; j < to_register.size(); ++j) {
      |                     ~~^~~~~~~~~~~~~~~~~~~~
src/google/protobuf/compiler/php/php_generator.cc: In function 'void google::protobuf::compiler::php::{anonymous}::GenerateMetadataFile(const google::protobuf::FileDescriptor*, const google::protobuf::compiler::php::Options&, google::protobuf::compiler::GeneratorContext*)':
src/google/protobuf/compiler/php/php_generator.cc:1195:17: warning: comparison of integer expressions of different signedness: 'int' and 'const std::__cxx11::basic_string<char>::size_type' {aka 'const long unsigned int'} [-Wsign-compare]
 1195 |   if (lastindex != std::string::npos) {
      |       ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
src/google/protobuf/compiler/php/php_generator.cc: In function 'void google::protobuf::compiler::php::{anonymous}::GenerateEnumFile(const google::protobuf::FileDescriptor*, const google::protobuf::EnumDescriptor*, const google::protobuf::compiler::php::Options&, google::protobuf::compiler::GeneratorContext*)':
src/google/protobuf/compiler/php/php_generator.cc:1307:17: warning: comparison of integer expressions of different signedness: 'int' and 'const std::__cxx11::basic_string<char>::size_type' {aka 'const long unsigned int'} [-Wsign-compare]
 1307 |   if (lastindex != std::string::npos) {
      |       ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
src/google/protobuf/compiler/php/php_generator.cc:1319:17: warning: comparison of integer expressions of different signedness: 'int' and 'const std::__cxx11::basic_string<char>::size_type' {aka 'const long unsigned int'} [-Wsign-compare]
 1319 |   if (lastindex != std::string::npos) {
      |       ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
src/google/protobuf/compiler/php/php_generator.cc: In function 'void google::protobuf::compiler::php::{anonymous}::GenerateMessageFile(const google::protobuf::FileDescriptor*, const google::protobuf::Descriptor*, const google::protobuf::compiler::php::Options&, google::protobuf::compiler::GeneratorContext*)':
src/google/protobuf/compiler/php/php_generator.cc:1448:17: warning: comparison of integer expressions of different signedness: 'int' and 'const std::__cxx11::basic_string<char>::size_type' {aka 'const long unsigned int'} [-Wsign-compare]
 1448 |   if (lastindex != std::string::npos) {
      |       ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
src/google/protobuf/compiler/php/php_generator.cc:1457:17: warning: comparison of integer expressions of different signedness: 'int' and 'const std::__cxx11::basic_string<char>::size_type' {aka 'const long unsigned int'} [-Wsign-compare]
 1457 |   if (lastindex != std::string::npos) {
      |       ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
In file included from src/google/protobuf/compiler/java/helpers.h:46,
                 from src/google/protobuf/compiler/java/shared_code_generator.cc:39:
src/google/protobuf/io/printer.h: In instantiation of 'void google::protobuf::io::AnnotationProtoCollector<AnnotationProto>::AddAnnotation(size_t, size_t, const std::string&, const std::vector<int>&, std::optional<google::protobuf::io::AnnotationCollector::Semantic>) [with AnnotationProto = google::protobuf::GeneratedCodeInfo; size_t = long unsigned int; std::string = std::__cxx11::basic_string<char>]':
src/google/protobuf/io/printer.h:144:8:   required from here
src/google/protobuf/io/printer.h:148:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  148 |     for (int i = 0; i < path.size(); ++i) {
      |                     ~~^~~~~~~~~~~~~
src/google/protobuf/compiler/php/php_generator.cc: In function 'void google::protobuf::compiler::php::{anonymous}::GenerateServiceFile(const google::protobuf::FileDescriptor*, const google::protobuf::ServiceDescriptor*, const google::protobuf::compiler::php::Options&, google::protobuf::compiler::GeneratorContext*)':
src/google/protobuf/compiler/php/php_generator.cc:1580:17: warning: comparison of integer expressions of different signedness: 'int' and 'const std::__cxx11::basic_string<char>::size_type' {aka 'const long unsigned int'} [-Wsign-compare]
 1580 |       lastindex != std::string::npos) {
      |       ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
src/google/protobuf/compiler/php/php_generator.cc:1588:17: warning: comparison of integer expressions of different signedness: 'int' and 'const std::__cxx11::basic_string<char>::size_type' {aka 'const long unsigned int'} [-Wsign-compare]
 1588 |   if (lastindex != std::string::npos) {
      |       ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
src/google/protobuf/compiler/php/php_generator.cc: In function 'void google::protobuf::compiler::php::{anonymous}::GenerateDocCommentBodyForLocation(google::protobuf::io::Printer*, const google::protobuf::SourceLocation&, bool, int)':
src/google/protobuf/compiler/php/php_generator.cc:1693:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::basic_string_view<char> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
 1693 |     for (int i = 0; i < lines.size(); i++) {
      |                     ~~^~~~~~~~~~~~~~
src/google/protobuf/compiler/zip_writer.cc: In function 'uint32_t google::protobuf::compiler::ComputeCRC32(const std::string&)':
src/google/protobuf/compiler/zip_writer.cc:97:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   97 |   for (int i = 0; i < buf.size(); ++i) {
      |                   ~~^~~~~~~~~~~~
src/google/protobuf/compiler/ruby/ruby_generator.cc: In function 'std::string google::protobuf::compiler::ruby::DefaultValueForField(const google::protobuf::FieldDescriptor*)':
src/google/protobuf/compiler/ruby/ruby_generator.cc:160:27: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  160 |         for (int i = 0; i < default_str.length(); ++i) {
      |                         ~~^~~~~~~~~~~~~~~~~~~~~~
src/google/protobuf/compiler/ruby/ruby_generator.cc: In function 'std::string google::protobuf::compiler::ruby::PackageToModule(absl::lts_20230125::string_view)':
src/google/protobuf/compiler/ruby/ruby_generator.cc:332:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::basic_string_view<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  332 |   for (int i = 0; i < name.size(); i++) {
      |                   ~~^~~~~~~~~~~~~
src/google/protobuf/compiler/subprocess.cc: In member function 'bool google::protobuf::compiler::Subprocess::Communicate(const google::protobuf::Message&, google::protobuf::Message*, std::string*)':
src/google/protobuf/compiler/subprocess.cc:435:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  435 |       if (input_pos == input_data.size()) {
      |           ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
src/google/protobuf/compiler/php/php_generator.cc: In instantiation of 'std::string google::protobuf::compiler::php::{anonymous}::GeneratedClassFileName(const DescriptorType*, const google::protobuf::compiler::php::Options&) [with DescriptorType = google::protobuf::EnumDescriptor; std::string = std::__cxx11::basic_string<char>]':
src/google/protobuf/compiler/php/php_generator.cc:1297:48:   required from here
src/google/protobuf/compiler/php/php_generator.cc:333:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  333 |   for (int i = 0; i < result.size(); i++) {
      |                   ~~^~~~~~~~~~~~~~~
src/google/protobuf/compiler/php/php_generator.cc: In instantiation of 'void google::protobuf::compiler::php::{anonymous}::LegacyReadOnlyGenerateClassFile(const google::protobuf::FileDescriptor*, const DescriptorType*, const google::protobuf::compiler::php::Options&, google::protobuf::compiler::GeneratorContext*) [with DescriptorType = google::protobuf::EnumDescriptor]':
src/google/protobuf/compiler/php/php_generator.cc:1425:36:   required from here
src/google/protobuf/compiler/php/php_generator.cc:1264:17: warning: comparison of integer expressions of different signedness: 'int' and 'const std::__cxx11::basic_string<char>::size_type' {aka 'const long unsigned int'} [-Wsign-compare]
 1264 |   if (lastindex != std::string::npos) {
      |       ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
src/google/protobuf/compiler/php/php_generator.cc: In instantiation of 'std::string google::protobuf::compiler::php::{anonymous}::GeneratedClassFileName(const DescriptorType*, const google::protobuf::compiler::php::Options&) [with DescriptorType = google::protobuf::Descriptor; std::string = std::__cxx11::basic_string<char>]':
src/google/protobuf/compiler/php/php_generator.cc:1438:48:   required from here
src/google/protobuf/compiler/php/php_generator.cc:333:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  333 |   for (int i = 0; i < result.size(); i++) {
      |                   ~~^~~~~~~~~~~~~~~
src/google/protobuf/compiler/php/php_generator.cc: In instantiation of 'void google::protobuf::compiler::php::{anonymous}::LegacyReadOnlyGenerateClassFile(const google::protobuf::FileDescriptor*, const DescriptorType*, const google::protobuf::compiler::php::Options&, google::protobuf::compiler::GeneratorContext*) [with DescriptorType = google::protobuf::Descriptor]':
src/google/protobuf/compiler/php/php_generator.cc:1552:36:   required from here
src/google/protobuf/compiler/php/php_generator.cc:1264:17: warning: comparison of integer expressions of different signedness: 'int' and 'const std::__cxx11::basic_string<char>::size_type' {aka 'const long unsigned int'} [-Wsign-compare]
 1264 |   if (lastindex != std::string::npos) {
      |       ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
src/google/protobuf/compiler/php/php_generator.cc: In instantiation of 'std::string google::protobuf::compiler::php::{anonymous}::LegacyReadOnlyGeneratedClassFileName(std::string, const DescriptorType*) [with DescriptorType = google::protobuf::EnumDescriptor; std::string = std::__cxx11::basic_string<char>]':
src/google/protobuf/compiler/php/php_generator.cc:1272:62:   required from 'void google::protobuf::compiler::php::{anonymous}::LegacyReadOnlyGenerateClassFile(const google::protobuf::FileDescriptor*, const DescriptorType*, const google::protobuf::compiler::php::Options&, google::protobuf::compiler::GeneratorContext*) [with DescriptorType = google::protobuf::EnumDescriptor]'
src/google/protobuf/compiler/php/php_generator.cc:1425:36:   required from here
src/google/protobuf/compiler/php/php_generator.cc:358:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  358 |     for (int i = 0; i < php_namespace.size(); i++) {
      |                     ~~^~~~~~~~~~~~~~~~~~~~~~
src/google/protobuf/compiler/php/php_generator.cc: In instantiation of 'std::string google::protobuf::compiler::php::{anonymous}::LegacyReadOnlyGeneratedClassFileName(std::string, const DescriptorType*) [with DescriptorType = google::protobuf::Descriptor; std::string = std::__cxx11::basic_string<char>]':
src/google/protobuf/compiler/php/php_generator.cc:1272:62:   required from 'void google::protobuf::compiler::php::{anonymous}::LegacyReadOnlyGenerateClassFile(const google::protobuf::FileDescriptor*, const DescriptorType*, const google::protobuf::compiler::php::Options&, google::protobuf::compiler::GeneratorContext*) [with DescriptorType = google::protobuf::Descriptor]'
src/google/protobuf/compiler/php/php_generator.cc:1552:36:   required from here
src/google/protobuf/compiler/php/php_generator.cc:358:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
In file included from src/google/protobuf/compiler/python/pyi_generator.cc:46:
src/google/protobuf/io/printer.h: In instantiation of 'void google::protobuf::io::AnnotationProtoCollector<AnnotationProto>::AddAnnotation(size_t, size_t, const std::string&, const std::vector<int>&, std::optional<google::protobuf::io::AnnotationCollector::Semantic>) [with AnnotationProto = google::protobuf::GeneratedCodeInfo; size_t = long unsigned int; std::string = std::__cxx11::basic_string<char>]':
src/google/protobuf/io/printer.h:144:8:   required from here
src/google/protobuf/io/printer.h:148:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  148 |     for (int i = 0; i < path.size(); ++i) {
      |                     ~~^~~~~~~~~~~~~
In file included from src/google/protobuf/compiler/mock_code_generator.cc:59:
src/google/protobuf/io/printer.h: In instantiation of 'void google::protobuf::io::AnnotationProtoCollector<AnnotationProto>::AddAnnotation(size_t, size_t, const std::string&, const std::vector<int>&, std::optional<google::protobuf::io::AnnotationCollector::Semantic>) [with AnnotationProto = google::protobuf::GeneratedCodeInfo; size_t = long unsigned int; std::string = std::__cxx11::basic_string<char>]':
src/google/protobuf/io/printer.h:144:8:   required from here
src/google/protobuf/io/printer.h:148:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  148 |     for (int i = 0; i < path.size(); ++i) {
      |                     ~~^~~~~~~~~~~~~
src/google/protobuf/lite_arena_unittest.cc: In member function 'virtual void google::protobuf::{anonymous}::LiteArenaTest_UnknownFieldMemLeak_Test::TestBody()':
src/google/protobuf/lite_arena_unittest.cc:81:26: warning: comparison of integer expressions of different signedness: 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   81 |   while (data.capacity() <= original_capacity) {
      |          ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/gtest/gtest.h:72,
                 from src/google/protobuf/proto3_lite_unittest.inc:37,
                 from src/google/protobuf/proto3_lite_unittest.cc:37:
src/google/protobuf/proto3_lite_unittest.inc: In member function 'virtual void google::protobuf::{anonymous}::Proto3LiteTest_Swap_Test::TestBody()':
src/google/protobuf/proto3_lite_unittest.inc:133:26: warning: 'int google::protobuf::MessageLite::ByteSize() const' is deprecated: Please use ByteSizeLong() instead [-Wdeprecated-declarations]
  133 |   EXPECT_EQ(msg1.ByteSize(), msg2.ByteSize() + 1);
      |             ~~~~~~~~~~~~~^~
In file included from src/google/protobuf/any.h:38,
                 from src/google/protobuf/generated_message_util.h:53,
                 from src/google/protobuf/generated_message_bases.h:39,
                 from src/google/protobuf/unittest_proto3.pb.h:27,
                 from src/google/protobuf/proto3_lite_unittest.cc:31:
src/google/protobuf/message_lite.h:421:7: note: declared here
  421 |   int ByteSize() const { return internal::ToIntSize(ByteSizeLong()); }
      |       ^~~~~~~~
src/google/protobuf/proto3_lite_unittest.inc:133:43: warning: 'int google::protobuf::MessageLite::ByteSize() const' is deprecated: Please use ByteSizeLong() instead [-Wdeprecated-declarations]
  133 |   EXPECT_EQ(msg1.ByteSize(), msg2.ByteSize() + 1);
      |                              ~~~~~~~~~~~~~^~
src/google/protobuf/message_lite.h:421:7: note: declared here
  421 |   int ByteSize() const { return internal::ToIntSize(ByteSizeLong()); }
      |       ^~~~~~~~
In file included from /usr/include/gtest/gtest.h:72,
                 from src/google/protobuf/well_known_types_unittest.cc:30:
src/google/protobuf/well_known_types_unittest.cc: In member function 'virtual void google::protobuf::{anonymous}::WellKnownTypesTest_AllKnownTypesAreIncluded_Test::TestBody()':
src/google/protobuf/well_known_types_unittest.cc:44:44: warning: 'int google::protobuf::MessageLite::ByteSize() const' is deprecated: Please use ByteSizeLong() instead [-Wdeprecated-declarations]
   44 |   EXPECT_EQ(0, message.any_field().ByteSize());
      |                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
In file included from src/google/protobuf/any.h:38,
                 from src/google/protobuf/generated_message_util.h:53,
                 from src/google/protobuf/unittest_well_known_types.pb.h:27,
                 from src/google/protobuf/well_known_types_unittest.cc:34:
src/google/protobuf/message_lite.h:421:7: note: declared here
  421 |   int ByteSize() const { return internal::ToIntSize(ByteSizeLong()); }
      |       ^~~~~~~~
src/google/protobuf/well_known_types_unittest.cc:45:44: warning: 'int google::protobuf::MessageLite::ByteSize() const' is deprecated: Please use ByteSizeLong() instead [-Wdeprecated-declarations]
   45 |   EXPECT_EQ(0, message.api_field().ByteSize());
      |                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
src/google/protobuf/message_lite.h:421:7: note: declared here
  421 |   int ByteSize() const { return internal::ToIntSize(ByteSizeLong()); }
      |       ^~~~~~~~
src/google/protobuf/well_known_types_unittest.cc:46:49: warning: 'int google::protobuf::MessageLite::ByteSize() const' is deprecated: Please use ByteSizeLong() instead [-Wdeprecated-declarations]
   46 |   EXPECT_EQ(0, message.duration_field().ByteSize());
      |                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
src/google/protobuf/message_lite.h:421:7: note: declared here
  421 |   int ByteSize() const { return internal::ToIntSize(ByteSizeLong()); }
      |       ^~~~~~~~
src/google/protobuf/well_known_types_unittest.cc:47:46: warning: 'int google::protobuf::MessageLite::ByteSize() const' is deprecated: Please use ByteSizeLong() instead [-Wdeprecated-declarations]
   47 |   EXPECT_EQ(0, message.empty_field().ByteSize());
      |                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
src/google/protobuf/message_lite.h:421:7: note: declared here
  421 |   int ByteSize() const { return internal::ToIntSize(ByteSizeLong()); }
      |       ^~~~~~~~
src/google/protobuf/well_known_types_unittest.cc:48:51: warning: 'int google::protobuf::MessageLite::ByteSize() const' is deprecated: Please use ByteSizeLong() instead [-Wdeprecated-declarations]
   48 |   EXPECT_EQ(0, message.field_mask_field().ByteSize());
      |                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
src/google/protobuf/message_lite.h:421:7: note: declared here
  421 |   int ByteSize() const { return internal::ToIntSize(ByteSizeLong()); }
      |       ^~~~~~~~
src/google/protobuf/well_known_types_unittest.cc:49:55: warning: 'int google::protobuf::MessageLite::ByteSize() const' is deprecated: Please use ByteSizeLong() instead [-Wdeprecated-declarations]
   49 |   EXPECT_EQ(0, message.source_context_field().ByteSize());
      |                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
src/google/protobuf/message_lite.h:421:7: note: declared here
  421 |   int ByteSize() const { return internal::ToIntSize(ByteSizeLong()); }
      |       ^~~~~~~~
src/google/protobuf/well_known_types_unittest.cc:50:47: warning: 'int google::protobuf::MessageLite::ByteSize() const' is deprecated: Please use ByteSizeLong() instead [-Wdeprecated-declarations]
   50 |   EXPECT_EQ(0, message.struct_field().ByteSize());
      |                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
src/google/protobuf/message_lite.h:421:7: note: declared here
  421 |   int ByteSize() const { return internal::ToIntSize(ByteSizeLong()); }
      |       ^~~~~~~~
src/google/protobuf/well_known_types_unittest.cc:51:50: warning: 'int google::protobuf::MessageLite::ByteSize() const' is deprecated: Please use ByteSizeLong() instead [-Wdeprecated-declarations]
   51 |   EXPECT_EQ(0, message.timestamp_field().ByteSize());
      |                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
src/google/protobuf/message_lite.h:421:7: note: declared here
  421 |   int ByteSize() const { return internal::ToIntSize(ByteSizeLong()); }
      |       ^~~~~~~~
src/google/protobuf/well_known_types_unittest.cc:52:45: warning: 'int google::protobuf::MessageLite::ByteSize() const' is deprecated: Please use ByteSizeLong() instead [-Wdeprecated-declarations]
   52 |   EXPECT_EQ(0, message.type_field().ByteSize());
      |                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
src/google/protobuf/message_lite.h:421:7: note: declared here
  421 |   int ByteSize() const { return internal::ToIntSize(ByteSizeLong()); }
      |       ^~~~~~~~
src/google/protobuf/well_known_types_unittest.cc:53:46: warning: 'int google::protobuf::MessageLite::ByteSize() const' is deprecated: Please use ByteSizeLong() instead [-Wdeprecated-declarations]
   53 |   EXPECT_EQ(0, message.int32_field().ByteSize());
      |                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
src/google/protobuf/message_lite.h:421:7: note: declared here
  421 |   int ByteSize() const { return internal::ToIntSize(ByteSizeLong()); }
      |       ^~~~~~~~
src/google/protobuf/generated_message_tctable_lite_test.cc: In instantiation of 'bool google::protobuf::internal::{anonymous}::IsEntryForFieldNumMatcherP3<table_type, field_num_type, field_numbers_table_type>::gmock_Impl<arg_type>::MatchAndExplain(const arg_type&, testing::MatchResultListener*) const [with arg_type = std::nullptr_t&; table_type = google::protobuf::internal::TcParseTable<0, 3, 0, 0, 2>*; field_num_type = int; field_numbers_table_type = int*]':
src/google/protobuf/generated_message_tctable_lite_test.cc:277:1:   required from here
src/google/protobuf/generated_message_tctable_lite_test.cc:288:24: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'const int' [-Wsign-compare]
  288 |   if (actual_field_num != field_num) {
      |       ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
src/google/protobuf/generated_message_tctable_lite_test.cc: In instantiation of 'bool google::protobuf::internal::{anonymous}::IsEntryForFieldNumMatcherP3<table_type, field_num_type, field_numbers_table_type>::gmock_Impl<arg_type>::MatchAndExplain(const arg_type&, testing::MatchResultListener*) const [with arg_type = const google::protobuf::internal::TcParseTableBase::FieldEntry* const&; table_type = google::protobuf::internal::TcParseTable<0, 3, 0, 15, 2>*; field_num_type = int; field_numbers_table_type = int*]':
src/google/protobuf/generated_message_tctable_lite_test.cc:277:1:   required from here
src/google/protobuf/generated_message_tctable_lite_test.cc:288:24: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'const int' [-Wsign-compare]
src/google/protobuf/generated_message_tctable_lite_test.cc: In instantiation of 'bool google::protobuf::internal::{anonymous}::IsEntryForFieldNumMatcherP3<table_type, field_num_type, field_numbers_table_type>::gmock_Impl<arg_type>::MatchAndExplain(const arg_type&, testing::MatchResultListener*) const [with arg_type = const google::protobuf::internal::TcParseTableBase::FieldEntry* const&; table_type = google::protobuf::internal::TcParseTable<0, 10, 0, 0, 8>*; field_num_type = int; field_numbers_table_type = int*]':
src/google/protobuf/generated_message_tctable_lite_test.cc:277:1:   required from here
src/google/protobuf/generated_message_tctable_lite_test.cc:288:24: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'const int' [-Wsign-compare]
src/google/protobuf/generated_message_tctable_lite_test.cc: In instantiation of 'bool google::protobuf::internal::{anonymous}::IsEntryForFieldNumMatcherP3<table_type, field_num_type, field_numbers_table_type>::gmock_Impl<arg_type>::MatchAndExplain(const arg_type&, testing::MatchResultListener*) const [with arg_type = const google::protobuf::internal::TcParseTableBase::FieldEntry* const&; table_type = google::protobuf::internal::TcParseTable<0, 6, 0, 0, 8>*; field_num_type = int; field_numbers_table_type = int*]':
src/google/protobuf/generated_message_tctable_lite_test.cc:277:1:   required from here
src/google/protobuf/generated_message_tctable_lite_test.cc:288:24: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'const int' [-Wsign-compare]
src/google/protobuf/generated_message_tctable_lite_test.cc: In instantiation of 'bool google::protobuf::internal::{anonymous}::IsEntryForFieldNumMatcherP3<table_type, field_num_type, field_numbers_table_type>::gmock_Impl<arg_type>::MatchAndExplain(const arg_type&, testing::MatchResultListener*) const [with arg_type = const google::protobuf::internal::TcParseTableBase::FieldEntry* const&; table_type = google::protobuf::internal::TcParseTable<0, 5, 0, 0, 8>*; field_num_type = int; field_numbers_table_type = int*]':
src/google/protobuf/generated_message_tctable_lite_test.cc:277:1:   required from here
src/google/protobuf/generated_message_tctable_lite_test.cc:288:24: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'const int' [-Wsign-compare]
src/google/protobuf/generated_message_tctable_lite_test.cc: In instantiation of 'bool google::protobuf::internal::{anonymous}::IsEntryForFieldNumMatcherP3<table_type, field_num_type, field_numbers_table_type>::gmock_Impl<arg_type>::MatchAndExplain(const arg_type&, testing::MatchResultListener*) const [with arg_type = google::protobuf::internal::TcParseTableBase::FieldEntry* const&; table_type = google::protobuf::internal::TcParseTable<0, 3, 0, 0, 2>*; field_num_type = int; field_numbers_table_type = int*]':
src/google/protobuf/generated_message_tctable_lite_test.cc:277:1:   required from here
src/google/protobuf/generated_message_tctable_lite_test.cc:288:24: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'const int' [-Wsign-compare]
src/google/protobuf/repeated_field_unittest.cc: In member function 'virtual void google::protobuf::{anonymous}::RepeatedField_MoveAssign_Test::TestBody()':
src/google/protobuf/repeated_field_unittest.cc:900:12: warning: moving '* field' of type 'google::protobuf::RepeatedField<int>' to itself [-Wself-move]
  900 |     *field = std::move(*field);
      |     ~~~~~~~^~~~~~~~~~~~~~~~~~~
src/google/protobuf/repeated_field_unittest.cc:900:12: note: remove 'std::move' call
In file included from src/google/protobuf/compiler/cpp/move_unittest.cc:33:
src/google/protobuf/test_util.h: In member function 'void google::protobuf::TestUtil::ReflectionTester::RemoveLastRepeatedsViaReflection(google::protobuf::Message*)':
src/google/protobuf/test_util.h:1151:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<const google::protobuf::FieldDescriptor*>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
 1151 |   for (int i = 0; i < output.size(); ++i) {
      |                   ~~^~~~~~~~~~~~~~~
src/google/protobuf/test_util.h: In member function 'void google::protobuf::TestUtil::ReflectionTester::ReleaseLastRepeatedsViaReflection(google::protobuf::Message*, bool)':
src/google/protobuf/test_util.h:1165:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<const google::protobuf::FieldDescriptor*>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
 1165 |   for (int i = 0; i < output.size(); ++i) {
      |                   ~~^~~~~~~~~~~~~~~
src/google/protobuf/test_util.h: In member function 'void google::protobuf::TestUtil::ReflectionTester::SwapRepeatedsViaReflection(google::protobuf::Message*)':
src/google/protobuf/test_util.h:1185:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<const google::protobuf::FieldDescriptor*>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
 1185 |   for (int i = 0; i < output.size(); ++i) {
      |                   ~~^~~~~~~~~~~~~~~
src/google/protobuf/test_util.h: In member function 'void google::protobuf::TestUtil::ReflectionTester::SetAllocatedOptionalMessageFieldsToNullViaReflection(google::protobuf::Message*)':
src/google/protobuf/test_util.h:1200:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<const google::protobuf::FieldDescriptor*>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
 1200 |   for (int i = 0; i < fields.size(); ++i) {
      |                   ~~^~~~~~~~~~~~~~~
src/google/protobuf/test_util.h: In static member function 'static void google::protobuf::TestUtil::ReflectionTester::SetAllocatedOptionalMessageFieldsToMessageViaReflection(google::protobuf::Message*, google::protobuf::Message*)':
src/google/protobuf/test_util.h:1220:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<const google::protobuf::FieldDescriptor*>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
 1220 |   for (int i = 0; i < fields.size(); ++i) {
      |                   ~~^~~~~~~~~~~~~~~
src/google/protobuf/test_util.h: In member function 'void google::protobuf::TestUtil::ReflectionTester::ExpectMessagesReleasedViaReflection(google::protobuf::Message*, MessageReleaseState)':
src/google/protobuf/test_util.h:1242:21: warning: comparison of integer expressions of different signedness: 'int' and 'long unsigned int' [-Wsign-compare]
 1242 |   for (int i = 0; i < ABSL_ARRAYSIZE(fields); i++) {
      |                     ^
In file included from /usr/include/gtest/gtest.h:72,
                 from /usr/include/gmock/internal/gmock-internal-utils.h:50,
                 from /usr/include/gmock/gmock-actions.h:145,
                 from /usr/include/gmock/gmock.h:56,
                 from src/google/protobuf/repeated_field_unittest.cc:50:
src/google/protobuf/repeated_field_unittest.cc: In member function 'virtual void google::protobuf::{anonymous}::RepeatedPtrField_AddAllocated_Test::TestBody()':
src/google/protobuf/repeated_field_unittest.cc:1572:34: warning: 'int google::protobuf::RepeatedPtrField<T>::ClearedCount() const [with Element = std::__cxx11::basic_string<char>]' is deprecated: This will be removed in a future release [-Wdeprecated-declarations]
 1572 |   EXPECT_EQ(0, field.ClearedCount());
      |                ~~~~~~~~~~~~~~~~~~^~
In file included from src/google/protobuf/repeated_field.h:64,
                 from src/google/protobuf/repeated_field_unittest.cc:38:
src/google/protobuf/repeated_ptr_field.h:1591:12: note: declared here
 1591 | inline int RepeatedPtrField<Element>::ClearedCount() const {
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~
src/google/protobuf/repeated_field_unittest.cc:1580:34: warning: 'int google::protobuf::RepeatedPtrField<T>::ClearedCount() const [with Element = std::__cxx11::basic_string<char>]' is deprecated: This will be removed in a future release [-Wdeprecated-declarations]
 1580 |   EXPECT_EQ(0, field.ClearedCount());
      |                ~~~~~~~~~~~~~~~~~~^~
src/google/protobuf/repeated_ptr_field.h:1591:12: note: declared here
 1591 | inline int RepeatedPtrField<Element>::ClearedCount() const {
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~
src/google/protobuf/repeated_field_unittest.cc:1588:34: warning: 'int google::protobuf::RepeatedPtrField<T>::ClearedCount() const [with Element = std::__cxx11::basic_string<char>]' is deprecated: This will be removed in a future release [-Wdeprecated-declarations]
 1588 |   EXPECT_EQ(1, field.ClearedCount());
      |                ~~~~~~~~~~~~~~~~~~^~
src/google/protobuf/repeated_ptr_field.h:1591:12: note: declared here
 1591 | inline int RepeatedPtrField<Element>::ClearedCount() const {
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~
src/google/protobuf/repeated_field_unittest.cc:1601:34: warning: 'int google::protobuf::RepeatedPtrField<T>::ClearedCount() const [with Element = std::__cxx11::basic_string<char>]' is deprecated: This will be removed in a future release [-Wdeprecated-declarations]
 1601 |   EXPECT_EQ(0, field.ClearedCount());
      |                ~~~~~~~~~~~~~~~~~~^~
src/google/protobuf/repeated_ptr_field.h:1591:12: note: declared here
 1591 | inline int RepeatedPtrField<Element>::ClearedCount() const {
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~
src/google/protobuf/repeated_field_unittest.cc: In member function 'virtual void google::protobuf::{anonymous}::RepeatedPtrField_MoveAssign_Test::TestBody()':
src/google/protobuf/repeated_field_unittest.cc:1889:12: warning: moving '* field' of type 'google::protobuf::RepeatedPtrField<std::__cxx11::basic_string<char> >' to itself [-Wself-move]
 1889 |     *field = std::move(*field);
      |     ~~~~~~~^~~~~~~~~~~~~~~~~~~
src/google/protobuf/repeated_field_unittest.cc:1889:12: note: remove 'std::move' call
src/google/protobuf/repeated_field_unittest.cc: In member function 'virtual void google::protobuf::{anonymous}::RepeatedPtrField_ExtractSubrange_Test::TestBody()':
src/google/protobuf/repeated_field_unittest.cc:1937:39: warning: 'int google::protobuf::RepeatedPtrField<T>::ClearedCount() const [with Element = std::__cxx11::basic_string<char>]' is deprecated: This will be removed in a future release [-Wdeprecated-declarations]
 1937 |           EXPECT_EQ(field.ClearedCount(), extra);
      |                     ~~~~~~~~~~~~~~~~~~^~
src/google/protobuf/repeated_ptr_field.h:1591:12: note: declared here
 1591 | inline int RepeatedPtrField<Element>::ClearedCount() const {
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~
src/google/protobuf/repeated_field_unittest.cc:1959:39: warning: 'int google::protobuf::RepeatedPtrField<T>::ClearedCount() const [with Element = std::__cxx11::basic_string<char>]' is deprecated: This will be removed in a future release [-Wdeprecated-declarations]
 1959 |           EXPECT_EQ(field.ClearedCount(), extra);
      |                     ~~~~~~~~~~~~~~~~~~^~
src/google/protobuf/repeated_ptr_field.h:1591:12: note: declared here
 1591 | inline int RepeatedPtrField<Element>::ClearedCount() const {
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~
src/google/protobuf/repeated_field_unittest.cc:1961:39: warning: 'int google::protobuf::RepeatedPtrField<T>::ClearedCount() const [with Element = std::__cxx11::basic_string<char>]' is deprecated: This will be removed in a future release [-Wdeprecated-declarations]
 1961 |           EXPECT_EQ(field.ClearedCount(), 0);
      |                     ~~~~~~~~~~~~~~~~~~^~
src/google/protobuf/repeated_ptr_field.h:1591:12: note: declared here
 1591 | inline int RepeatedPtrField<Element>::ClearedCount() const {
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~
In file included from src/google/protobuf/reflection_ops_unittest.cc:40:
src/google/protobuf/test_util.h: In member function 'void google::protobuf::TestUtil::ReflectionTester::RemoveLastRepeatedsViaReflection(google::protobuf::Message*)':
src/google/protobuf/test_util.h:1151:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<const google::protobuf::FieldDescriptor*>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
 1151 |   for (int i = 0; i < output.size(); ++i) {
      |                   ~~^~~~~~~~~~~~~~~
src/google/protobuf/test_util.h: In member function 'void google::protobuf::TestUtil::ReflectionTester::ReleaseLastRepeatedsViaReflection(google::protobuf::Message*, bool)':
src/google/protobuf/test_util.h:1165:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<const google::protobuf::FieldDescriptor*>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
 1165 |   for (int i = 0; i < output.size(); ++i) {
      |                   ~~^~~~~~~~~~~~~~~
src/google/protobuf/test_util.h: In member function 'void google::protobuf::TestUtil::ReflectionTester::SwapRepeatedsViaReflection(google::protobuf::Message*)':
src/google/protobuf/test_util.h:1185:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<const google::protobuf::FieldDescriptor*>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
 1185 |   for (int i = 0; i < output.size(); ++i) {
      |                   ~~^~~~~~~~~~~~~~~
src/google/protobuf/test_util.h: In member function 'void google::protobuf::TestUtil::ReflectionTester::SetAllocatedOptionalMessageFieldsToNullViaReflection(google::protobuf::Message*)':
src/google/protobuf/test_util.h:1200:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<const google::protobuf::FieldDescriptor*>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
 1200 |   for (int i = 0; i < fields.size(); ++i) {
      |                   ~~^~~~~~~~~~~~~~~
src/google/protobuf/test_util.h: In static member function 'static void google::protobuf::TestUtil::ReflectionTester::SetAllocatedOptionalMessageFieldsToMessageViaReflection(google::protobuf::Message*, google::protobuf::Message*)':
src/google/protobuf/test_util.h:1220:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<const google::protobuf::FieldDescriptor*>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
 1220 |   for (int i = 0; i < fields.size(); ++i) {
      |                   ~~^~~~~~~~~~~~~~~
src/google/protobuf/test_util.h: In member function 'void google::protobuf::TestUtil::ReflectionTester::ExpectMessagesReleasedViaReflection(google::protobuf::Message*, MessageReleaseState)':
src/google/protobuf/test_util.h:1242:21: warning: comparison of integer expressions of different signedness: 'int' and 'long unsigned int' [-Wsign-compare]
 1242 |   for (int i = 0; i < ABSL_ARRAYSIZE(fields); i++) {
      |                     ^
In file included from src/google/protobuf/repeated_field_reflection_unittest.cc:42:
src/google/protobuf/test_util.h: In member function 'void google::protobuf::TestUtil::ReflectionTester::RemoveLastRepeatedsViaReflection(google::protobuf::Message*)':
src/google/protobuf/test_util.h:1151:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<const google::protobuf::FieldDescriptor*>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
 1151 |   for (int i = 0; i < output.size(); ++i) {
      |                   ~~^~~~~~~~~~~~~~~
src/google/protobuf/test_util.h: In member function 'void google::protobuf::TestUtil::ReflectionTester::ReleaseLastRepeatedsViaReflection(google::protobuf::Message*, bool)':
src/google/protobuf/test_util.h:1165:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<const google::protobuf::FieldDescriptor*>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
 1165 |   for (int i = 0; i < output.size(); ++i) {
      |                   ~~^~~~~~~~~~~~~~~
src/google/protobuf/test_util.h: In member function 'void google::protobuf::TestUtil::ReflectionTester::SwapRepeatedsViaReflection(google::protobuf::Message*)':
src/google/protobuf/test_util.h:1185:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<const google::protobuf::FieldDescriptor*>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
 1185 |   for (int i = 0; i < output.size(); ++i) {
      |                   ~~^~~~~~~~~~~~~~~
src/google/protobuf/test_util.h: In member function 'void google::protobuf::TestUtil::ReflectionTester::SetAllocatedOptionalMessageFieldsToNullViaReflection(google::protobuf::Message*)':
src/google/protobuf/test_util.h:1200:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<const google::protobuf::FieldDescriptor*>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
 1200 |   for (int i = 0; i < fields.size(); ++i) {
      |                   ~~^~~~~~~~~~~~~~~
src/google/protobuf/test_util.h: In static member function 'static void google::protobuf::TestUtil::ReflectionTester::SetAllocatedOptionalMessageFieldsToMessageViaReflection(google::protobuf::Message*, google::protobuf::Message*)':
src/google/protobuf/test_util.h:1220:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<const google::protobuf::FieldDescriptor*>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
 1220 |   for (int i = 0; i < fields.size(); ++i) {
      |                   ~~^~~~~~~~~~~~~~~
src/google/protobuf/test_util.h: In member function 'void google::protobuf::TestUtil::ReflectionTester::ExpectMessagesReleasedViaReflection(google::protobuf::Message*, MessageReleaseState)':
src/google/protobuf/test_util.h:1242:21: warning: comparison of integer expressions of different signedness: 'int' and 'long unsigned int' [-Wsign-compare]
 1242 |   for (int i = 0; i < ABSL_ARRAYSIZE(fields); i++) {
      |                     ^
src/google/protobuf/repeated_field_reflection_unittest.cc: In member function 'virtual void google::protobuf::{anonymous}::RepeatedFieldReflectionTest_RegularFields_Test::TestBody()':
src/google/protobuf/repeated_field_reflection_unittest.cc:82:38: warning: 'const google::protobuf::RepeatedField<Element>& google::protobuf::Reflection::GetRepeatedField(const google::protobuf::Message&, const google::protobuf::FieldDescriptor*) const [with T = int]' is deprecated: Please use GetRepeatedFieldRef() instead [-Wdeprecated-declarations]
   82 |       refl->GetRepeatedField<int32_t>(message, fd_repeated_int32);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from src/google/protobuf/dynamic_message.h:47,
                 from src/google/protobuf/repeated_field_reflection_unittest.cc:36:
src/google/protobuf/message.h:886:27: note: declared here
  886 |   const RepeatedField<T>& GetRepeatedField(const Message& msg,
      |                           ^~~~~~~~~~~~~~~~
src/google/protobuf/repeated_field_reflection_unittest.cc:84:37: warning: 'const google::protobuf::RepeatedField<Element>& google::protobuf::Reflection::GetRepeatedField(const google::protobuf::Message&, const google::protobuf::FieldDescriptor*) const [with T = double]' is deprecated: Please use GetRepeatedFieldRef() instead [-Wdeprecated-declarations]
   84 |       refl->GetRepeatedField<double>(message, fd_repeated_double);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/google/protobuf/message.h:886:27: note: declared here
  886 |   const RepeatedField<T>& GetRepeatedField(const Message& msg,
      |                           ^~~~~~~~~~~~~~~~
src/google/protobuf/repeated_field_reflection_unittest.cc:88:42: warning: 'google::protobuf::RepeatedField<Element>* google::protobuf::Reflection::MutableRepeatedField(google::protobuf::Message*, const google::protobuf::FieldDescriptor*) const [with T = int]' is deprecated: Please use GetMutableRepeatedFieldRef() instead [-Wdeprecated-declarations]
   88 |       refl->MutableRepeatedField<int32_t>(&message, fd_repeated_int32);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/google/protobuf/message.h:896:21: note: declared here
  896 |   RepeatedField<T>* MutableRepeatedField(Message* msg,
      |                     ^~~~~~~~~~~~~~~~~~~~
src/google/protobuf/repeated_field_reflection_unittest.cc:90:41: warning: 'google::protobuf::RepeatedField<Element>* google::protobuf::Reflection::MutableRepeatedField(google::protobuf::Message*, const google::protobuf::FieldDescriptor*) const [with T = double]' is deprecated: Please use GetMutableRepeatedFieldRef() instead [-Wdeprecated-declarations]
   90 |       refl->MutableRepeatedField<double>(&message, fd_repeated_double);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/google/protobuf/message.h:896:21: note: declared here
  896 |   RepeatedField<T>* MutableRepeatedField(Message* msg,
      |                     ^~~~~~~~~~~~~~~~~~~~
src/google/protobuf/repeated_field_reflection_unittest.cc:94:45: warning: 'const google::protobuf::RepeatedPtrField<Element>& google::protobuf::Reflection::GetRepeatedPtrField(const google::protobuf::Message&, const google::protobuf::FieldDescriptor*) const [with T = std::__cxx11::basic_string<char>]' is deprecated: Please use GetRepeatedFieldRef() instead [-Wdeprecated-declarations]
   94 |       refl->GetRepeatedPtrField<std::string>(message, fd_repeated_string);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/google/protobuf/message.h:907:30: note: declared here
  907 |   const RepeatedPtrField<T>& GetRepeatedPtrField(
      |                              ^~~~~~~~~~~~~~~~~~~
src/google/protobuf/repeated_field_reflection_unittest.cc:96:48: warning: 'const google::protobuf::RepeatedPtrField<Element>& google::protobuf::Reflection::GetRepeatedPtrField(const google::protobuf::Message&, const google::protobuf::FieldDescriptor*) const [with T = protobuf_unittest::ForeignMessage]' is deprecated: Please use GetRepeatedFieldRef() instead [-Wdeprecated-declarations]
   96 |       refl->GetRepeatedPtrField<ForeignMessage>(message,
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
   97 |                                                 fd_repeated_foreign_message);
      |                                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/google/protobuf/message.h:907:30: note: declared here
  907 |   const RepeatedPtrField<T>& GetRepeatedPtrField(
      |                              ^~~~~~~~~~~~~~~~~~~
src/google/protobuf/repeated_field_reflection_unittest.cc:99:41: warning: 'const google::protobuf::RepeatedPtrField<Element>& google::protobuf::Reflection::GetRepeatedPtrField(const google::protobuf::Message&, const google::protobuf::FieldDescriptor*) const [with T = google::protobuf::Message]' is deprecated: Please use GetRepeatedFieldRef() instead [-Wdeprecated-declarations]
   99 |       refl->GetRepeatedPtrField<Message>(message, fd_repeated_foreign_message);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/google/protobuf/message.h:907:30: note: declared here
  907 |   const RepeatedPtrField<T>& GetRepeatedPtrField(
      |                              ^~~~~~~~~~~~~~~~~~~
src/google/protobuf/repeated_field_reflection_unittest.cc:103:49: warning: 'google::protobuf::RepeatedPtrField<Element>* google::protobuf::Reflection::MutableRepeatedPtrField(google::protobuf::Message*, const google::protobuf::FieldDescriptor*) const [with T = std::__cxx11::basic_string<char>]' is deprecated: Please use GetMutableRepeatedFieldRef() instead [-Wdeprecated-declarations]
  103 |       refl->MutableRepeatedPtrField<std::string>(&message, fd_repeated_string);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/google/protobuf/message.h:918:24: note: declared here
  918 |   RepeatedPtrField<T>* MutableRepeatedPtrField(Message* msg,
      |                        ^~~~~~~~~~~~~~~~~~~~~~~
src/google/protobuf/repeated_field_reflection_unittest.cc:105:52: warning: 'google::protobuf::RepeatedPtrField<Element>* google::protobuf::Reflection::MutableRepeatedPtrField(google::protobuf::Message*, const google::protobuf::FieldDescriptor*) const [with T = protobuf_unittest::ForeignMessage]' is deprecated: Please use GetMutableRepeatedFieldRef() instead [-Wdeprecated-declarations]
  105 |       refl->MutableRepeatedPtrField<ForeignMessage>(
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  106 |           &message, fd_repeated_foreign_message);
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/google/protobuf/message.h:918:24: note: declared here
  918 |   RepeatedPtrField<T>* MutableRepeatedPtrField(Message* msg,
      |                        ^~~~~~~~~~~~~~~~~~~~~~~
src/google/protobuf/repeated_field_reflection_unittest.cc:108:45: warning: 'google::protobuf::RepeatedPtrField<Element>* google::protobuf::Reflection::MutableRepeatedPtrField(google::protobuf::Message*, const google::protobuf::FieldDescriptor*) const [with T = google::protobuf::Message]' is deprecated: Please use GetMutableRepeatedFieldRef() instead [-Wdeprecated-declarations]
  108 |       refl->MutableRepeatedPtrField<Message>(&message,
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~
  109 |                                              fd_repeated_foreign_message);
      |                                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/google/protobuf/message.h:918:24: note: declared here
  918 |   RepeatedPtrField<T>* MutableRepeatedPtrField(Message* msg,
      |                        ^~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/gtest/gtest-printers.h:115,
                 from /usr/include/gtest/gtest-matchers.h:48,
                 from /usr/include/gtest/internal/gtest-death-test-internal.h:47,
                 from /usr/include/gtest/gtest-death-test.h:43,
                 from /usr/include/gtest/gtest.h:65,
                 from src/google/protobuf/repeated_field_reflection_unittest.cc:38:
src/google/protobuf/repeated_field_reflection_unittest.cc:146:47: warning: 'const google::protobuf::RepeatedField<Element>& google::protobuf::Reflection::GetRepeatedField(const google::protobuf::Message&, const google::protobuf::FieldDescriptor*) const [with T = int]' is deprecated: Please use GetRepeatedFieldRef() instead [-Wdeprecated-declarations]
  146 |   EXPECT_DEATH(refl->GetRepeatedField<int32_t>(message, fd_optional_int32),
      |                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/google/protobuf/message.h:886:27: note: declared here
  886 |   const RepeatedField<T>& GetRepeatedField(const Message& msg,
      |                           ^~~~~~~~~~~~~~~~
src/google/protobuf/repeated_field_reflection_unittest.cc:148:46: warning: 'const google::protobuf::RepeatedField<Element>& google::protobuf::Reflection::GetRepeatedField(const google::protobuf::Message&, const google::protobuf::FieldDescriptor*) const [with T = double]' is deprecated: Please use GetRepeatedFieldRef() instead [-Wdeprecated-declarations]
  148 |   EXPECT_DEATH(refl->GetRepeatedField<double>(message, fd_repeated_int32),
      |                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/google/protobuf/message.h:886:27: note: declared here
  886 |   const RepeatedField<T>& GetRepeatedField(const Message& msg,
      |                           ^~~~~~~~~~~~~~~~
src/google/protobuf/repeated_field_reflection_unittest.cc:150:55: warning: 'const google::protobuf::RepeatedPtrField<Element>& google::protobuf::Reflection::GetRepeatedPtrField(const google::protobuf::Message&, const google::protobuf::FieldDescriptor*) const [with T = protobuf_unittest::TestAllTypes]' is deprecated: Please use GetRepeatedFieldRef() instead [-Wdeprecated-declarations]
  150 |   EXPECT_DEATH(refl->GetRepeatedPtrField<TestAllTypes>(
      |                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  151 |                    message, fd_repeated_foreign_message),
      |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/google/protobuf/message.h:907:30: note: declared here
  907 |   const RepeatedPtrField<T>& GetRepeatedPtrField(
      |                              ^~~~~~~~~~~~~~~~~~~
src/google/protobuf/repeated_field_reflection_unittest.cc: In member function 'virtual void google::protobuf::{anonymous}::RepeatedFieldReflectionTest_ExtensionFields_Test::TestBody()':
src/google/protobuf/repeated_field_reflection_unittest.cc:172:38: warning: 'const google::protobuf::RepeatedField<Element>& google::protobuf::Reflection::GetRepeatedField(const google::protobuf::Message&, const google::protobuf::FieldDescriptor*) const [with T = long int]' is deprecated: Please use GetRepeatedFieldRef() instead [-Wdeprecated-declarations]
  172 |       refl->GetRepeatedField<int64_t>(extended_message,
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
  173 |                                       fd_repeated_int64_extension);
      |                                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/google/protobuf/message.h:886:27: note: declared here
  886 |   const RepeatedField<T>& GetRepeatedField(const Message& msg,
      |                           ^~~~~~~~~~~~~~~~
src/google/protobuf/repeated_field_reflection_unittest.cc:176:42: warning: 'google::protobuf::RepeatedField<Element>* google::protobuf::Reflection::MutableRepeatedField(google::protobuf::Message*, const google::protobuf::FieldDescriptor*) const [with T = long int]' is deprecated: Please use GetMutableRepeatedFieldRef() instead [-Wdeprecated-declarations]
  176 |       refl->MutableRepeatedField<int64_t>(&extended_message,
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
  177 |                                           fd_repeated_int64_extension);
      |                                           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/google/protobuf/message.h:896:21: note: declared here
  896 |   RepeatedField<T>* MutableRepeatedField(Message* msg,
      |                     ^~~~~~~~~~~~~~~~~~~~
src/google/protobuf/repeated_field_unittest.cc: In member function 'virtual void google::protobuf::{anonymous}::RepeatedFieldInsertionIteratorsTest_Words_Test::TestBody()':
src/google/protobuf/repeated_field_unittest.cc:2510:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::__cxx11::basic_string<char> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
 2510 |   for (int i = 0; i < words.size(); ++i)
      |                   ~~^~~~~~~~~~~~~~
src/google/protobuf/repeated_field_unittest.cc: In member function 'virtual void google::protobuf::{anonymous}::RepeatedFieldInsertionIteratorsTest_Words2_Test::TestBody()':
src/google/protobuf/repeated_field_unittest.cc:2527:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::__cxx11::basic_string<char> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
 2527 |   for (int i = 0; i < words.size(); ++i)
      |                   ~~^~~~~~~~~~~~~~
src/google/protobuf/repeated_field_unittest.cc: In member function 'virtual void google::protobuf::{anonymous}::RepeatedFieldInsertionIteratorsTest_MoveProtos_Test::TestBody()':
src/google/protobuf/repeated_field_unittest.cc:2636:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<protobuf_unittest::TestAllTypes_NestedMessage>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
 2636 |   for (int i = 0; i < src.size(); ++i) {
      |                   ~~^~~~~~~~~~~~
In file included from src/google/protobuf/arena_unittest.cc:59:
src/google/protobuf/test_util.h: In member function 'void google::protobuf::TestUtil::ReflectionTester::RemoveLastRepeatedsViaReflection(google::protobuf::Message*)':
src/google/protobuf/test_util.h:1151:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<const google::protobuf::FieldDescriptor*>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
 1151 |   for (int i = 0; i < output.size(); ++i) {
      |                   ~~^~~~~~~~~~~~~~~
src/google/protobuf/test_util.h: In member function 'void google::protobuf::TestUtil::ReflectionTester::ReleaseLastRepeatedsViaReflection(google::protobuf::Message*, bool)':
src/google/protobuf/test_util.h:1165:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<const google::protobuf::FieldDescriptor*>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
 1165 |   for (int i = 0; i < output.size(); ++i) {
      |                   ~~^~~~~~~~~~~~~~~
src/google/protobuf/test_util.h: In member function 'void google::protobuf::TestUtil::ReflectionTester::SwapRepeatedsViaReflection(google::protobuf::Message*)':
src/google/protobuf/test_util.h:1185:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<const google::protobuf::FieldDescriptor*>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
 1185 |   for (int i = 0; i < output.size(); ++i) {
      |                   ~~^~~~~~~~~~~~~~~
src/google/protobuf/test_util.h: In member function 'void google::protobuf::TestUtil::ReflectionTester::SetAllocatedOptionalMessageFieldsToNullViaReflection(google::protobuf::Message*)':
src/google/protobuf/test_util.h:1200:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<const google::protobuf::FieldDescriptor*>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
 1200 |   for (int i = 0; i < fields.size(); ++i) {
      |                   ~~^~~~~~~~~~~~~~~
src/google/protobuf/test_util.h: In static member function 'static void google::protobuf::TestUtil::ReflectionTester::SetAllocatedOptionalMessageFieldsToMessageViaReflection(google::protobuf::Message*, google::protobuf::Message*)':
src/google/protobuf/test_util.h:1220:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<const google::protobuf::FieldDescriptor*>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
 1220 |   for (int i = 0; i < fields.size(); ++i) {
      |                   ~~^~~~~~~~~~~~~~~
src/google/protobuf/test_util.h: In member function 'void google::protobuf::TestUtil::ReflectionTester::ExpectMessagesReleasedViaReflection(google::protobuf::Message*, MessageReleaseState)':
src/google/protobuf/test_util.h:1242:21: warning: comparison of integer expressions of different signedness: 'int' and 'long unsigned int' [-Wsign-compare]
 1242 |   for (int i = 0; i < ABSL_ARRAYSIZE(fields); i++) {
      |                     ^
In file included from src/google/protobuf/proto3_arena_unittest.cc:39:
src/google/protobuf/test_util.h: In member function 'void google::protobuf::TestUtil::ReflectionTester::RemoveLastRepeatedsViaReflection(google::protobuf::Message*)':
src/google/protobuf/test_util.h:1151:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<const google::protobuf::FieldDescriptor*>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
 1151 |   for (int i = 0; i < output.size(); ++i) {
      |                   ~~^~~~~~~~~~~~~~~
src/google/protobuf/test_util.h: In member function 'void google::protobuf::TestUtil::ReflectionTester::ReleaseLastRepeatedsViaReflection(google::protobuf::Message*, bool)':
src/google/protobuf/test_util.h:1165:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<const google::protobuf::FieldDescriptor*>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
 1165 |   for (int i = 0; i < output.size(); ++i) {
      |                   ~~^~~~~~~~~~~~~~~
src/google/protobuf/test_util.h: In member function 'void google::protobuf::TestUtil::ReflectionTester::SwapRepeatedsViaReflection(google::protobuf::Message*)':
src/google/protobuf/test_util.h:1185:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<const google::protobuf::FieldDescriptor*>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
 1185 |   for (int i = 0; i < output.size(); ++i) {
      |                   ~~^~~~~~~~~~~~~~~
src/google/protobuf/test_util.h: In member function 'void google::protobuf::TestUtil::ReflectionTester::SetAllocatedOptionalMessageFieldsToNullViaReflection(google::protobuf::Message*)':
src/google/protobuf/test_util.h:1200:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<const google::protobuf::FieldDescriptor*>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
 1200 |   for (int i = 0; i < fields.size(); ++i) {
      |                   ~~^~~~~~~~~~~~~~~
src/google/protobuf/test_util.h: In static member function 'static void google::protobuf::TestUtil::ReflectionTester::SetAllocatedOptionalMessageFieldsToMessageViaReflection(google::protobuf::Message*, google::protobuf::Message*)':
src/google/protobuf/test_util.h:1220:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<const google::protobuf::FieldDescriptor*>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
 1220 |   for (int i = 0; i < fields.size(); ++i) {
      |                   ~~^~~~~~~~~~~~~~~
src/google/protobuf/test_util.h: In member function 'void google::protobuf::TestUtil::ReflectionTester::ExpectMessagesReleasedViaReflection(google::protobuf::Message*, MessageReleaseState)':
src/google/protobuf/test_util.h:1242:21: warning: comparison of integer expressions of different signedness: 'int' and 'long unsigned int' [-Wsign-compare]
 1242 |   for (int i = 0; i < ABSL_ARRAYSIZE(fields); i++) {
      |                     ^
In file included from src/google/protobuf/unknown_field_set_unittest.cc:56:
src/google/protobuf/test_util.h: In member function 'void google::protobuf::TestUtil::ReflectionTester::RemoveLastRepeatedsViaReflection(google::protobuf::Message*)':
src/google/protobuf/test_util.h:1151:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<const google::protobuf::FieldDescriptor*>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
 1151 |   for (int i = 0; i < output.size(); ++i) {
      |                   ~~^~~~~~~~~~~~~~~
src/google/protobuf/test_util.h: In member function 'void google::protobuf::TestUtil::ReflectionTester::ReleaseLastRepeatedsViaReflection(google::protobuf::Message*, bool)':
src/google/protobuf/test_util.h:1165:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<const google::protobuf::FieldDescriptor*>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
 1165 |   for (int i = 0; i < output.size(); ++i) {
      |                   ~~^~~~~~~~~~~~~~~
src/google/protobuf/test_util.h: In member function 'void google::protobuf::TestUtil::ReflectionTester::SwapRepeatedsViaReflection(google::protobuf::Message*)':
src/google/protobuf/test_util.h:1185:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<const google::protobuf::FieldDescriptor*>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
 1185 |   for (int i = 0; i < output.size(); ++i) {
      |                   ~~^~~~~~~~~~~~~~~
src/google/protobuf/test_util.h: In member function 'void google::protobuf::TestUtil::ReflectionTester::SetAllocatedOptionalMessageFieldsToNullViaReflection(google::protobuf::Message*)':
src/google/protobuf/test_util.h:1200:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<const google::protobuf::FieldDescriptor*>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
 1200 |   for (int i = 0; i < fields.size(); ++i) {
      |                   ~~^~~~~~~~~~~~~~~
src/google/protobuf/test_util.h: In static member function 'static void google::protobuf::TestUtil::ReflectionTester::SetAllocatedOptionalMessageFieldsToMessageViaReflection(google::protobuf::Message*, google::protobuf::Message*)':
src/google/protobuf/test_util.h:1220:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<const google::protobuf::FieldDescriptor*>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
 1220 |   for (int i = 0; i < fields.size(); ++i) {
      |                   ~~^~~~~~~~~~~~~~~
src/google/protobuf/test_util.h: In member function 'void google::protobuf::TestUtil::ReflectionTester::ExpectMessagesReleasedViaReflection(google::protobuf::Message*, MessageReleaseState)':
src/google/protobuf/test_util.h:1242:21: warning: comparison of integer expressions of different signedness: 'int' and 'long unsigned int' [-Wsign-compare]
 1242 |   for (int i = 0; i < ABSL_ARRAYSIZE(fields); i++) {
      |                     ^
In file included from src/google/protobuf/compiler/cpp/unittest.cc:49:
src/google/protobuf/test_util.h: In member function 'void google::protobuf::TestUtil::ReflectionTester::RemoveLastRepeatedsViaReflection(google::protobuf::Message*)':
src/google/protobuf/test_util.h:1151:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<const google::protobuf::FieldDescriptor*>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
 1151 |   for (int i = 0; i < output.size(); ++i) {
      |                   ~~^~~~~~~~~~~~~~~
src/google/protobuf/test_util.h: In member function 'void google::protobuf::TestUtil::ReflectionTester::ReleaseLastRepeatedsViaReflection(google::protobuf::Message*, bool)':
src/google/protobuf/test_util.h:1165:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<const google::protobuf::FieldDescriptor*>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
 1165 |   for (int i = 0; i < output.size(); ++i) {
      |                   ~~^~~~~~~~~~~~~~~
src/google/protobuf/test_util.h: In member function 'void google::protobuf::TestUtil::ReflectionTester::SwapRepeatedsViaReflection(google::protobuf::Message*)':
src/google/protobuf/test_util.h:1185:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<const google::protobuf::FieldDescriptor*>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
 1185 |   for (int i = 0; i < output.size(); ++i) {
      |                   ~~^~~~~~~~~~~~~~~
src/google/protobuf/test_util.h: In member function 'void google::protobuf::TestUtil::ReflectionTester::SetAllocatedOptionalMessageFieldsToNullViaReflection(google::protobuf::Message*)':
src/google/protobuf/test_util.h:1200:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<const google::protobuf::FieldDescriptor*>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
 1200 |   for (int i = 0; i < fields.size(); ++i) {
      |                   ~~^~~~~~~~~~~~~~~
src/google/protobuf/test_util.h: In static member function 'static void google::protobuf::TestUtil::ReflectionTester::SetAllocatedOptionalMessageFieldsToMessageViaReflection(google::protobuf::Message*, google::protobuf::Message*)':
src/google/protobuf/test_util.h:1220:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<const google::protobuf::FieldDescriptor*>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
 1220 |   for (int i = 0; i < fields.size(); ++i) {
      |                   ~~^~~~~~~~~~~~~~~
src/google/protobuf/test_util.h: In member function 'void google::protobuf::TestUtil::ReflectionTester::ExpectMessagesReleasedViaReflection(google::protobuf::Message*, MessageReleaseState)':
src/google/protobuf/test_util.h:1242:21: warning: comparison of integer expressions of different signedness: 'int' and 'long unsigned int' [-Wsign-compare]
 1242 |   for (int i = 0; i < ABSL_ARRAYSIZE(fields); i++) {
      |                     ^
src/google/protobuf/compiler/command_line_interface_unittest.cc: In member function 'virtual void google::protobuf::compiler::{anonymous}::CommandLineInterfaceTest::TearDown()':
src/google/protobuf/compiler/command_line_interface_unittest.cc:319:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<google::protobuf::compiler::CodeGenerator*>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  319 |   for (int i = 0; i < mock_generators_to_delete_.size(); i++) {
      |                   ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/google/protobuf/compiler/importer_unittest.cc: In member function 'virtual void google::protobuf::compiler::{anonymous}::DiskSourceTreeTest::SetUp()':
src/google/protobuf/compiler/importer_unittest.cc:268:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::__cxx11::basic_string<char> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  268 |     for (int i = 0; i < dirnames_.size(); i++) {
      |                     ~~^~~~~~~~~~~~~~~~~~
src/google/protobuf/compiler/importer_unittest.cc: In member function 'virtual void google::protobuf::compiler::{anonymous}::DiskSourceTreeTest::TearDown()':
src/google/protobuf/compiler/importer_unittest.cc:277:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::__cxx11::basic_string<char> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  277 |     for (int i = 0; i < dirnames_.size(); i++) {
      |                     ~~^~~~~~~~~~~~~~~~~~
In file included from src/google/protobuf/extension_set_unittest.cc:49:
src/google/protobuf/test_util.h: In member function 'void google::protobuf::TestUtil::ReflectionTester::RemoveLastRepeatedsViaReflection(google::protobuf::Message*)':
src/google/protobuf/test_util.h:1151:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<const google::protobuf::FieldDescriptor*>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
 1151 |   for (int i = 0; i < output.size(); ++i) {
      |                   ~~^~~~~~~~~~~~~~~
src/google/protobuf/test_util.h: In member function 'void google::protobuf::TestUtil::ReflectionTester::ReleaseLastRepeatedsViaReflection(google::protobuf::Message*, bool)':
src/google/protobuf/test_util.h:1165:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<const google::protobuf::FieldDescriptor*>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
 1165 |   for (int i = 0; i < output.size(); ++i) {
      |                   ~~^~~~~~~~~~~~~~~
src/google/protobuf/test_util.h: In member function 'void google::protobuf::TestUtil::ReflectionTester::SwapRepeatedsViaReflection(google::protobuf::Message*)':
src/google/protobuf/test_util.h:1185:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<const google::protobuf::FieldDescriptor*>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
 1185 |   for (int i = 0; i < output.size(); ++i) {
      |                   ~~^~~~~~~~~~~~~~~
src/google/protobuf/test_util.h: In member function 'void google::protobuf::TestUtil::ReflectionTester::SetAllocatedOptionalMessageFieldsToNullViaReflection(google::protobuf::Message*)':
src/google/protobuf/test_util.h:1200:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<const google::protobuf::FieldDescriptor*>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
 1200 |   for (int i = 0; i < fields.size(); ++i) {
      |                   ~~^~~~~~~~~~~~~~~
src/google/protobuf/test_util.h: In static member function 'static void google::protobuf::TestUtil::ReflectionTester::SetAllocatedOptionalMessageFieldsToMessageViaReflection(google::protobuf::Message*, google::protobuf::Message*)':
src/google/protobuf/test_util.h:1220:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<const google::protobuf::FieldDescriptor*>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
 1220 |   for (int i = 0; i < fields.size(); ++i) {
      |                   ~~^~~~~~~~~~~~~~~
src/google/protobuf/test_util.h: In member function 'void google::protobuf::TestUtil::ReflectionTester::ExpectMessagesReleasedViaReflection(google::protobuf::Message*, MessageReleaseState)':
src/google/protobuf/test_util.h:1242:21: warning: comparison of integer expressions of different signedness: 'int' and 'long unsigned int' [-Wsign-compare]
 1242 |   for (int i = 0; i < ABSL_ARRAYSIZE(fields); i++) {
      |                     ^
src/google/protobuf/descriptor_unittest.cc: In member function 'virtual void google::protobuf::descriptor_unittest::FileDescriptorTest_DebugStringRoundTrip_Test::TestBody()':
src/google/protobuf/descriptor_unittest.cc:623:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> > >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  623 |   for (int i = 0; i < debug_strings.size(); ++i) {
      |                   ~~^~~~~~~~~~~~~~~~~~~~~~
In file included from src/google/protobuf/text_format_unittest.cc:62:
src/google/protobuf/test_util.h: In member function 'void google::protobuf::TestUtil::ReflectionTester::RemoveLastRepeatedsViaReflection(google::protobuf::Message*)':
src/google/protobuf/test_util.h:1151:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<const google::protobuf::FieldDescriptor*>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
 1151 |   for (int i = 0; i < output.size(); ++i) {
      |                   ~~^~~~~~~~~~~~~~~
src/google/protobuf/test_util.h: In member function 'void google::protobuf::TestUtil::ReflectionTester::ReleaseLastRepeatedsViaReflection(google::protobuf::Message*, bool)':
src/google/protobuf/test_util.h:1165:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<const google::protobuf::FieldDescriptor*>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
 1165 |   for (int i = 0; i < output.size(); ++i) {
      |                   ~~^~~~~~~~~~~~~~~
In file included from src/google/protobuf/generated_message_reflection_unittest.cc:58:
src/google/protobuf/test_util.h: In member function 'void google::protobuf::TestUtil::ReflectionTester::RemoveLastRepeatedsViaReflection(google::protobuf::Message*)':
src/google/protobuf/test_util.h:1151:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<const google::protobuf::FieldDescriptor*>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
 1151 |   for (int i = 0; i < output.size(); ++i) {
      |                   ~~^~~~~~~~~~~~~~~
src/google/protobuf/test_util.h: In member function 'void google::protobuf::TestUtil::ReflectionTester::ReleaseLastRepeatedsViaReflection(google::protobuf::Message*, bool)':
src/google/protobuf/test_util.h:1165:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<const google::protobuf::FieldDescriptor*>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
 1165 |   for (int i = 0; i < output.size(); ++i) {
      |                   ~~^~~~~~~~~~~~~~~
src/google/protobuf/test_util.h: In member function 'void google::protobuf::TestUtil::ReflectionTester::SwapRepeatedsViaReflection(google::protobuf::Message*)':
src/google/protobuf/test_util.h:1185:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<const google::protobuf::FieldDescriptor*>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
 1185 |   for (int i = 0; i < output.size(); ++i) {
      |                   ~~^~~~~~~~~~~~~~~
src/google/protobuf/test_util.h: In member function 'void google::protobuf::TestUtil::ReflectionTester::SwapRepeatedsViaReflection(google::protobuf::Message*)':
src/google/protobuf/test_util.h:1185:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<const google::protobuf::FieldDescriptor*>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
 1185 |   for (int i = 0; i < output.size(); ++i) {
      |                   ~~^~~~~~~~~~~~~~~
src/google/protobuf/test_util.h: In member function 'void google::protobuf::TestUtil::ReflectionTester::SetAllocatedOptionalMessageFieldsToNullViaReflection(google::protobuf::Message*)':
src/google/protobuf/test_util.h:1200:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<const google::protobuf::FieldDescriptor*>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
 1200 |   for (int i = 0; i < fields.size(); ++i) {
      |                   ~~^~~~~~~~~~~~~~~
src/google/protobuf/test_util.h: In member function 'void google::protobuf::TestUtil::ReflectionTester::SetAllocatedOptionalMessageFieldsToNullViaReflection(google::protobuf::Message*)':
src/google/protobuf/test_util.h:1200:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<const google::protobuf::FieldDescriptor*>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
 1200 |   for (int i = 0; i < fields.size(); ++i) {
      |                   ~~^~~~~~~~~~~~~~~
src/google/protobuf/test_util.h: In static member function 'static void google::protobuf::TestUtil::ReflectionTester::SetAllocatedOptionalMessageFieldsToMessageViaReflection(google::protobuf::Message*, google::protobuf::Message*)':
src/google/protobuf/test_util.h:1220:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<const google::protobuf::FieldDescriptor*>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
 1220 |   for (int i = 0; i < fields.size(); ++i) {
      |                   ~~^~~~~~~~~~~~~~~
src/google/protobuf/test_util.h: In static member function 'static void google::protobuf::TestUtil::ReflectionTester::SetAllocatedOptionalMessageFieldsToMessageViaReflection(google::protobuf::Message*, google::protobuf::Message*)':
src/google/protobuf/test_util.h:1220:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<const google::protobuf::FieldDescriptor*>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
 1220 |   for (int i = 0; i < fields.size(); ++i) {
      |                   ~~^~~~~~~~~~~~~~~
src/google/protobuf/test_util.h: In member function 'void google::protobuf::TestUtil::ReflectionTester::ExpectMessagesReleasedViaReflection(google::protobuf::Message*, MessageReleaseState)':
src/google/protobuf/test_util.h:1242:21: warning: comparison of integer expressions of different signedness: 'int' and 'long unsigned int' [-Wsign-compare]
 1242 |   for (int i = 0; i < ABSL_ARRAYSIZE(fields); i++) {
      |                     ^
src/google/protobuf/test_util.h: In member function 'void google::protobuf::TestUtil::ReflectionTester::ExpectMessagesReleasedViaReflection(google::protobuf::Message*, MessageReleaseState)':
src/google/protobuf/test_util.h:1242:21: warning: comparison of integer expressions of different signedness: 'int' and 'long unsigned int' [-Wsign-compare]
 1242 |   for (int i = 0; i < ABSL_ARRAYSIZE(fields); i++) {
      |                     ^
In file included from src/google/protobuf/dynamic_message_unittest.cc:51:
src/google/protobuf/test_util.h: In member function 'void google::protobuf::TestUtil::ReflectionTester::RemoveLastRepeatedsViaReflection(google::protobuf::Message*)':
src/google/protobuf/test_util.h:1151:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<const google::protobuf::FieldDescriptor*>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
 1151 |   for (int i = 0; i < output.size(); ++i) {
      |                   ~~^~~~~~~~~~~~~~~
src/google/protobuf/test_util.h: In member function 'void google::protobuf::TestUtil::ReflectionTester::ReleaseLastRepeatedsViaReflection(google::protobuf::Message*, bool)':
src/google/protobuf/test_util.h:1165:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<const google::protobuf::FieldDescriptor*>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
 1165 |   for (int i = 0; i < output.size(); ++i) {
      |                   ~~^~~~~~~~~~~~~~~
src/google/protobuf/test_util.h: In member function 'void google::protobuf::TestUtil::ReflectionTester::SwapRepeatedsViaReflection(google::protobuf::Message*)':
src/google/protobuf/test_util.h:1185:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<const google::protobuf::FieldDescriptor*>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
 1185 |   for (int i = 0; i < output.size(); ++i) {
      |                   ~~^~~~~~~~~~~~~~~
src/google/protobuf/test_util.h: In member function 'void google::protobuf::TestUtil::ReflectionTester::SetAllocatedOptionalMessageFieldsToNullViaReflection(google::protobuf::Message*)':
src/google/protobuf/test_util.h:1200:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<const google::protobuf::FieldDescriptor*>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
 1200 |   for (int i = 0; i < fields.size(); ++i) {
      |                   ~~^~~~~~~~~~~~~~~
src/google/protobuf/test_util.h: In static member function 'static void google::protobuf::TestUtil::ReflectionTester::SetAllocatedOptionalMessageFieldsToMessageViaReflection(google::protobuf::Message*, google::protobuf::Message*)':
src/google/protobuf/test_util.h:1220:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<const google::protobuf::FieldDescriptor*>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
 1220 |   for (int i = 0; i < fields.size(); ++i) {
      |                   ~~^~~~~~~~~~~~~~~
src/google/protobuf/test_util.h: In member function 'void google::protobuf::TestUtil::ReflectionTester::ExpectMessagesReleasedViaReflection(google::protobuf::Message*, MessageReleaseState)':
src/google/protobuf/test_util.h:1242:21: warning: comparison of integer expressions of different signedness: 'int' and 'long unsigned int' [-Wsign-compare]
 1242 |   for (int i = 0; i < ABSL_ARRAYSIZE(fields); i++) {
      |                     ^
In file included from src/google/protobuf/arena_unittest.cc:50:
src/google/protobuf/arena_test_util.h: In instantiation of 'void google::protobuf::TestParseCorruptedString(const T&) [with T = protobuf_unittest::TestAllTypes; bool use_arena = true]':
src/google/protobuf/arena_unittest.cc:1337:47:   required from here
src/google/protobuf/arena_test_util.h:57:25: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   57 |   for (int i = start; i < s.size(); i += stride) {
      |                       ~~^~~~~~~~~~
src/google/protobuf/arena_test_util.h: In instantiation of 'void google::protobuf::TestParseCorruptedString(const T&) [with T = protobuf_unittest::TestAllTypes; bool use_arena = false]':
src/google/protobuf/arena_unittest.cc:1338:48:   required from here
src/google/protobuf/arena_test_util.h:57:25: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
src/google/protobuf/unknown_field_set_unittest.cc: In function 'void google::protobuf::{anonymous}::CheckDeleteByNumber(const std::vector<int>&, int, const std::vector<int>&)':
src/google/protobuf/unknown_field_set_unittest.cc:641:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  641 |   for (int i = 0; i < field_numbers.size(); ++i) {
      |                   ~~^~~~~~~~~~~~~~~~~~~~~~
src/google/protobuf/unknown_field_set_unittest.cc:646:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  646 |   for (int i = 0; i < expected_field_nubmers.size(); ++i) {
      |                   ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/google/protobuf/compiler/command_line_interface_unittest.cc: In member function 'std::string google::protobuf::compiler::{anonymous}::EncodeDecodeTest::StripCR(const std::string&)':
src/google/protobuf/compiler/command_line_interface_unittest.cc:2659:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
 2659 |     for (int i = 0; i < text.size(); i++) {
      |                     ~~^~~~~~~~~~~~~
src/google/protobuf/compiler/command_line_interface_unittest.cc: In member function 'bool google::protobuf::compiler::{anonymous}::EncodeDecodeTest::Run(const std::string&, bool)':
src/google/protobuf/compiler/command_line_interface_unittest.cc:2694:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::__cxx11::basic_string<char> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
 2694 |     for (int i = 0; i < args.size(); i++) {
      |                     ~~^~~~~~~~~~~~~
src/google/protobuf/repeated_field.h: In instantiation of 'void google::protobuf::RepeatedField< <template-parameter-1-1> >::GrowNoAnnotate(int, int) [with Element = absl::lts_20230125::Cord]':
src/google/protobuf/repeated_field.h:1002:3:   required from 'void google::protobuf::RepeatedField< <template-parameter-1-1> >::Grow(int, int) [with Element = absl::lts_20230125::Cord]'
src/google/protobuf/repeated_field.h:665:5:   required from 'void google::protobuf::RepeatedField< <template-parameter-1-1> >::Add(Element) [with Element = absl::lts_20230125::Cord]'
src/google/protobuf/repeated_field_unittest.cc:994:12:   required from here
src/google/protobuf/repeated_field.h:980:15: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'class absl::lts_20230125::Cord' with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess]
  980 |         memcpy(pnew, pold, current_size * sizeof(Element));
      |         ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from src/google/protobuf/arena_cleanup.h:41,
                 from src/google/protobuf/serial_arena.h:48,
                 from src/google/protobuf/arena.h:54,
                 from src/google/protobuf/repeated_field.h:55:
/usr/include/absl/strings/cord.h:150:7: note: 'class absl::lts_20230125::Cord' declared here
  150 | class Cord {
      |       ^~~~
src/google/protobuf/text_format_unittest.cc: In member function 'virtual void google::protobuf::text_format_unittest::TextFormatTest_DefaultCustomFieldPrinter_Test::TestBody()':
src/google/protobuf/text_format_unittest.cc:475:38: warning: 'void google::protobuf::TextFormat::Printer::SetDefaultFieldValuePrinter(const google::protobuf::TextFormat::FieldValuePrinter*)' is deprecated: Please use FastFieldValuePrinter [-Wdeprecated-declarations]
  475 |   printer.SetDefaultFieldValuePrinter(new CustomUInt32FieldValuePrinter());
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from src/google/protobuf/text_format_unittest.cc:35:
src/google/protobuf/text_format.h:348:10: note: declared here
  348 |     void SetDefaultFieldValuePrinter(const FieldValuePrinter* printer);
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/gtest/gtest-printers.h:115,
                 from /usr/include/gtest/gtest-matchers.h:48,
                 from /usr/include/gtest/internal/gtest-death-test-internal.h:47,
                 from /usr/include/gtest/gtest-death-test.h:43,
                 from /usr/include/gtest/gtest.h:65,
                 from /usr/include/gmock/internal/gmock-internal-utils.h:50,
                 from /usr/include/gmock/gmock-actions.h:145,
                 from /usr/include/gmock/gmock.h:56,
                 from src/google/protobuf/text_format_unittest.cc:48:
src/google/protobuf/text_format_unittest.cc: In member function 'virtual void google::protobuf::text_format_unittest::TextFormatTest_FieldSpecificCustomPrinter_Test::TestBody()':
src/google/protobuf/text_format_unittest.cc:497:48: warning: 'bool google::protobuf::TextFormat::Printer::RegisterFieldValuePrinter(const google::protobuf::FieldDescriptor*, const google::protobuf::TextFormat::FieldValuePrinter*)' is deprecated: Please use FastFieldValuePrinter [-Wdeprecated-declarations]
  497 |   EXPECT_TRUE(printer.RegisterFieldValuePrinter(
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  498 |       message.GetDescriptor()->FindFieldByName("optional_int32"),
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  499 |       new CustomInt32FieldValuePrinter()));
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/google/protobuf/text_format.h:402:10: note: declared here
  402 |     bool RegisterFieldValuePrinter(const FieldDescriptor* field,
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~
src/google/protobuf/text_format_unittest.cc: In member function 'virtual void google::protobuf::text_format_unittest::TextFormatTest_FieldSpecificCustomPrinterRegisterSameFieldTwice_Test::TestBody()':
src/google/protobuf/text_format_unittest.cc:510:48: warning: 'bool google::protobuf::TextFormat::Printer::RegisterFieldValuePrinter(const google::protobuf::FieldDescriptor*, const google::protobuf::TextFormat::FieldValuePrinter*)' is deprecated: Please use FastFieldValuePrinter [-Wdeprecated-declarations]
  510 |   ASSERT_TRUE(printer.RegisterFieldValuePrinter(
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  511 |       field, new CustomInt32FieldValuePrinter()));
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/google/protobuf/text_format.h:402:10: note: declared here
  402 |     bool RegisterFieldValuePrinter(const FieldDescriptor* field,
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~
src/google/protobuf/text_format_unittest.cc:514:49: warning: 'bool google::protobuf::TextFormat::Printer::RegisterFieldValuePrinter(const google::protobuf::FieldDescriptor*, const google::protobuf::TextFormat::FieldValuePrinter*)' is deprecated: Please use FastFieldValuePrinter [-Wdeprecated-declarations]
  514 |   ASSERT_FALSE(printer.RegisterFieldValuePrinter(field, rejected));
      |                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
src/google/protobuf/text_format.h:402:10: note: declared here
  402 |     bool RegisterFieldValuePrinter(const FieldDescriptor* field,
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~
src/google/protobuf/text_format_unittest.cc: In member function 'virtual void google::protobuf::text_format_unittest::TextFormatTest_ErrorCasesRegisteringFieldValuePrinterShouldFail_Test::TestBody()':
src/google/protobuf/text_format_unittest.cc:522:49: warning: 'bool google::protobuf::TextFormat::Printer::RegisterFieldValuePrinter(const google::protobuf::FieldDescriptor*, const google::protobuf::TextFormat::FieldValuePrinter*)' is deprecated: Please use FastFieldValuePrinter [-Wdeprecated-declarations]
  522 |   EXPECT_FALSE(printer.RegisterFieldValuePrinter(
      |                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  523 |       message.GetDescriptor()->FindFieldByName("optional_int32"),
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  524 |       static_cast<const TextFormat::FieldValuePrinter*>(nullptr)));
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/google/protobuf/text_format.h:402:10: note: declared here
  402 |     bool RegisterFieldValuePrinter(const FieldDescriptor* field,
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~
src/google/protobuf/text_format_unittest.cc:531:49: warning: 'bool google::protobuf::TextFormat::Printer::RegisterFieldValuePrinter(const google::protobuf::FieldDescriptor*, const google::protobuf::TextFormat::FieldValuePrinter*)' is deprecated: Please use FastFieldValuePrinter [-Wdeprecated-declarations]
  531 |   EXPECT_FALSE(printer.RegisterFieldValuePrinter(nullptr, &my_field_printer));
      |                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/google/protobuf/text_format.h:402:10: note: declared here
  402 |     bool RegisterFieldValuePrinter(const FieldDescriptor* field,
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~
src/google/protobuf/text_format_unittest.cc: In member function 'virtual void google::protobuf::text_format_unittest::TextFormatTest_CustomPrinterForComments_Test::TestBody()':
src/google/protobuf/text_format_unittest.cc:562:38: warning: 'void google::protobuf::TextFormat::Printer::SetDefaultFieldValuePrinter(const google::protobuf::TextFormat::FieldValuePrinter*)' is deprecated: Please use FastFieldValuePrinter [-Wdeprecated-declarations]
  562 |   printer.SetDefaultFieldValuePrinter(new CustomMessageFieldValuePrinter());
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/google/protobuf/text_format.h:348:10: note: declared here
  348 |     void SetDefaultFieldValuePrinter(const FieldValuePrinter* printer);
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~
src/google/protobuf/text_format_unittest.cc: In member function 'virtual void google::protobuf::text_format_unittest::TextFormatTest_CustomPrinterForMultilineComments_Test::TestBody()':
src/google/protobuf/text_format_unittest.cc:647:38: warning: 'void google::protobuf::TextFormat::Printer::SetDefaultFieldValuePrinter(const google::protobuf::TextFormat::FieldValuePrinter*)' is deprecated: Please use FastFieldValuePrinter [-Wdeprecated-declarations]
  647 |   printer.SetDefaultFieldValuePrinter(new CustomMultilineCommentPrinter());
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/google/protobuf/text_format.h:348:10: note: declared here
  348 |     void SetDefaultFieldValuePrinter(const FieldValuePrinter* printer);
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~
src/google/protobuf/text_format_unittest.cc: In member function 'virtual void google::protobuf::text_format_unittest::MultilineStringPrinter::PrintString(const std::string&, google::protobuf::TextFormat::BaseTextGenerator*) const':
src/google/protobuf/text_format_unittest.cc:739:24: warning: comparison of integer expressions of different signedness: 'int' and 'const std::__cxx11::basic_string<char>::size_type' {aka 'const long unsigned int'} [-Wsign-compare]
  739 |     while (newline_pos != std::string::npos) {
      |            ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
src/google/protobuf/text_format_unittest.cc:746:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  746 |     if (last_pos < val.size()) {
      |         ~~~~~~~~~^~~~~~~~~~~~
src/google/protobuf/io/zero_copy_sink_test.cc: In member function 'bool google::protobuf::io::zc_sink_internal::{anonymous}::ChunkedString::NextPattern()':
src/google/protobuf/io/zero_copy_sink_test.cc:73:18: warning: comparison of integer expressions of different signedness: 'uint64_t' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   73 |     if (pattern_ >= (1 << data_.size())) {
      |         ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
src/google/protobuf/io/tokenizer_unittest.cc: In member function 'virtual void google::protobuf::io::{anonymous}::TokenizerTest_SimpleTokens_DD_SimpleTokens_Test::TestBody()':
src/google/protobuf/io/tokenizer_unittest.cc:104:23: warning: comparison of integer expressions of different signedness: 'int' and 'long unsigned int' [-Wsign-compare]
  104 |     for (int i = 0; i < ABSL_ARRAYSIZE(CASES1); i++) {                      \
      |                       ^
src/google/protobuf/io/tokenizer_unittest.cc:248:1: note: in expansion of macro 'TEST_2D'
  248 | TEST_2D(TokenizerTest, SimpleTokens, kSimpleTokenCases, kBlockSizes) {
      | ^~~~~~~
src/google/protobuf/io/tokenizer_unittest.cc:105:25: warning: comparison of integer expressions of different signedness: 'int' and 'long unsigned int' [-Wsign-compare]
  105 |       for (int j = 0; j < ABSL_ARRAYSIZE(CASES2); j++) {                    \
      |                         ^
src/google/protobuf/io/tokenizer_unittest.cc:248:1: note: in expansion of macro 'TEST_2D'
  248 | TEST_2D(TokenizerTest, SimpleTokens, kSimpleTokenCases, kBlockSizes) {
      | ^~~~~~~
src/google/protobuf/io/tokenizer_unittest.cc: In member function 'virtual void google::protobuf::io::{anonymous}::TokenizerTest_FloatSuffix_DD_FloatSuffix_Test::TestBody()':
src/google/protobuf/io/tokenizer_unittest.cc:85:23: warning: comparison of integer expressions of different signedness: 'int' and 'long unsigned int' [-Wsign-compare]
   85 |     for (int i = 0; i < ABSL_ARRAYSIZE(CASES); i++) {             \
      |                       ^
src/google/protobuf/io/tokenizer_unittest.cc:290:1: note: in expansion of macro 'TEST_1D'
  290 | TEST_1D(TokenizerTest, FloatSuffix, kBlockSizes) {
      | ^~~~~~~
src/google/protobuf/io/tokenizer_unittest.cc: In member function 'virtual void google::protobuf::io::{anonymous}::TokenizerTest_Whitespace_DD_Whitespace_Test::TestBody()':
src/google/protobuf/io/tokenizer_unittest.cc:104:23: warning: comparison of integer expressions of different signedness: 'int' and 'long unsigned int' [-Wsign-compare]
  104 |     for (int i = 0; i < ABSL_ARRAYSIZE(CASES1); i++) {                      \
      |                       ^
src/google/protobuf/io/tokenizer_unittest.cc:332:1: note: in expansion of macro 'TEST_2D'
  332 | TEST_2D(TokenizerTest, Whitespace, kWhitespaceTokenCases, kBlockSizes) {
      | ^~~~~~~
src/google/protobuf/io/tokenizer_unittest.cc:105:25: warning: comparison of integer expressions of different signedness: 'int' and 'long unsigned int' [-Wsign-compare]
  105 |       for (int j = 0; j < ABSL_ARRAYSIZE(CASES2); j++) {                    \
      |                         ^
src/google/protobuf/io/tokenizer_unittest.cc:332:1: note: in expansion of macro 'TEST_2D'
  332 | TEST_2D(TokenizerTest, Whitespace, kWhitespaceTokenCases, kBlockSizes) {
      | ^~~~~~~
src/google/protobuf/io/tokenizer_unittest.cc: In member function 'virtual void google::protobuf::io::{anonymous}::TokenizerTest_MultipleTokens_DD_MultipleTokens_Test::TestBody()':
src/google/protobuf/io/tokenizer_unittest.cc:104:23: warning: comparison of integer expressions of different signedness: 'int' and 'long unsigned int' [-Wsign-compare]
  104 |     for (int i = 0; i < ABSL_ARRAYSIZE(CASES1); i++) {                      \
      |                       ^
src/google/protobuf/io/tokenizer_unittest.cc:467:1: note: in expansion of macro 'TEST_2D'
  467 | TEST_2D(TokenizerTest, MultipleTokens, kMultiTokenCases, kBlockSizes) {
      | ^~~~~~~
src/google/protobuf/io/tokenizer_unittest.cc:105:25: warning: comparison of integer expressions of different signedness: 'int' and 'long unsigned int' [-Wsign-compare]
  105 |       for (int j = 0; j < ABSL_ARRAYSIZE(CASES2); j++) {                    \
      |                         ^
src/google/protobuf/io/tokenizer_unittest.cc:467:1: note: in expansion of macro 'TEST_2D'
  467 | TEST_2D(TokenizerTest, MultipleTokens, kMultiTokenCases, kBlockSizes) {
      | ^~~~~~~
src/google/protobuf/io/tokenizer_unittest.cc: In member function 'virtual void google::protobuf::io::{anonymous}::TokenizerTest_MultipleWhitespaceTokens_DD_MultipleWhitespaceTokens_Test::TestBody()':
src/google/protobuf/io/tokenizer_unittest.cc:104:23: warning: comparison of integer expressions of different signedness: 'int' and 'long unsigned int' [-Wsign-compare]
  104 |     for (int i = 0; i < ABSL_ARRAYSIZE(CASES1); i++) {                      \
      |                       ^
src/google/protobuf/io/tokenizer_unittest.cc:538:1: note: in expansion of macro 'TEST_2D'
  538 | TEST_2D(TokenizerTest, MultipleWhitespaceTokens, kMultiWhitespaceTokenCases,
      | ^~~~~~~
src/google/protobuf/io/tokenizer_unittest.cc:105:25: warning: comparison of integer expressions of different signedness: 'int' and 'long unsigned int' [-Wsign-compare]
  105 |       for (int j = 0; j < ABSL_ARRAYSIZE(CASES2); j++) {                    \
      |                         ^
src/google/protobuf/io/tokenizer_unittest.cc:538:1: note: in expansion of macro 'TEST_2D'
  538 | TEST_2D(TokenizerTest, MultipleWhitespaceTokens, kMultiWhitespaceTokenCases,
      | ^~~~~~~
src/google/protobuf/io/tokenizer_unittest.cc: In member function 'virtual void google::protobuf::io::{anonymous}::TokenizerTest_ShCommentStyle_DD_ShCommentStyle_Test::TestBody()':
src/google/protobuf/io/tokenizer_unittest.cc:85:23: warning: comparison of integer expressions of different signedness: 'int' and 'long unsigned int' [-Wsign-compare]
   85 |     for (int i = 0; i < ABSL_ARRAYSIZE(CASES); i++) {             \
      |                       ^
src/google/protobuf/io/tokenizer_unittest.cc:597:1: note: in expansion of macro 'TEST_1D'
  597 | TEST_1D(TokenizerTest, ShCommentStyle, kBlockSizes) {
      | ^~~~~~~
src/google/protobuf/io/tokenizer_unittest.cc: In member function 'virtual void google::protobuf::io::{anonymous}::TokenizerTest_DocComments_DD_DocComments_Test::TestBody()':
src/google/protobuf/io/tokenizer_unittest.cc:104:23: warning: comparison of integer expressions of different signedness: 'int' and 'long unsigned int' [-Wsign-compare]
  104 |     for (int i = 0; i < ABSL_ARRAYSIZE(CASES1); i++) {                      \
      |                       ^
src/google/protobuf/io/tokenizer_unittest.cc:839:1: note: in expansion of macro 'TEST_2D'
  839 | TEST_2D(TokenizerTest, DocComments, kDocCommentCases, kBlockSizes) {
      | ^~~~~~~
src/google/protobuf/io/tokenizer_unittest.cc:105:25: warning: comparison of integer expressions of different signedness: 'int' and 'long unsigned int' [-Wsign-compare]
  105 |       for (int j = 0; j < ABSL_ARRAYSIZE(CASES2); j++) {                    \
      |                         ^
src/google/protobuf/io/tokenizer_unittest.cc:839:1: note: in expansion of macro 'TEST_2D'
  839 | TEST_2D(TokenizerTest, DocComments, kDocCommentCases, kBlockSizes) {
      | ^~~~~~~
src/google/protobuf/io/tokenizer_unittest.cc: In member function 'virtual void google::protobuf::io::{anonymous}::TokenizerTest_Errors_DD_Errors_Test::TestBody()':
src/google/protobuf/io/tokenizer_unittest.cc:104:23: warning: comparison of integer expressions of different signedness: 'int' and 'long unsigned int' [-Wsign-compare]
  104 |     for (int i = 0; i < ABSL_ARRAYSIZE(CASES1); i++) {                      \
      |                       ^
src/google/protobuf/io/tokenizer_unittest.cc:1207:1: note: in expansion of macro 'TEST_2D'
 1207 | TEST_2D(TokenizerTest, Errors, kErrorCases, kBlockSizes) {
      | ^~~~~~~
src/google/protobuf/io/tokenizer_unittest.cc:105:25: warning: comparison of integer expressions of different signedness: 'int' and 'long unsigned int' [-Wsign-compare]
  105 |       for (int j = 0; j < ABSL_ARRAYSIZE(CASES2); j++) {                    \
      |                         ^
src/google/protobuf/io/tokenizer_unittest.cc:1207:1: note: in expansion of macro 'TEST_2D'
 1207 | TEST_2D(TokenizerTest, Errors, kErrorCases, kBlockSizes) {
      | ^~~~~~~
src/google/protobuf/io/tokenizer_unittest.cc: In member function 'virtual void google::protobuf::io::{anonymous}::TokenizerTest_BackUpOnDestruction_DD_BackUpOnDestruction_Test::TestBody()':
src/google/protobuf/io/tokenizer_unittest.cc:85:23: warning: comparison of integer expressions of different signedness: 'int' and 'long unsigned int' [-Wsign-compare]
   85 |     for (int i = 0; i < ABSL_ARRAYSIZE(CASES); i++) {             \
      |                       ^
src/google/protobuf/io/tokenizer_unittest.cc:1231:1: note: in expansion of macro 'TEST_1D'
 1231 | TEST_1D(TokenizerTest, BackUpOnDestruction, kBlockSizes) {
      | ^~~~~~~
src/google/protobuf/io/tokenizer_unittest.cc: In instantiation of 'void google::protobuf::io::{anonymous}::TokenizerTest_ShCommentStyle_DD::DoSingleCase(const CaseType&) [with CaseType = int]':
src/google/protobuf/io/tokenizer_unittest.cc:597:1:   required from here
src/google/protobuf/io/tokenizer_unittest.cc:616:21: warning: comparison of integer expressions of different signedness: 'int' and 'long unsigned int' [-Wsign-compare]
  616 |   for (int i = 0; i < ABSL_ARRAYSIZE(kTokens); i++) {
      |                     ^
src/google/protobuf/io/tokenizer_unittest.cc: In instantiation of 'void google::protobuf::io::{anonymous}::TokenizerTest_DocComments_DD::DoSingleCase(const CaseType1&, const CaseType2&) [with CaseType1 = google::protobuf::io::{anonymous}::DocCommentCase; CaseType2 = int]':
src/google/protobuf/io/tokenizer_unittest.cc:839:1:   required from here
src/google/protobuf/io/tokenizer_unittest.cc:871:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::__cxx11::basic_string<char> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  871 |   for (int i = 0; i < detached_comments.size(); i++) {
      |                   ~~^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from src/google/protobuf/map_test.cc:50:
src/google/protobuf/map_test.inc: In function 'void google::protobuf::internal::{anonymous}::StressTestIterators(int)':
src/google/protobuf/map_test.inc:575:19: warning: comparison of integer expressions of different signedness: 'google::protobuf::internal::UntypedMapBase::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
  575 |   while (m.size() < n) {
      |          ~~~~~~~~~^~~
src/google/protobuf/map_test.inc: In member function 'virtual void google::protobuf::internal::{anonymous}::MapImplTest_EraseRevalidates_Test::TestBody()':
src/google/protobuf/map_test.inc:665:31: warning: comparison of integer expressions of different signedness: 'google::protobuf::internal::UntypedMapBase::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
  665 |   for (int i = 0; map_.size() <= initial_size * 20; i++) {
      |                   ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
src/google/protobuf/map_test.inc:673:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<google::protobuf::Map<int, int>::iterator>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  673 |   for (int i = 0; i < v.size(); i++) {
      |                   ~~^~~~~~~~~~
src/google/protobuf/map_test.inc: In member function 'virtual void google::protobuf::internal::{anonymous}::MapFieldReflectionTest_RegularFields_Test::TestBody()':
src/google/protobuf/map_test.inc:1525:41: warning: 'const google::protobuf::RepeatedPtrField<Element>& google::protobuf::Reflection::GetRepeatedPtrField(const google::protobuf::Message&, const google::protobuf::FieldDescriptor*) const [with T = google::protobuf::Message]' is deprecated: Please use GetRepeatedFieldRef() instead [-Wdeprecated-declarations]
 1525 |       refl->GetRepeatedPtrField<Message>(message, fd_map_int32_int32);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from src/google/protobuf/map_proto2_unittest.pb.h:30,
                 from src/google/protobuf/map_test.cc:34:
src/google/protobuf/message.h:907:30: note: declared here
  907 |   const RepeatedPtrField<T>& GetRepeatedPtrField(
      |                              ^~~~~~~~~~~~~~~~~~~
src/google/protobuf/map_test.inc:1527:41: warning: 'const google::protobuf::RepeatedPtrField<Element>& google::protobuf::Reflection::GetRepeatedPtrField(const google::protobuf::Message&, const google::protobuf::FieldDescriptor*) const [with T = google::protobuf::Message]' is deprecated: Please use GetRepeatedFieldRef() instead [-Wdeprecated-declarations]
 1527 |       refl->GetRepeatedPtrField<Message>(message, fd_map_int32_double);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/google/protobuf/message.h:907:30: note: declared here
  907 |   const RepeatedPtrField<T>& GetRepeatedPtrField(
      |                              ^~~~~~~~~~~~~~~~~~~
src/google/protobuf/map_test.inc:1529:41: warning: 'const google::protobuf::RepeatedPtrField<Element>& google::protobuf::Reflection::GetRepeatedPtrField(const google::protobuf::Message&, const google::protobuf::FieldDescriptor*) const [with T = google::protobuf::Message]' is deprecated: Please use GetRepeatedFieldRef() instead [-Wdeprecated-declarations]
 1529 |       refl->GetRepeatedPtrField<Message>(message, fd_map_string_string);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/google/protobuf/message.h:907:30: note: declared here
  907 |   const RepeatedPtrField<T>& GetRepeatedPtrField(
      |                              ^~~~~~~~~~~~~~~~~~~
src/google/protobuf/map_test.inc:1531:41: warning: 'const google::protobuf::RepeatedPtrField<Element>& google::protobuf::Reflection::GetRepeatedPtrField(const google::protobuf::Message&, const google::protobuf::FieldDescriptor*) const [with T = google::protobuf::Message]' is deprecated: Please use GetRepeatedFieldRef() instead [-Wdeprecated-declarations]
 1531 |       refl->GetRepeatedPtrField<Message>(message, fd_map_int32_foreign_message);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/google/protobuf/message.h:907:30: note: declared here
  907 |   const RepeatedPtrField<T>& GetRepeatedPtrField(
      |                              ^~~~~~~~~~~~~~~~~~~
src/google/protobuf/map_test.inc:1535:45: warning: 'google::protobuf::RepeatedPtrField<Element>* google::protobuf::Reflection::MutableRepeatedPtrField(google::protobuf::Message*, const google::protobuf::FieldDescriptor*) const [with T = google::protobuf::Message]' is deprecated: Please use GetMutableRepeatedFieldRef() instead [-Wdeprecated-declarations]
 1535 |       refl->MutableRepeatedPtrField<Message>(&message, fd_map_int32_int32);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/google/protobuf/message.h:918:24: note: declared here
  918 |   RepeatedPtrField<T>* MutableRepeatedPtrField(Message* msg,
      |                        ^~~~~~~~~~~~~~~~~~~~~~~
src/google/protobuf/map_test.inc:1537:45: warning: 'google::protobuf::RepeatedPtrField<Element>* google::protobuf::Reflection::MutableRepeatedPtrField(google::protobuf::Message*, const google::protobuf::FieldDescriptor*) const [with T = google::protobuf::Message]' is deprecated: Please use GetMutableRepeatedFieldRef() instead [-Wdeprecated-declarations]
 1537 |       refl->MutableRepeatedPtrField<Message>(&message, fd_map_int32_double);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/google/protobuf/message.h:918:24: note: declared here
  918 |   RepeatedPtrField<T>* MutableRepeatedPtrField(Message* msg,
      |                        ^~~~~~~~~~~~~~~~~~~~~~~
src/google/protobuf/map_test.inc:1539:45: warning: 'google::protobuf::RepeatedPtrField<Element>* google::protobuf::Reflection::MutableRepeatedPtrField(google::protobuf::Message*, const google::protobuf::FieldDescriptor*) const [with T = google::protobuf::Message]' is deprecated: Please use GetMutableRepeatedFieldRef() instead [-Wdeprecated-declarations]
 1539 |       refl->MutableRepeatedPtrField<Message>(&message, fd_map_string_string);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/google/protobuf/message.h:918:24: note: declared here
  918 |   RepeatedPtrField<T>* MutableRepeatedPtrField(Message* msg,
      |                        ^~~~~~~~~~~~~~~~~~~~~~~
src/google/protobuf/map_test.inc:1541:45: warning: 'google::protobuf::RepeatedPtrField<Element>* google::protobuf::Reflection::MutableRepeatedPtrField(google::protobuf::Message*, const google::protobuf::FieldDescriptor*) const [with T = google::protobuf::Message]' is deprecated: Please use GetMutableRepeatedFieldRef() instead [-Wdeprecated-declarations]
 1541 |       refl->MutableRepeatedPtrField<Message>(&message,
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~
 1542 |                                              fd_map_int32_foreign_message);
      |                                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/google/protobuf/message.h:918:24: note: declared here
  918 |   RepeatedPtrField<T>* MutableRepeatedPtrField(Message* msg,
      |                        ^~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/gtest/gtest.h:72,
                 from src/google/protobuf/test_util.inc:41,
                 from src/google/protobuf/map_test.cc:48:
src/google/protobuf/map_test.inc: In member function 'virtual void google::protobuf::internal::{anonymous}::MapEntryTest_ConstInit_Test::TestBody()':
src/google/protobuf/map_test.inc:2345:28: warning: 'int google::protobuf::Message::SpaceUsed() const' is deprecated: Please use SpaceUsedLong() instead [-Wdeprecated-declarations]
 2345 |   EXPECT_NE(entry.SpaceUsed(), 0);
      |             ~~~~~~~~~~~~~~~^~
src/google/protobuf/message.h:319:7: note: declared here
  319 |   int SpaceUsed() const { return internal::ToIntSize(SpaceUsedLong()); }
      |       ^~~~~~~~~
src/google/protobuf/map_test.inc: In member function 'virtual void google::protobuf::internal::{anonymous}::GeneratedMapFieldTest_SpaceUsed_Test::TestBody()':
src/google/protobuf/map_test.inc:2940:47: warning: 'int google::protobuf::Message::SpaceUsed() const' is deprecated: Please use SpaceUsedLong() instead [-Wdeprecated-declarations]
 2940 |   const size_t initial = map_message.SpaceUsed();
      |                          ~~~~~~~~~~~~~~~~~~~~~^~
src/google/protobuf/message.h:319:7: note: declared here
  319 |   int SpaceUsed() const { return internal::ToIntSize(SpaceUsedLong()); }
      |       ^~~~~~~~~
src/google/protobuf/map_test.inc:2941:71: warning: 'int google::protobuf::Message::SpaceUsed() const' is deprecated: Please use SpaceUsedLong() instead [-Wdeprecated-declarations]
 2941 |   const size_t space_used_message = UNITTEST::TestRequired().SpaceUsed();
src/google/protobuf/message.h:319:7: note: declared here
  319 |   int SpaceUsed() const { return internal::ToIntSize(SpaceUsedLong()); }
      |       ^~~~~~~~~
src/google/protobuf/map_test.inc:2956:47: warning: 'int google::protobuf::Message::SpaceUsed() const' is deprecated: Please use SpaceUsedLong() instead [-Wdeprecated-declarations]
 2956 |   EXPECT_LE(lower_bound, map_message.SpaceUsed());
      |                          ~~~~~~~~~~~~~~~~~~~~~^~
src/google/protobuf/message.h:319:7: note: declared here
  319 |   int SpaceUsed() const { return internal::ToIntSize(SpaceUsedLong()); }
      |       ^~~~~~~~~
In file included from /usr/include/gtest/gtest-printers.h:115,
                 from /usr/include/gtest/gtest-matchers.h:48,
                 from /usr/include/gtest/internal/gtest-death-test-internal.h:47,
                 from /usr/include/gtest/gtest-death-test.h:43,
                 from /usr/include/gtest/gtest.h:65:
src/google/protobuf/map_test.inc: In member function 'virtual void google::protobuf::internal::{anonymous}::WireFormatForMapFieldTest_MapByteSizeDynamicMessage_Test::TestBody()':
src/google/protobuf/map_test.inc:3597:30: warning: comparison of integer expressions of different signedness: 'size_t' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
 3597 |   EXPECT_TRUE(duplicate_size > expected_size);
      |               ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
src/google/protobuf/map_test.inc: In member function 'virtual void google::protobuf::internal::{anonymous}::TextFormatMapTest_NoDisableReflectionIterator_Test::TestBody()':
src/google/protobuf/map_test.inc:3958:51: warning: 'google::protobuf::RepeatedPtrField<Element>* google::protobuf::Reflection::MutableRepeatedPtrField(google::protobuf::Message*, const google::protobuf::FieldDescriptor*) const [with T = google::protobuf::Message]' is deprecated: Please use GetMutableRepeatedFieldRef() instead [-Wdeprecated-declarations]
 3958 |       reflection->MutableRepeatedPtrField<Message>(&source, field_desc);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
src/google/protobuf/message.h:918:24: note: declared here
  918 |   RepeatedPtrField<T>* MutableRepeatedPtrField(Message* msg,
      |                        ^~~~~~~~~~~~~~~~~~~~~~~
src/google/protobuf/map_test.inc: In member function 'virtual void google::protobuf::internal::{anonymous}::ArenaTest_StringMapNoLeak_Test::TestBody()':
src/google/protobuf/map_test.inc:4049:26: warning: comparison of integer expressions of different signedness: 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
 4049 |   while (data.capacity() <= original_capacity) {
      |          ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
src/google/protobuf/map_test.inc: In instantiation of 'void google::protobuf::internal::{anonymous}::TestOldVersusNewIterator(int, google::protobuf::Map<int, int>*) [with IteratorType = google::protobuf::Map<int, int>::const_iterator]':
src/google/protobuf/map_test.inc:604:58:   required from here
src/google/protobuf/map_test.inc:543:29: warning: comparison of integer expressions of different signedness: 'google::protobuf::internal::UntypedMapBase::size_type' {aka 'long unsigned int'} and 'const int' [-Wsign-compare]
  543 |   for (int i = 0; m->size() <= target_size; i++) {
      |                   ~~~~~~~~~~^~~~~~~~~~~~~~
src/google/protobuf/map_test.inc: In instantiation of 'void google::protobuf::internal::{anonymous}::TestOldVersusNewIterator(int, google::protobuf::Map<int, int>*) [with IteratorType = google::protobuf::Map<int, int>::iterator]':
src/google/protobuf/map_test.inc:605:52:   required from here
src/google/protobuf/map_test.inc:543:29: warning: comparison of integer expressions of different signedness: 'google::protobuf::internal::UntypedMapBase::size_type' {aka 'long unsigned int'} and 'const int' [-Wsign-compare]
In file included from src/google/protobuf/map_test.inc:58:
src/google/protobuf/arena_test_util.h: In instantiation of 'void google::protobuf::TestParseCorruptedString(const T&) [with T = protobuf_unittest::TestMaps; bool use_arena = true]':
src/google/protobuf/map_test.inc:3910:53:   required from here
src/google/protobuf/arena_test_util.h:57:25: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   57 |   for (int i = start; i < s.size(); i += stride) {
      |                       ~~^~~~~~~~~~
src/google/protobuf/arena_test_util.h: In instantiation of 'void google::protobuf::TestParseCorruptedString(const T&) [with T = protobuf_unittest::TestMaps; bool use_arena = false]':
src/google/protobuf/map_test.inc:3911:54:   required from here
src/google/protobuf/arena_test_util.h:57:25: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
src/google/protobuf/reflection_tester.cc: In member function 'void google::protobuf::MapReflectionTester::RemoveLastMapsViaReflection(google::protobuf::Message*)':
src/google/protobuf/reflection_tester.cc:774:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<const google::protobuf::FieldDescriptor*>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  774 |   for (int i = 0; i < output.size(); ++i) {
      |                   ~~^~~~~~~~~~~~~~~
src/google/protobuf/reflection_tester.cc: In member function 'void google::protobuf::MapReflectionTester::ReleaseLastMapsViaReflection(google::protobuf::Message*)':
src/google/protobuf/reflection_tester.cc:786:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<const google::protobuf::FieldDescriptor*>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  786 |   for (int i = 0; i < output.size(); ++i) {
      |                   ~~^~~~~~~~~~~~~~~
src/google/protobuf/reflection_tester.cc: In member function 'void google::protobuf::MapReflectionTester::SwapMapsViaReflection(google::protobuf::Message*)':
src/google/protobuf/reflection_tester.cc:802:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<const google::protobuf::FieldDescriptor*>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  802 |   for (int i = 0; i < output.size(); ++i) {
      |                   ~~^~~~~~~~~~~~~~~
src/google/protobuf/compiler/parser_unittest.cc: In member function 'virtual void google::protobuf::compiler::{anonymous}::ParseDescriptorDebugTest_TestCommentsInDebugString_Test::TestBody()':
src/google/protobuf/compiler/parser_unittest.cc:2620:23: warning: comparison of integer expressions of different signedness: 'int' and 'long unsigned int' [-Wsign-compare]
 2620 |     for (int i = 0; i < ABSL_ARRAYSIZE(expected_comments); ++i) {
      |                       ^
src/google/protobuf/compiler/annotation_test_util.cc: In function 'void google::protobuf::compiler::annotation_test_util::FindAnnotationsOnPath(const google::protobuf::GeneratedCodeInfo&, const std::string&, const std::vector<int>&, std::vector<const google::protobuf::GeneratedCodeInfo_Annotation*>*)':
src/google/protobuf/compiler/annotation_test_util.cc:111:33: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  111 |         annotation->path_size() != path.size()) {
      |         ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
src/google/protobuf/compiler/annotation_test_util.cc:115:17: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  115 |     for (; node < path.size(); ++node) {
      |            ~~~~~^~~~~~~~~~~~~
src/google/protobuf/compiler/annotation_test_util.cc:120:14: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  120 |     if (node == path.size()) {
      |         ~~~~~^~~~~~~~~~~~~~
src/google/protobuf/compiler/annotation_test_util.cc: In function 'std::optional<std::basic_string_view<char> > google::protobuf::compiler::annotation_test_util::GetAnnotationSubstring(absl::lts_20230125::string_view, const google::protobuf::GeneratedCodeInfo::Annotation&)':
src/google/protobuf/compiler/annotation_test_util.cc:172:39: warning: comparison of integer expressions of different signedness: 'int' and 'std::basic_string_view<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  172 |   if (begin < 0 || end < begin || end > file_content.size()) {
      |                                   ~~~~^~~~~~~~~~~~~~~~~~~~~
In file included from src/google/protobuf/util/field_mask_util_test.cc:39:
src/google/protobuf/test_util.h: In member function 'void google::protobuf::TestUtil::ReflectionTester::RemoveLastRepeatedsViaReflection(google::protobuf::Message*)':
src/google/protobuf/test_util.h:1151:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<const google::protobuf::FieldDescriptor*>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
 1151 |   for (int i = 0; i < output.size(); ++i) {
      |                   ~~^~~~~~~~~~~~~~~
src/google/protobuf/test_util.h: In member function 'void google::protobuf::TestUtil::ReflectionTester::ReleaseLastRepeatedsViaReflection(google::protobuf::Message*, bool)':
src/google/protobuf/test_util.h:1165:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<const google::protobuf::FieldDescriptor*>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
 1165 |   for (int i = 0; i < output.size(); ++i) {
      |                   ~~^~~~~~~~~~~~~~~
src/google/protobuf/test_util.h: In member function 'void google::protobuf::TestUtil::ReflectionTester::SwapRepeatedsViaReflection(google::protobuf::Message*)':
src/google/protobuf/test_util.h:1185:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<const google::protobuf::FieldDescriptor*>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
 1185 |   for (int i = 0; i < output.size(); ++i) {
      |                   ~~^~~~~~~~~~~~~~~
src/google/protobuf/test_util.h: In member function 'void google::protobuf::TestUtil::ReflectionTester::SetAllocatedOptionalMessageFieldsToNullViaReflection(google::protobuf::Message*)':
src/google/protobuf/test_util.h:1200:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<const google::protobuf::FieldDescriptor*>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
 1200 |   for (int i = 0; i < fields.size(); ++i) {
      |                   ~~^~~~~~~~~~~~~~~
src/google/protobuf/test_util.h: In static member function 'static void google::protobuf::TestUtil::ReflectionTester::SetAllocatedOptionalMessageFieldsToMessageViaReflection(google::protobuf::Message*, google::protobuf::Message*)':
src/google/protobuf/test_util.h:1220:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<const google::protobuf::FieldDescriptor*>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
 1220 |   for (int i = 0; i < fields.size(); ++i) {
      |                   ~~^~~~~~~~~~~~~~~
src/google/protobuf/test_util.h: In member function 'void google::protobuf::TestUtil::ReflectionTester::ExpectMessagesReleasedViaReflection(google::protobuf::Message*, MessageReleaseState)':
src/google/protobuf/test_util.h:1242:21: warning: comparison of integer expressions of different signedness: 'int' and 'long unsigned int' [-Wsign-compare]
 1242 |   for (int i = 0; i < ABSL_ARRAYSIZE(fields); i++) {
      |                     ^
In file included from src/google/protobuf/util/delimited_message_util_test.cc:40:
src/google/protobuf/test_util.h: In member function 'void google::protobuf::TestUtil::ReflectionTester::RemoveLastRepeatedsViaReflection(google::protobuf::Message*)':
src/google/protobuf/test_util.h:1151:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<const google::protobuf::FieldDescriptor*>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
 1151 |   for (int i = 0; i < output.size(); ++i) {
      |                   ~~^~~~~~~~~~~~~~~
src/google/protobuf/test_util.h: In member function 'void google::protobuf::TestUtil::ReflectionTester::ReleaseLastRepeatedsViaReflection(google::protobuf::Message*, bool)':
src/google/protobuf/test_util.h:1165:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<const google::protobuf::FieldDescriptor*>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
 1165 |   for (int i = 0; i < output.size(); ++i) {
      |                   ~~^~~~~~~~~~~~~~~
src/google/protobuf/test_util.h: In member function 'void google::protobuf::TestUtil::ReflectionTester::SwapRepeatedsViaReflection(google::protobuf::Message*)':
src/google/protobuf/test_util.h:1185:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<const google::protobuf::FieldDescriptor*>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
 1185 |   for (int i = 0; i < output.size(); ++i) {
      |                   ~~^~~~~~~~~~~~~~~
src/google/protobuf/test_util.h: In member function 'void google::protobuf::TestUtil::ReflectionTester::SetAllocatedOptionalMessageFieldsToNullViaReflection(google::protobuf::Message*)':
src/google/protobuf/test_util.h:1200:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<const google::protobuf::FieldDescriptor*>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
 1200 |   for (int i = 0; i < fields.size(); ++i) {
      |                   ~~^~~~~~~~~~~~~~~
src/google/protobuf/test_util.h: In static member function 'static void google::protobuf::TestUtil::ReflectionTester::SetAllocatedOptionalMessageFieldsToMessageViaReflection(google::protobuf::Message*, google::protobuf::Message*)':
src/google/protobuf/test_util.h:1220:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<const google::protobuf::FieldDescriptor*>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
 1220 |   for (int i = 0; i < fields.size(); ++i) {
      |                   ~~^~~~~~~~~~~~~~~
src/google/protobuf/test_util.h: In member function 'void google::protobuf::TestUtil::ReflectionTester::ExpectMessagesReleasedViaReflection(google::protobuf::Message*, MessageReleaseState)':
src/google/protobuf/test_util.h:1242:21: warning: comparison of integer expressions of different signedness: 'int' and 'long unsigned int' [-Wsign-compare]
 1242 |   for (int i = 0; i < ABSL_ARRAYSIZE(fields); i++) {
      |                     ^
In file included from src/google/protobuf/test_util.cc:41:
src/google/protobuf/test_util.h: In member function 'void google::protobuf::TestUtil::ReflectionTester::RemoveLastRepeatedsViaReflection(google::protobuf::Message*)':
src/google/protobuf/test_util.h:1151:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<const google::protobuf::FieldDescriptor*>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
 1151 |   for (int i = 0; i < output.size(); ++i) {
      |                   ~~^~~~~~~~~~~~~~~
src/google/protobuf/test_util.h: In member function 'void google::protobuf::TestUtil::ReflectionTester::ReleaseLastRepeatedsViaReflection(google::protobuf::Message*, bool)':
src/google/protobuf/test_util.h:1165:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<const google::protobuf::FieldDescriptor*>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
 1165 |   for (int i = 0; i < output.size(); ++i) {
      |                   ~~^~~~~~~~~~~~~~~
src/google/protobuf/test_util.h: In member function 'void google::protobuf::TestUtil::ReflectionTester::SwapRepeatedsViaReflection(google::protobuf::Message*)':
src/google/protobuf/test_util.h:1185:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<const google::protobuf::FieldDescriptor*>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
 1185 |   for (int i = 0; i < output.size(); ++i) {
      |                   ~~^~~~~~~~~~~~~~~
src/google/protobuf/test_util.h: In member function 'void google::protobuf::TestUtil::ReflectionTester::SetAllocatedOptionalMessageFieldsToNullViaReflection(google::protobuf::Message*)':
src/google/protobuf/test_util.h:1200:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<const google::protobuf::FieldDescriptor*>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
 1200 |   for (int i = 0; i < fields.size(); ++i) {
      |                   ~~^~~~~~~~~~~~~~~
src/google/protobuf/test_util.h: In static member function 'static void google::protobuf::TestUtil::ReflectionTester::SetAllocatedOptionalMessageFieldsToMessageViaReflection(google::protobuf::Message*, google::protobuf::Message*)':
src/google/protobuf/test_util.h:1220:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<const google::protobuf::FieldDescriptor*>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
 1220 |   for (int i = 0; i < fields.size(); ++i) {
      |                   ~~^~~~~~~~~~~~~~~
src/google/protobuf/test_util.h: In member function 'void google::protobuf::TestUtil::ReflectionTester::ExpectMessagesReleasedViaReflection(google::protobuf::Message*, MessageReleaseState)':
src/google/protobuf/test_util.h:1242:21: warning: comparison of integer expressions of different signedness: 'int' and 'long unsigned int' [-Wsign-compare]
 1242 |   for (int i = 0; i < ABSL_ARRAYSIZE(fields); i++) {
      |                     ^
In file included from src/google/protobuf/util/message_differencer_unittest.cc:56:
src/google/protobuf/test_util.h: In member function 'void google::protobuf::TestUtil::ReflectionTester::RemoveLastRepeatedsViaReflection(google::protobuf::Message*)':
src/google/protobuf/test_util.h:1151:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<const google::protobuf::FieldDescriptor*>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
 1151 |   for (int i = 0; i < output.size(); ++i) {
      |                   ~~^~~~~~~~~~~~~~~
src/google/protobuf/test_util.h: In member function 'void google::protobuf::TestUtil::ReflectionTester::ReleaseLastRepeatedsViaReflection(google::protobuf::Message*, bool)':
src/google/protobuf/test_util.h:1165:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<const google::protobuf::FieldDescriptor*>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
 1165 |   for (int i = 0; i < output.size(); ++i) {
      |                   ~~^~~~~~~~~~~~~~~
src/google/protobuf/test_util.h: In member function 'void google::protobuf::TestUtil::ReflectionTester::SwapRepeatedsViaReflection(google::protobuf::Message*)':
src/google/protobuf/test_util.h:1185:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<const google::protobuf::FieldDescriptor*>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
 1185 |   for (int i = 0; i < output.size(); ++i) {
      |                   ~~^~~~~~~~~~~~~~~
src/google/protobuf/test_util.h: In member function 'void google::protobuf::TestUtil::ReflectionTester::SetAllocatedOptionalMessageFieldsToNullViaReflection(google::protobuf::Message*)':
src/google/protobuf/test_util.h:1200:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<const google::protobuf::FieldDescriptor*>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
 1200 |   for (int i = 0; i < fields.size(); ++i) {
      |                   ~~^~~~~~~~~~~~~~~
src/google/protobuf/test_util.h: In static member function 'static void google::protobuf::TestUtil::ReflectionTester::SetAllocatedOptionalMessageFieldsToMessageViaReflection(google::protobuf::Message*, google::protobuf::Message*)':
src/google/protobuf/test_util.h:1220:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<const google::protobuf::FieldDescriptor*>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
 1220 |   for (int i = 0; i < fields.size(); ++i) {
      |                   ~~^~~~~~~~~~~~~~~
src/google/protobuf/test_util.h: In member function 'void google::protobuf::TestUtil::ReflectionTester::ExpectMessagesReleasedViaReflection(google::protobuf::Message*, MessageReleaseState)':
src/google/protobuf/test_util.h:1242:21: warning: comparison of integer expressions of different signedness: 'int' and 'long unsigned int' [-Wsign-compare]
 1242 |   for (int i = 0; i < ABSL_ARRAYSIZE(fields); i++) {
      |                     ^
src/google/protobuf/util/message_differencer_unittest.cc: In function 'const google::protobuf::FieldDescriptor* google::protobuf::{anonymous}::GetFieldDescriptor(const google::protobuf::Message&, const std::string&)':
src/google/protobuf/util/message_differencer_unittest.cc:76:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::__cxx11::basic_string<char> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   76 |   for (int i = 0; i < field_path.size(); i++) {
      |                   ~~^~~~~~~~~~~~~~~~~~~
src/google/protobuf/util/message_differencer_unittest.cc: In member function 'virtual void google::protobuf::{anonymous}::MessageDifferencerTest_SpecifiedFieldsCompareWithSelf_Test::TestBody()':
src/google/protobuf/util/message_differencer_unittest.cc:882:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<const google::protobuf::FieldDescriptor*>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  882 |     for (int i = 0; i < fields.size(); ++i) {
      |                     ~~^~~~~~~~~~~~~~~
src/google/protobuf/util/message_differencer_unittest.cc:896:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<const google::protobuf::FieldDescriptor*>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  896 |     for (int i = 0; i < fields.size(); ++i) {
      |                     ~~^~~~~~~~~~~~~~~
src/google/protobuf/util/message_differencer_unittest.cc: In member function 'virtual void google::protobuf::{anonymous}::MessageDifferencerTest_SpecifiedFieldsSubsetEqualityTest_Test::TestBody()':
src/google/protobuf/util/message_differencer_unittest.cc:943:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<const google::protobuf::FieldDescriptor*>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  943 |   for (int i = 0; i < fields1.size(); ++i) {
      |                   ~~^~~~~~~~~~~~~~~~
src/google/protobuf/util/message_differencer_unittest.cc: In member function 'virtual void google::protobuf::{anonymous}::MessageDifferencerTest_SpecifiedFieldsSubsetIgnoresOtherFieldDifferencesTest_Test::TestBody()':
src/google/protobuf/util/message_differencer_unittest.cc:970:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<const google::protobuf::FieldDescriptor*>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  970 |   for (int i = 0; i < fields1.size(); ++i) {
      |                   ~~^~~~~~~~~~~~~~~~
src/google/protobuf/util/message_differencer_unittest.cc: In member function 'virtual void google::protobuf::{anonymous}::MessageDifferencerTest_SpecifiedFieldsDetectsDifferencesTest_Test::TestBody()':
src/google/protobuf/util/message_differencer_unittest.cc:998:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<const google::protobuf::FieldDescriptor*>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  998 |   for (int i = 0; i < fields1.size(); ++i) {
      |                   ~~^~~~~~~~~~~~~~~~
src/google/protobuf/util/message_differencer_unittest.cc: In member function 'virtual void google::protobuf::{anonymous}::MessageDifferencerTest_RepeatedFieldSmartListTest_Test::TestBody()':
src/google/protobuf/util/message_differencer_unittest.cc:1152:14: warning: 'protobuf_unittest::TestField* protobuf_unittest::TestDiffMessage::add_rm()' is deprecated [-Wdeprecated-declarations]
 1152 |   msg1.add_rm()->set_a(1);
      |   ~~~~~~~~~~~^~
In file included from src/google/protobuf/util/message_differencer_unittest.cc:60:
src/google/protobuf/util/message_differencer_unittest.pb.h:2065:40: note: declared here
 2065 | inline ::protobuf_unittest::TestField* TestDiffMessage::add_rm() {
      |                                        ^~~~~~~~~~~~~~~
src/google/protobuf/util/message_differencer_unittest.cc:1153:14: warning: 'protobuf_unittest::TestField* protobuf_unittest::TestDiffMessage::add_rm()' is deprecated [-Wdeprecated-declarations]
 1153 |   msg1.add_rm()->set_a(2);
      |   ~~~~~~~~~~~^~
src/google/protobuf/util/message_differencer_unittest.pb.h:2065:40: note: declared here
 2065 | inline ::protobuf_unittest::TestField* TestDiffMessage::add_rm() {
      |                                        ^~~~~~~~~~~~~~~
src/google/protobuf/util/message_differencer_unittest.cc:1154:14: warning: 'protobuf_unittest::TestField* protobuf_unittest::TestDiffMessage::add_rm()' is deprecated [-Wdeprecated-declarations]
 1154 |   msg1.add_rm()->set_a(3);
      |   ~~~~~~~~~~~^~
src/google/protobuf/util/message_differencer_unittest.pb.h:2065:40: note: declared here
 2065 | inline ::protobuf_unittest::TestField* TestDiffMessage::add_rm() {
      |                                        ^~~~~~~~~~~~~~~
src/google/protobuf/util/message_differencer_unittest.cc:1155:14: warning: 'protobuf_unittest::TestField* protobuf_unittest::TestDiffMessage::add_rm()' is deprecated [-Wdeprecated-declarations]
 1155 |   msg1.add_rm()->set_a(4);
      |   ~~~~~~~~~~~^~
src/google/protobuf/util/message_differencer_unittest.pb.h:2065:40: note: declared here
 2065 | inline ::protobuf_unittest::TestField* TestDiffMessage::add_rm() {
      |                                        ^~~~~~~~~~~~~~~
src/google/protobuf/util/message_differencer_unittest.cc:1156:14: warning: 'protobuf_unittest::TestField* protobuf_unittest::TestDiffMessage::add_rm()' is deprecated [-Wdeprecated-declarations]
 1156 |   msg1.add_rm()->set_a(5);
      |   ~~~~~~~~~~~^~
src/google/protobuf/util/message_differencer_unittest.pb.h:2065:40: note: declared here
 2065 | inline ::protobuf_unittest::TestField* TestDiffMessage::add_rm() {
      |                                        ^~~~~~~~~~~~~~~
src/google/protobuf/util/message_differencer_unittest.cc:1157:14: warning: 'protobuf_unittest::TestField* protobuf_unittest::TestDiffMessage::add_rm()' is deprecated [-Wdeprecated-declarations]
 1157 |   msg2.add_rm()->set_a(2);
      |   ~~~~~~~~~~~^~
src/google/protobuf/util/message_differencer_unittest.pb.h:2065:40: note: declared here
 2065 | inline ::protobuf_unittest::TestField* TestDiffMessage::add_rm() {
      |                                        ^~~~~~~~~~~~~~~
src/google/protobuf/util/message_differencer_unittest.cc:1158:14: warning: 'protobuf_unittest::TestField* protobuf_unittest::TestDiffMessage::add_rm()' is deprecated [-Wdeprecated-declarations]
 1158 |   msg2.add_rm()->set_a(6);
      |   ~~~~~~~~~~~^~
src/google/protobuf/util/message_differencer_unittest.pb.h:2065:40: note: declared here
 2065 | inline ::protobuf_unittest::TestField* TestDiffMessage::add_rm() {
      |                                        ^~~~~~~~~~~~~~~
src/google/protobuf/util/message_differencer_unittest.cc:1159:14: warning: 'protobuf_unittest::TestField* protobuf_unittest::TestDiffMessage::add_rm()' is deprecated [-Wdeprecated-declarations]
 1159 |   msg2.add_rm()->set_a(4);
      |   ~~~~~~~~~~~^~
src/google/protobuf/util/message_differencer_unittest.pb.h:2065:40: note: declared here
 2065 | inline ::protobuf_unittest::TestField* TestDiffMessage::add_rm() {
      |                                        ^~~~~~~~~~~~~~~
src/google/protobuf/util/message_differencer_unittest.cc: In member function 'virtual void google::protobuf::{anonymous}::MessageDifferencerTest_RepeatedFieldSmartSetTest_Test::TestBody()':
src/google/protobuf/util/message_differencer_unittest.cc:1201:15: warning: 'protobuf_unittest::TestField* protobuf_unittest::TestDiffMessage::add_rm()' is deprecated [-Wdeprecated-declarations]
 1201 |   *msg1.add_rm() = elem1_1;
      |    ~~~~~~~~~~~^~
src/google/protobuf/util/message_differencer_unittest.pb.h:2065:40: note: declared here
 2065 | inline ::protobuf_unittest::TestField* TestDiffMessage::add_rm() {
      |                                        ^~~~~~~~~~~~~~~
src/google/protobuf/util/message_differencer_unittest.cc:1202:15: warning: 'protobuf_unittest::TestField* protobuf_unittest::TestDiffMessage::add_rm()' is deprecated [-Wdeprecated-declarations]
 1202 |   *msg1.add_rm() = elem2_1;
      |    ~~~~~~~~~~~^~
src/google/protobuf/util/message_differencer_unittest.pb.h:2065:40: note: declared here
 2065 | inline ::protobuf_unittest::TestField* TestDiffMessage::add_rm() {
      |                                        ^~~~~~~~~~~~~~~
src/google/protobuf/util/message_differencer_unittest.cc:1203:15: warning: 'protobuf_unittest::TestField* protobuf_unittest::TestDiffMessage::add_rm()' is deprecated [-Wdeprecated-declarations]
 1203 |   *msg1.add_rm() = elem3_1;
      |    ~~~~~~~~~~~^~
src/google/protobuf/util/message_differencer_unittest.pb.h:2065:40: note: declared here
 2065 | inline ::protobuf_unittest::TestField* TestDiffMessage::add_rm() {
      |                                        ^~~~~~~~~~~~~~~
src/google/protobuf/util/message_differencer_unittest.cc:1205:15: warning: 'protobuf_unittest::TestField* protobuf_unittest::TestDiffMessage::add_rm()' is deprecated [-Wdeprecated-declarations]
 1205 |   *msg2.add_rm() = elem3_2;
      |    ~~~~~~~~~~~^~
src/google/protobuf/util/message_differencer_unittest.pb.h:2065:40: note: declared here
 2065 | inline ::protobuf_unittest::TestField* TestDiffMessage::add_rm() {
      |                                        ^~~~~~~~~~~~~~~
src/google/protobuf/util/message_differencer_unittest.cc:1206:15: warning: 'protobuf_unittest::TestField* protobuf_unittest::TestDiffMessage::add_rm()' is deprecated [-Wdeprecated-declarations]
 1206 |   *msg2.add_rm() = elem1_2;
      |    ~~~~~~~~~~~^~
src/google/protobuf/util/message_differencer_unittest.pb.h:2065:40: note: declared here
 2065 | inline ::protobuf_unittest::TestField* TestDiffMessage::add_rm() {
      |                                        ^~~~~~~~~~~~~~~
src/google/protobuf/util/message_differencer_unittest.cc:1207:15: warning: 'protobuf_unittest::TestField* protobuf_unittest::TestDiffMessage::add_rm()' is deprecated [-Wdeprecated-declarations]
 1207 |   *msg2.add_rm() = elem2_2;
      |    ~~~~~~~~~~~^~
src/google/protobuf/util/message_differencer_unittest.pb.h:2065:40: note: declared here
 2065 | inline ::protobuf_unittest::TestField* TestDiffMessage::add_rm() {
      |                                        ^~~~~~~~~~~~~~~
src/google/protobuf/util/message_differencer_unittest.cc: In member function 'virtual void google::protobuf::{anonymous}::MessageDifferencerTest_RepeatedFieldSmartSetTest_IdenticalElements_Test::TestBody()':
src/google/protobuf/util/message_differencer_unittest.cc:1232:15: warning: 'protobuf_unittest::TestField* protobuf_unittest::TestDiffMessage::add_rm()' is deprecated [-Wdeprecated-declarations]
 1232 |   *msg1.add_rm() = elem;
      |    ~~~~~~~~~~~^~
src/google/protobuf/util/message_differencer_unittest.pb.h:2065:40: note: declared here
 2065 | inline ::protobuf_unittest::TestField* TestDiffMessage::add_rm() {
      |                                        ^~~~~~~~~~~~~~~
src/google/protobuf/util/message_differencer_unittest.cc:1233:15: warning: 'protobuf_unittest::TestField* protobuf_unittest::TestDiffMessage::add_rm()' is deprecated [-Wdeprecated-declarations]
 1233 |   *msg1.add_rm() = elem;
      |    ~~~~~~~~~~~^~
src/google/protobuf/util/message_differencer_unittest.pb.h:2065:40: note: declared here
 2065 | inline ::protobuf_unittest::TestField* TestDiffMessage::add_rm() {
      |                                        ^~~~~~~~~~~~~~~
src/google/protobuf/util/message_differencer_unittest.cc:1234:15: warning: 'protobuf_unittest::TestField* protobuf_unittest::TestDiffMessage::add_rm()' is deprecated [-Wdeprecated-declarations]
 1234 |   *msg2.add_rm() = elem;
      |    ~~~~~~~~~~~^~
src/google/protobuf/util/message_differencer_unittest.pb.h:2065:40: note: declared here
 2065 | inline ::protobuf_unittest::TestField* TestDiffMessage::add_rm() {
      |                                        ^~~~~~~~~~~~~~~
src/google/protobuf/util/message_differencer_unittest.cc:1235:15: warning: 'protobuf_unittest::TestField* protobuf_unittest::TestDiffMessage::add_rm()' is deprecated [-Wdeprecated-declarations]
 1235 |   *msg2.add_rm() = elem;
      |    ~~~~~~~~~~~^~
src/google/protobuf/util/message_differencer_unittest.pb.h:2065:40: note: declared here
 2065 | inline ::protobuf_unittest::TestField* TestDiffMessage::add_rm() {
      |                                        ^~~~~~~~~~~~~~~
src/google/protobuf/util/message_differencer_unittest.cc: In member function 'virtual void google::protobuf::{anonymous}::MessageDifferencerTest_RepeatedFieldSmartSetTest_PreviouslyMatch_Test::TestBody()':
src/google/protobuf/util/message_differencer_unittest.cc:1264:15: warning: 'protobuf_unittest::TestField* protobuf_unittest::TestDiffMessage::add_rm()' is deprecated [-Wdeprecated-declarations]
 1264 |   *msg1.add_rm() = elem1_1;
      |    ~~~~~~~~~~~^~
src/google/protobuf/util/message_differencer_unittest.pb.h:2065:40: note: declared here
 2065 | inline ::protobuf_unittest::TestField* TestDiffMessage::add_rm() {
      |                                        ^~~~~~~~~~~~~~~
src/google/protobuf/util/message_differencer_unittest.cc:1265:15: warning: 'protobuf_unittest::TestField* protobuf_unittest::TestDiffMessage::add_rm()' is deprecated [-Wdeprecated-declarations]
 1265 |   *msg1.add_rm() = elem2_1;
      |    ~~~~~~~~~~~^~
src/google/protobuf/util/message_differencer_unittest.pb.h:2065:40: note: declared here
 2065 | inline ::protobuf_unittest::TestField* TestDiffMessage::add_rm() {
      |                                        ^~~~~~~~~~~~~~~
src/google/protobuf/util/message_differencer_unittest.cc:1266:15: warning: 'protobuf_unittest::TestField* protobuf_unittest::TestDiffMessage::add_rm()' is deprecated [-Wdeprecated-declarations]
 1266 |   *msg2.add_rm() = elem1_2;
      |    ~~~~~~~~~~~^~
src/google/protobuf/util/message_differencer_unittest.pb.h:2065:40: note: declared here
 2065 | inline ::protobuf_unittest::TestField* TestDiffMessage::add_rm() {
      |                                        ^~~~~~~~~~~~~~~
src/google/protobuf/util/message_differencer_unittest.cc:1267:15: warning: 'protobuf_unittest::TestField* protobuf_unittest::TestDiffMessage::add_rm()' is deprecated [-Wdeprecated-declarations]
 1267 |   *msg2.add_rm() = elem2_2;
      |    ~~~~~~~~~~~^~
src/google/protobuf/util/message_differencer_unittest.pb.h:2065:40: note: declared here
 2065 | inline ::protobuf_unittest::TestField* TestDiffMessage::add_rm() {
      |                                        ^~~~~~~~~~~~~~~
src/google/protobuf/util/message_differencer_unittest.cc: In member function 'virtual void google::protobuf::{anonymous}::MessageDifferencerTest_RepeatedFieldSmartSet_MultipleMatches_Test::TestBody()':
src/google/protobuf/util/message_differencer_unittest.cc:1307:15: warning: 'protobuf_unittest::TestField* protobuf_unittest::TestDiffMessage::add_rm()' is deprecated [-Wdeprecated-declarations]
 1307 |   *msg1.add_rm() = elem1_1;
      |    ~~~~~~~~~~~^~
src/google/protobuf/util/message_differencer_unittest.pb.h:2065:40: note: declared here
 2065 | inline ::protobuf_unittest::TestField* TestDiffMessage::add_rm() {
      |                                        ^~~~~~~~~~~~~~~
src/google/protobuf/util/message_differencer_unittest.cc:1308:15: warning: 'protobuf_unittest::TestField* protobuf_unittest::TestDiffMessage::add_rm()' is deprecated [-Wdeprecated-declarations]
 1308 |   *msg1.add_rm() = elem2_1;
      |    ~~~~~~~~~~~^~
src/google/protobuf/util/message_differencer_unittest.pb.h:2065:40: note: declared here
 2065 | inline ::protobuf_unittest::TestField* TestDiffMessage::add_rm() {
      |                                        ^~~~~~~~~~~~~~~
src/google/protobuf/util/message_differencer_unittest.cc:1309:15: warning: 'protobuf_unittest::TestField* protobuf_unittest::TestDiffMessage::add_rm()' is deprecated [-Wdeprecated-declarations]
 1309 |   *msg1.add_rm() = elem3_1;
      |    ~~~~~~~~~~~^~
src/google/protobuf/util/message_differencer_unittest.pb.h:2065:40: note: declared here
 2065 | inline ::protobuf_unittest::TestField* TestDiffMessage::add_rm() {
      |                                        ^~~~~~~~~~~~~~~
src/google/protobuf/util/message_differencer_unittest.cc:1310:15: warning: 'protobuf_unittest::TestField* protobuf_unittest::TestDiffMessage::add_rm()' is deprecated [-Wdeprecated-declarations]
 1310 |   *msg2.add_rm() = elem2_2;
      |    ~~~~~~~~~~~^~
src/google/protobuf/util/message_differencer_unittest.pb.h:2065:40: note: declared here
 2065 | inline ::protobuf_unittest::TestField* TestDiffMessage::add_rm() {
      |                                        ^~~~~~~~~~~~~~~
src/google/protobuf/util/message_differencer_unittest.cc:1311:15: warning: 'protobuf_unittest::TestField* protobuf_unittest::TestDiffMessage::add_rm()' is deprecated [-Wdeprecated-declarations]
 1311 |   *msg2.add_rm() = elem3_2;
      |    ~~~~~~~~~~~^~
src/google/protobuf/util/message_differencer_unittest.pb.h:2065:40: note: declared here
 2065 | inline ::protobuf_unittest::TestField* TestDiffMessage::add_rm() {
      |                                        ^~~~~~~~~~~~~~~
src/google/protobuf/util/message_differencer_unittest.cc: In member function 'virtual void google::protobuf::{anonymous}::MessageDifferencerTest_RepeatedFieldSmartSet_MultipleMatchesNoReporter_Test::TestBody()':
src/google/protobuf/util/message_differencer_unittest.cc:1335:15: warning: 'protobuf_unittest::TestField* protobuf_unittest::TestDiffMessage::add_rm()' is deprecated [-Wdeprecated-declarations]
 1335 |   *msg1.add_rm() = elem1;
      |    ~~~~~~~~~~~^~
src/google/protobuf/util/message_differencer_unittest.pb.h:2065:40: note: declared here
 2065 | inline ::protobuf_unittest::TestField* TestDiffMessage::add_rm() {
      |                                        ^~~~~~~~~~~~~~~
src/google/protobuf/util/message_differencer_unittest.cc:1336:15: warning: 'protobuf_unittest::TestField* protobuf_unittest::TestDiffMessage::add_rm()' is deprecated [-Wdeprecated-declarations]
 1336 |   *msg1.add_rm() = elem2;
      |    ~~~~~~~~~~~^~
src/google/protobuf/util/message_differencer_unittest.pb.h:2065:40: note: declared here
 2065 | inline ::protobuf_unittest::TestField* TestDiffMessage::add_rm() {
      |                                        ^~~~~~~~~~~~~~~
src/google/protobuf/util/message_differencer_unittest.cc:1337:15: warning: 'protobuf_unittest::TestField* protobuf_unittest::TestDiffMessage::add_rm()' is deprecated [-Wdeprecated-declarations]
 1337 |   *msg1.add_rm() = elem3;
      |    ~~~~~~~~~~~^~
src/google/protobuf/util/message_differencer_unittest.pb.h:2065:40: note: declared here
 2065 | inline ::protobuf_unittest::TestField* TestDiffMessage::add_rm() {
      |                                        ^~~~~~~~~~~~~~~
src/google/protobuf/util/message_differencer_unittest.cc:1338:15: warning: 'protobuf_unittest::TestField* protobuf_unittest::TestDiffMessage::add_rm()' is deprecated [-Wdeprecated-declarations]
 1338 |   *msg2.add_rm() = elem2;
      |    ~~~~~~~~~~~^~
src/google/protobuf/util/message_differencer_unittest.pb.h:2065:40: note: declared here
 2065 | inline ::protobuf_unittest::TestField* TestDiffMessage::add_rm() {
      |                                        ^~~~~~~~~~~~~~~
src/google/protobuf/util/message_differencer_unittest.cc:1339:15: warning: 'protobuf_unittest::TestField* protobuf_unittest::TestDiffMessage::add_rm()' is deprecated [-Wdeprecated-declarations]
 1339 |   *msg2.add_rm() = elem3;
      |    ~~~~~~~~~~~^~
src/google/protobuf/util/message_differencer_unittest.pb.h:2065:40: note: declared here
 2065 | inline ::protobuf_unittest::TestField* TestDiffMessage::add_rm() {
      |                                        ^~~~~~~~~~~~~~~
src/google/protobuf/util/message_differencer_unittest.cc:1340:15: warning: 'protobuf_unittest::TestField* protobuf_unittest::TestDiffMessage::add_rm()' is deprecated [-Wdeprecated-declarations]
 1340 |   *msg2.add_rm() = elem4;
      |    ~~~~~~~~~~~^~
src/google/protobuf/util/message_differencer_unittest.pb.h:2065:40: note: declared here
 2065 | inline ::protobuf_unittest::TestField* TestDiffMessage::add_rm() {
      |                                        ^~~~~~~~~~~~~~~
src/google/protobuf/util/message_differencer_unittest.cc: In member function 'virtual void google::protobuf::{anonymous}::MessageDifferencerTest_RepeatedFieldSetTest_PartialSimple_Test::TestBody()':
src/google/protobuf/util/message_differencer_unittest.cc:1562:11: warning: 'protobuf_unittest::TestField* protobuf_unittest::TestDiffMessage::add_rm()' is deprecated [-Wdeprecated-declarations]
 1562 |   a.add_rm()->set_c(1);
      |   ~~~~~~~~^~
src/google/protobuf/util/message_differencer_unittest.pb.h:2065:40: note: declared here
 2065 | inline ::protobuf_unittest::TestField* TestDiffMessage::add_rm() {
      |                                        ^~~~~~~~~~~~~~~
src/google/protobuf/util/message_differencer_unittest.cc:1563:11: warning: 'protobuf_unittest::TestField* protobuf_unittest::TestDiffMessage::add_rm()' is deprecated [-Wdeprecated-declarations]
 1563 |   a.add_rm()->set_c(0);
      |   ~~~~~~~~^~
src/google/protobuf/util/message_differencer_unittest.pb.h:2065:40: note: declared here
 2065 | inline ::protobuf_unittest::TestField* TestDiffMessage::add_rm() {
      |                                        ^~~~~~~~~~~~~~~
src/google/protobuf/util/message_differencer_unittest.cc:1568:11: warning: 'protobuf_unittest::TestField* protobuf_unittest::TestDiffMessage::add_rm()' is deprecated [-Wdeprecated-declarations]
 1568 |   b.add_rm()->set_c(1);
      |   ~~~~~~~~^~
src/google/protobuf/util/message_differencer_unittest.pb.h:2065:40: note: declared here
 2065 | inline ::protobuf_unittest::TestField* TestDiffMessage::add_rm() {
      |                                        ^~~~~~~~~~~~~~~
src/google/protobuf/util/message_differencer_unittest.cc:1569:11: warning: 'protobuf_unittest::TestField* protobuf_unittest::TestDiffMessage::add_rm()' is deprecated [-Wdeprecated-declarations]
 1569 |   b.add_rm();
      |   ~~~~~~~~^~
src/google/protobuf/util/message_differencer_unittest.pb.h:2065:40: note: declared here
 2065 | inline ::protobuf_unittest::TestField* TestDiffMessage::add_rm() {
      |                                        ^~~~~~~~~~~~~~~
src/google/protobuf/util/message_differencer_unittest.cc:1574:11: warning: 'protobuf_unittest::TestField* protobuf_unittest::TestDiffMessage::add_rm()' is deprecated [-Wdeprecated-declarations]
 1574 |   c.add_rm();
      |   ~~~~~~~~^~
src/google/protobuf/util/message_differencer_unittest.pb.h:2065:40: note: declared here
 2065 | inline ::protobuf_unittest::TestField* TestDiffMessage::add_rm() {
      |                                        ^~~~~~~~~~~~~~~
src/google/protobuf/util/message_differencer_unittest.cc:1575:11: warning: 'protobuf_unittest::TestField* protobuf_unittest::TestDiffMessage::add_rm()' is deprecated [-Wdeprecated-declarations]
 1575 |   c.add_rm()->set_c(1);
      |   ~~~~~~~~^~
src/google/protobuf/util/message_differencer_unittest.pb.h:2065:40: note: declared here
 2065 | inline ::protobuf_unittest::TestField* TestDiffMessage::add_rm() {
      |                                        ^~~~~~~~~~~~~~~
src/google/protobuf/util/message_differencer_unittest.cc: In member function 'virtual void google::protobuf::{anonymous}::MessageDifferencerTest_RepeatedFieldSetTest_Partial_Test::TestBody()':
src/google/protobuf/util/message_differencer_unittest.cc:1590:14: warning: 'protobuf_unittest::TestField* protobuf_unittest::TestDiffMessage::add_rm()' is deprecated [-Wdeprecated-declarations]
 1590 |   msg1.add_rm()->set_a(1);
      |   ~~~~~~~~~~~^~
src/google/protobuf/util/message_differencer_unittest.pb.h:2065:40: note: declared here
 2065 | inline ::protobuf_unittest::TestField* TestDiffMessage::add_rm() {
      |                                        ^~~~~~~~~~~~~~~
src/google/protobuf/util/message_differencer_unittest.cc:1591:14: warning: 'protobuf_unittest::TestField* protobuf_unittest::TestDiffMessage::add_rm()' is deprecated [-Wdeprecated-declarations]
 1591 |   msg1.add_rm()->set_b(2);
      |   ~~~~~~~~~~~^~
src/google/protobuf/util/message_differencer_unittest.pb.h:2065:40: note: declared here
 2065 | inline ::protobuf_unittest::TestField* TestDiffMessage::add_rm() {
      |                                        ^~~~~~~~~~~~~~~
src/google/protobuf/util/message_differencer_unittest.cc:1592:14: warning: 'protobuf_unittest::TestField* protobuf_unittest::TestDiffMessage::add_rm()' is deprecated [-Wdeprecated-declarations]
 1592 |   msg1.add_rm()->set_c(3);
      |   ~~~~~~~~~~~^~
src/google/protobuf/util/message_differencer_unittest.pb.h:2065:40: note: declared here
 2065 | inline ::protobuf_unittest::TestField* TestDiffMessage::add_rm() {
      |                                        ^~~~~~~~~~~~~~~
src/google/protobuf/util/message_differencer_unittest.cc:1598:52: warning: 'protobuf_unittest::TestField* protobuf_unittest::TestDiffMessage::add_rm()' is deprecated [-Wdeprecated-declarations]
 1598 |   protobuf_unittest::TestField* field = msg2.add_rm();
      |                                         ~~~~~~~~~~~^~
src/google/protobuf/util/message_differencer_unittest.pb.h:2065:40: note: declared here
 2065 | inline ::protobuf_unittest::TestField* TestDiffMessage::add_rm() {
      |                                        ^~~~~~~~~~~~~~~
src/google/protobuf/util/message_differencer_unittest.cc:1601:22: warning: 'protobuf_unittest::TestField* protobuf_unittest::TestDiffMessage::add_rm()' is deprecated [-Wdeprecated-declarations]
 1601 |   field = msg2.add_rm();
      |           ~~~~~~~~~~~^~
src/google/protobuf/util/message_differencer_unittest.pb.h:2065:40: note: declared here
 2065 | inline ::protobuf_unittest::TestField* TestDiffMessage::add_rm() {
      |                                        ^~~~~~~~~~~~~~~
src/google/protobuf/util/message_differencer_unittest.cc:1604:22: warning: 'protobuf_unittest::TestField* protobuf_unittest::TestDiffMessage::add_rm()' is deprecated [-Wdeprecated-declarations]
 1604 |   field = msg2.add_rm();
      |           ~~~~~~~~~~~^~
src/google/protobuf/util/message_differencer_unittest.pb.h:2065:40: note: declared here
 2065 | inline ::protobuf_unittest::TestField* TestDiffMessage::add_rm() {
      |                                        ^~~~~~~~~~~~~~~
src/google/protobuf/util/message_differencer_unittest.cc: In member function 'virtual void google::protobuf::{anonymous}::MessageDifferencerTest_IgnoreField_Message_Test::TestBody()':
src/google/protobuf/util/message_differencer_unittest.cc:2076:22: warning: 'protobuf_unittest::TestField* protobuf_unittest::TestDiffMessage::add_rm()' is deprecated [-Wdeprecated-declarations]
 2076 |   field = msg1.add_rm();
      |           ~~~~~~~~~~~^~
src/google/protobuf/util/message_differencer_unittest.pb.h:2065:40: note: declared here
 2065 | inline ::protobuf_unittest::TestField* TestDiffMessage::add_rm() {
      |                                        ^~~~~~~~~~~~~~~
src/google/protobuf/util/message_differencer_unittest.cc:2079:22: warning: 'protobuf_unittest::TestField* protobuf_unittest::TestDiffMessage::add_rm()' is deprecated [-Wdeprecated-declarations]
 2079 |   field = msg2.add_rm();
      |           ~~~~~~~~~~~^~
src/google/protobuf/util/message_differencer_unittest.pb.h:2065:40: note: declared here
 2065 | inline ::protobuf_unittest::TestField* TestDiffMessage::add_rm() {
      |                                        ^~~~~~~~~~~~~~~
src/google/protobuf/util/message_differencer_unittest.cc: In member function 'virtual void google::protobuf::{anonymous}::MessageDifferencerTest_IgnoreField_NestedMessage_Test::TestBody()':
src/google/protobuf/util/message_differencer_unittest.cc:2164:22: warning: 'protobuf_unittest::TestField* protobuf_unittest::TestDiffMessage::add_rm()' is deprecated [-Wdeprecated-declarations]
 2164 |   field = msg1.add_rm();
      |           ~~~~~~~~~~~^~
src/google/protobuf/util/message_differencer_unittest.pb.h:2065:40: note: declared here
 2065 | inline ::protobuf_unittest::TestField* TestDiffMessage::add_rm() {
      |                                        ^~~~~~~~~~~~~~~
src/google/protobuf/util/message_differencer_unittest.cc:2168:22: warning: 'protobuf_unittest::TestField* protobuf_unittest::TestDiffMessage::add_rm()' is deprecated [-Wdeprecated-declarations]
 2168 |   field = msg2.add_rm();
      |           ~~~~~~~~~~~^~
src/google/protobuf/util/message_differencer_unittest.pb.h:2065:40: note: declared here
 2065 | inline ::protobuf_unittest::TestField* TestDiffMessage::add_rm() {
      |                                        ^~~~~~~~~~~~~~~
src/google/protobuf/util/message_differencer_unittest.cc: In member function 'virtual void google::protobuf::{anonymous}::MessageDifferencerTest_FieldContextParentFieldsTest_Test::TestBody()':
src/google/protobuf/util/message_differencer_unittest.cc:2396:14: warning: 'protobuf_unittest::TestField* protobuf_unittest::TestDiffMessage::add_rm()' is deprecated [-Wdeprecated-declarations]
 2396 |   msg1.add_rm()->set_c(1);
      |   ~~~~~~~~~~~^~
src/google/protobuf/util/message_differencer_unittest.pb.h:2065:40: note: declared here
 2065 | inline ::protobuf_unittest::TestField* TestDiffMessage::add_rm() {
      |                                        ^~~~~~~~~~~~~~~
src/google/protobuf/util/message_differencer_unittest.cc:2398:14: warning: 'protobuf_unittest::TestField* protobuf_unittest::TestDiffMessage::add_rm()' is deprecated [-Wdeprecated-declarations]
 2398 |   msg2.add_rm()->set_c(1);
      |   ~~~~~~~~~~~^~
src/google/protobuf/util/message_differencer_unittest.pb.h:2065:40: note: declared here
 2065 | inline ::protobuf_unittest::TestField* TestDiffMessage::add_rm() {
      |                                        ^~~~~~~~~~~~~~~
src/google/protobuf/util/message_differencer_unittest.cc: In member function 'virtual void google::protobuf::{anonymous}::ComparisonTest_IgnoredNoChangeTest_Test::TestBody()':
src/google/protobuf/util/message_differencer_unittest.cc:3043:20: warning: 'void protobuf_unittest::TestDiffMessage::set_v(int32_t)' is deprecated [-Wdeprecated-declarations]
 3043 |   proto1diff_.set_v(3);
      |   ~~~~~~~~~~~~~~~~~^~~
src/google/protobuf/util/message_differencer_unittest.pb.h:1750:13: note: declared here
 1750 | inline void TestDiffMessage::set_v(::int32_t value) {
      |             ^~~~~~~~~~~~~~~
src/google/protobuf/util/message_differencer_unittest.cc:3044:20: warning: 'void protobuf_unittest::TestDiffMessage::set_v(int32_t)' is deprecated [-Wdeprecated-declarations]
 3044 |   proto2diff_.set_v(3);
      |   ~~~~~~~~~~~~~~~~~^~~
src/google/protobuf/util/message_differencer_unittest.pb.h:1750:13: note: declared here
 1750 | inline void TestDiffMessage::set_v(::int32_t value) {
      |             ^~~~~~~~~~~~~~~
src/google/protobuf/util/message_differencer_unittest.cc: In member function 'virtual void google::protobuf::{anonymous}::ComparisonTest_IgnoredAddTest_Test::TestBody()':
src/google/protobuf/util/message_differencer_unittest.cc:3056:20: warning: 'void protobuf_unittest::TestDiffMessage::set_v(int32_t)' is deprecated [-Wdeprecated-declarations]
 3056 |   proto2diff_.set_v(3);
      |   ~~~~~~~~~~~~~~~~~^~~
src/google/protobuf/util/message_differencer_unittest.pb.h:1750:13: note: declared here
 1750 | inline void TestDiffMessage::set_v(::int32_t value) {
      |             ^~~~~~~~~~~~~~~
src/google/protobuf/util/message_differencer_unittest.cc: In member function 'virtual void google::protobuf::{anonymous}::ComparisonTest_IgnoredDeleteTest_Test::TestBody()':
src/google/protobuf/util/message_differencer_unittest.cc:3068:20: warning: 'void protobuf_unittest::TestDiffMessage::set_v(int32_t)' is deprecated [-Wdeprecated-declarations]
 3068 |   proto1diff_.set_v(3);
      |   ~~~~~~~~~~~~~~~~~^~~
src/google/protobuf/util/message_differencer_unittest.pb.h:1750:13: note: declared here
 1750 | inline void TestDiffMessage::set_v(::int32_t value) {
      |             ^~~~~~~~~~~~~~~
src/google/protobuf/util/message_differencer_unittest.cc: In member function 'virtual void google::protobuf::{anonymous}::ComparisonTest_IgnoredModifyTest_Test::TestBody()':
src/google/protobuf/util/message_differencer_unittest.cc:3080:20: warning: 'void protobuf_unittest::TestDiffMessage::set_v(int32_t)' is deprecated [-Wdeprecated-declarations]
 3080 |   proto1diff_.set_v(3);
      |   ~~~~~~~~~~~~~~~~~^~~
src/google/protobuf/util/message_differencer_unittest.pb.h:1750:13: note: declared here
 1750 | inline void TestDiffMessage::set_v(::int32_t value) {
      |             ^~~~~~~~~~~~~~~
src/google/protobuf/util/message_differencer_unittest.cc:3081:20: warning: 'void protobuf_unittest::TestDiffMessage::set_v(int32_t)' is deprecated [-Wdeprecated-declarations]
 3081 |   proto2diff_.set_v(4);
      |   ~~~~~~~~~~~~~~~~~^~~
src/google/protobuf/util/message_differencer_unittest.pb.h:1750:13: note: declared here
 1750 | inline void TestDiffMessage::set_v(::int32_t value) {
      |             ^~~~~~~~~~~~~~~
src/google/protobuf/util/message_differencer_unittest.cc: In member function 'virtual void google::protobuf::{anonymous}::ComparisonTest_IgnoredRepeatedNested_Test::TestBody()':
src/google/protobuf/util/message_differencer_unittest.cc:3174:21: warning: 'protobuf_unittest::TestField* protobuf_unittest::TestDiffMessage::add_rm()' is deprecated [-Wdeprecated-declarations]
 3174 |   proto1diff_.add_rm()->set_c(0);
      |   ~~~~~~~~~~~~~~~~~~^~
src/google/protobuf/util/message_differencer_unittest.pb.h:2065:40: note: declared here
 2065 | inline ::protobuf_unittest::TestField* TestDiffMessage::add_rm() {
      |                                        ^~~~~~~~~~~~~~~
src/google/protobuf/util/message_differencer_unittest.cc:3175:21: warning: 'protobuf_unittest::TestField* protobuf_unittest::TestDiffMessage::add_rm()' is deprecated [-Wdeprecated-declarations]
 3175 |   proto1diff_.add_rm()->set_c(1);
      |   ~~~~~~~~~~~~~~~~~~^~
src/google/protobuf/util/message_differencer_unittest.pb.h:2065:40: note: declared here
 2065 | inline ::protobuf_unittest::TestField* TestDiffMessage::add_rm() {
      |                                        ^~~~~~~~~~~~~~~
src/google/protobuf/util/message_differencer_unittest.cc:3176:21: warning: 'protobuf_unittest::TestField* protobuf_unittest::TestDiffMessage::add_rm()' is deprecated [-Wdeprecated-declarations]
 3176 |   proto2diff_.add_rm()->set_c(2);
      |   ~~~~~~~~~~~~~~~~~~^~
src/google/protobuf/util/message_differencer_unittest.pb.h:2065:40: note: declared here
 2065 | inline ::protobuf_unittest::TestField* TestDiffMessage::add_rm() {
      |                                        ^~~~~~~~~~~~~~~
src/google/protobuf/util/message_differencer_unittest.cc:3177:21: warning: 'protobuf_unittest::TestField* protobuf_unittest::TestDiffMessage::add_rm()' is deprecated [-Wdeprecated-declarations]
 3177 |   proto2diff_.add_rm()->set_c(3);
      |   ~~~~~~~~~~~~~~~~~~^~
src/google/protobuf/util/message_differencer_unittest.pb.h:2065:40: note: declared here
 2065 | inline ::protobuf_unittest::TestField* TestDiffMessage::add_rm() {
      |                                        ^~~~~~~~~~~~~~~
In file included from src/google/protobuf/compiler/mock_code_generator.cc:59:
src/google/protobuf/io/printer.h: In instantiation of 'void google::protobuf::io::AnnotationProtoCollector<AnnotationProto>::AddAnnotation(size_t, size_t, const std::string&, const std::vector<int>&, std::optional<google::protobuf::io::AnnotationCollector::Semantic>) [with AnnotationProto = google::protobuf::GeneratedCodeInfo; size_t = long unsigned int; std::string = std::__cxx11::basic_string<char>]':
src/google/protobuf/io/printer.h:144:8:   required from here
src/google/protobuf/io/printer.h:148:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  148 |     for (int i = 0; i < path.size(); ++i) {
      |                     ~~^~~~~~~~~~~~~
In file included from src/google/protobuf/util/type_resolver_util_test.cc:46:
src/google/protobuf/test_util.h: In member function 'void google::protobuf::TestUtil::ReflectionTester::RemoveLastRepeatedsViaReflection(google::protobuf::Message*)':
src/google/protobuf/test_util.h:1151:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<const google::protobuf::FieldDescriptor*>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
 1151 |   for (int i = 0; i < output.size(); ++i) {
      |                   ~~^~~~~~~~~~~~~~~
src/google/protobuf/test_util.h: In member function 'void google::protobuf::TestUtil::ReflectionTester::ReleaseLastRepeatedsViaReflection(google::protobuf::Message*, bool)':
src/google/protobuf/test_util.h:1165:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<const google::protobuf::FieldDescriptor*>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
 1165 |   for (int i = 0; i < output.size(); ++i) {
      |                   ~~^~~~~~~~~~~~~~~
src/google/protobuf/test_util.h: In member function 'void google::protobuf::TestUtil::ReflectionTester::SwapRepeatedsViaReflection(google::protobuf::Message*)':
src/google/protobuf/test_util.h:1185:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<const google::protobuf::FieldDescriptor*>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
 1185 |   for (int i = 0; i < output.size(); ++i) {
      |                   ~~^~~~~~~~~~~~~~~
src/google/protobuf/test_util.h: In member function 'void google::protobuf::TestUtil::ReflectionTester::SetAllocatedOptionalMessageFieldsToNullViaReflection(google::protobuf::Message*)':
src/google/protobuf/test_util.h:1200:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<const google::protobuf::FieldDescriptor*>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
 1200 |   for (int i = 0; i < fields.size(); ++i) {
      |                   ~~^~~~~~~~~~~~~~~
src/google/protobuf/test_util.h: In static member function 'static void google::protobuf::TestUtil::ReflectionTester::SetAllocatedOptionalMessageFieldsToMessageViaReflection(google::protobuf::Message*, google::protobuf::Message*)':
src/google/protobuf/test_util.h:1220:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<const google::protobuf::FieldDescriptor*>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
 1220 |   for (int i = 0; i < fields.size(); ++i) {
      |                   ~~^~~~~~~~~~~~~~~
src/google/protobuf/test_util.h: In member function 'void google::protobuf::TestUtil::ReflectionTester::ExpectMessagesReleasedViaReflection(google::protobuf::Message*, MessageReleaseState)':
src/google/protobuf/test_util.h:1242:21: warning: comparison of integer expressions of different signedness: 'int' and 'long unsigned int' [-Wsign-compare]
 1242 |   for (int i = 0; i < ABSL_ARRAYSIZE(fields); i++) {
      |                     ^
In file included from src/google/protobuf/compiler/cpp/unittest.cc:67:
src/google/protobuf/compiler/cpp/unittest.inc: In member function 'virtual void google::protobuf::compiler::cpp::cpp_unittest::GeneratedMessageTest_ParseFromTruncated_Test::TestBody()':
src/google/protobuf/compiler/cpp/unittest.inc:981:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  981 |   for (int i = 0; i <= msg.size(); i++) {
      |                   ~~^~~~~~~~~~~~~
src/google/protobuf/compiler/cpp/unittest.inc: In member function 'virtual void google::protobuf::compiler::cpp::cpp_unittest::HelpersTest_TestSCC_Test::TestBody()':
src/google/protobuf/compiler/cpp/unittest.inc:2105:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<const google::protobuf::Descriptor*>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
 2105 |   for (int i = 0; i < scc->descriptors.size(); i++) {
      |                   ~~^~~~~~~~~~~~~~~~~~~~~~~~~
src/google/protobuf/repeated_field.h: In member function 'InternalSwap':
src/google/protobuf/repeated_field.h:129: warning: writing 4 bytes into a region of size 0 [-Wstringop-overflow=]
  129 |   memcpy(a, b, kSize % kBlockSize);
      |
src/google/protobuf/unittest_proto3_arena.pb.h:1712: note: at offset 208 into destination object 'optional_nested_message_' of size 8
 1712 |     ::proto3_arena_unittest::TestAllTypes_NestedMessage* optional_nested_message_;
      |
src/google/protobuf/repeated_field.h: In member function 'InternalSwap':
src/google/protobuf/repeated_field.h:129: warning: writing 8 bytes into a region of size 0 [-Wstringop-overflow=]
  129 |   memcpy(a, b, kSize % kBlockSize);
      |
src/google/protobuf/unittest.pb.h:3189: note: at offset 224 into destination object 'optionalgroup_' of size 8
 3189 |     ::protobuf_unittest::TestAllTypes_OptionalGroup* optionalgroup_;
      |
In function 'memset',
    inlined from 'TestBody' at src/google/protobuf/io/zero_copy_stream_unittest.cc:1300:0:
/usr/include/bits/string_fortified.h:59: warning: '__builtin___memset_chk' writing 500 bytes into a region of size 15 overflows the destination [-Wstringop-overflow=]
   59 |   return __builtin___memset_chk (__dest, __ch, __len,
      |
In function 'memset',
    inlined from 'TestBody' at src/google/protobuf/io/zero_copy_stream_unittest.cc:1279:0:
/usr/include/bits/string_fortified.h:59: warning: '__builtin___memset_chk' writing 500 bytes into a region of size 15 overflows the destination [-Wstringop-overflow=]
   59 |   return __builtin___memset_chk (__dest, __ch, __len,
      |
/usr/bin/ld: /tmp/ccT0TXrC.lto.o: in function `google::protobuf::(anonymous namespace)::TempDirDeleter::GetTempDir() [clone .constprop.0]':
I would start from last line of that log 😋

@mkruskal-google
Copy link
Member

Yea I'm currently working on adding CI tests for gcc, but any fixes will need to wait until our next release

@mkruskal-google
Copy link
Member

mkruskal-google commented May 6, 2023

Main is passing under gcc 13 with both Bazel and CMake builds (#12688). I'll backport these tests and hopefully hit this issue on our release branches. If I don't I'm not sure what we're doing differently in the tests..

Note: I did hit some separate issues that the PR includes fixes for, but not this one

@mkruskal-google
Copy link
Member

Looks like the include was already added for 23.x, I snuck it back in for 22.x too

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants