conan-io / conan-center-index

Recipes for the ConanCenter repository
https://conan.io/center
MIT License
969 stars 1.78k forks source link

[package] grpc/1.65.0, protobuf/5.27.0 : Fails with options 'abseil/*:shared=True' #25631

Open gmcdorman-opentext opened 1 month ago

gmcdorman-opentext commented 1 month ago

Description

When gRPC is built with a shared-library version of abseil (on Windows), it appears that it fetches and uses a protobuf binary not build with a shared-library abseil.

The build eventually fails with numerous link errors, the first of which is:

abseil_dll.lib(abseil_dll.dll) : error LNK2005: "public: static class absl::lts_20240116::hash_internal::MixingHashStat
e __cdecl absl::lts_20240116::hash_internal::MixingHashState::combine_contiguous(class absl::lts_20240116::hash_interna
l::MixingHashState,unsigned char const *,unsigned __int64)" (?combine_contiguous@MixingHashState@hash_internal@lts_2024
0116@absl@@SA?AV1234@V1234@PEBE_K@Z) already defined in libprotobuf.lib(descriptor.obj) [path...ConanHome\p\b\grpce4d6f131e1578\b\build\grpc_csharp_plugin.vcxproj]

The following manual steps work around the issue:

Package and Environment Details

Conan profile

Build profile:

[settings]
os=Windows
compiler=msvc
compiler.runtime=dynamic
 # first three digits of _MSC_VER, 192 for VS 2016-2019
compiler.version=192
compiler.cppstd=17
build_type=Release
compiler.runtime_type=Release
arch=x86_64

# If the options are not the same for _dependant_ libraries, the incompatible base
# libraries tend to be found and used by conan.
[options]
abseil/*:shared=True
grpc/*:secure=True
protobuf/*:shared=False

Host profile:

[settings]
os=Windows
compiler=msvc
compiler.runtime=dynamic
 # first three digits of _MSC_VER, 192 for VS 2016-2019
compiler.version=192
compiler.cppstd=17

build_type=Release
compiler.runtime_type=Release

arch=x86_64

[options]
abseil/*:shared=True
grpc/*:secure=True
protobuf/*:shared=False

Steps to reproduce

conan install "--requires=grpc/1.65.0@#e9067573e87d3c3efc634ce0d727d7eb" "--build=grpc/1.65.0@#e9067573e87d3c3efc634ce0d727d7eb" --profile:host host_profile.txt --profile:build build_profile.txt

Logs

Log is selected portions only, all output is probably not relevant.

Click to expand log ``` ======== Input profiles ======== Profile host: [settings] arch=x86_64 build_type=Release compiler=msvc compiler.cppstd=17 compiler.runtime=dynamic compiler.runtime_type=Release compiler.version=192 os=Windows [options] abseil/*:shared=True boost/*:shared=True boost/*:without_log=True boost/*:without_stacktrace=True boost/*:without_type_erasure=True grpc/*:secure=True openssl/*:shared=True Profile build: [settings] arch=x86_64 build_type=Release compiler=msvc compiler.cppstd=17 compiler.runtime=dynamic compiler.runtime_type=Release compiler.version=192 os=Windows [options] abseil/*:shared=True grpc/*:secure=True protobuf/*:shared=False ======== Computing dependency graph ======== Graph root cli Requirements abseil/20240116.2#54f81a20ccd26a6558e18d57059847e2 - Cache c-ares/1.33.1#99a35827eebc984885f60362660ea232 - Cache grpc/1.65.0#e9067573e87d3c3efc634ce0d727d7eb - Cache openssl/1.1.1w#8bcd54a23717978bd94ab320e377ea93 - Cache protobuf/5.27.0#ccce9aa25886556c6d66c77b2be4d806 - Cache re2/20230301#4482314b6488e5d71e9944f5bedb730d - Cache zlib/1.3.1#f52e03ae3d251dec704634230cd806a2 - Cache Build requirements abseil/20240116.2#54f81a20ccd26a6558e18d57059847e2 - Cache nasm/2.15.05#058c93b2214a49ca1cfe9f8f26205568 - Cache protobuf/5.27.0#ccce9aa25886556c6d66c77b2be4d806 - Cache strawberryperl/5.32.1.1#8f83d05a60363a422f9033e52d106b47 - Cache zlib/1.3.1#f52e03ae3d251dec704634230cd806a2 - Cache Resolved version ranges c-ares/[>=1.19.1 <2]: c-ares/1.33.1 openssl/[>=1.1 <4]: openssl/1.1.1w zlib/[>=1.2.11 <2]: zlib/1.3.1 ======== Computing necessary packages ======== abseil/20240116.2: Main binary package 'a60be37676823331e6c4ba6bb1dd4938e81fb17a' missing abseil/20240116.2: Checking 2 compatible configurations abseil/20240116.2: Found compatible package '18ff13b488eb6ad8b3de7e4298eee0e6b9445eb2': compiler.cppstd=14 re2/20230301: Main binary package '3d0c3e6a0cd870340e1bf684e393bf3a496f22ed' missing re2/20230301: Checking 2 compatible configurations re2/20230301: Found compatible package 'fc89aa49e93bcd637519a084d5e03531cd818cab': compiler.cppstd=14 protobuf/5.27.0: Main binary package '35dbcd9886fc85b5675bbb06ea830085cd100f97' missing protobuf/5.27.0: Checking 2 compatible configurations protobuf/5.27.0: Found compatible package '86f42f196182773c27b3bd36514d50184ba17fdf': compiler.cppstd=14 grpc/1.65.0: Forced build from source Requirements abseil/20240116.2#54f81a20ccd26a6558e18d57059847e2:18ff13b488eb6ad8b3de7e4298eee0e6b9445eb2#4de31e2174293e3c28c177102d2fb25e - Cache c-ares/1.33.1#99a35827eebc984885f60362660ea232:ab0271e66c032798a15a6278934903a31510d3d8#81139b9909dae037b12132b612f03d2a - Cache grpc/1.65.0#e9067573e87d3c3efc634ce0d727d7eb:339cda98e1bc42747bf60f343bbcb84276e9a380 - Build openssl/1.1.1w#8bcd54a23717978bd94ab320e377ea93:e89ca6746c4f30111911a8a029b20219591413cc#9faaf21a51cc19c11e164ec1ef1262ff - Cache protobuf/5.27.0#ccce9aa25886556c6d66c77b2be4d806:86f42f196182773c27b3bd36514d50184ba17fdf#f517cf00ccd4d2999d7840131a66598b - Cache re2/20230301#4482314b6488e5d71e9944f5bedb730d:fc89aa49e93bcd637519a084d5e03531cd818cab#e44d52f25da29b5662cd8ee0cefd2f68 - Cache zlib/1.3.1#f52e03ae3d251dec704634230cd806a2:41ad450120fdab2266b1185a967d298f7ae52595#6513303f73b00a3c69312b4bf7cdcd9e - Cache Build requirements abseil/20240116.2#54f81a20ccd26a6558e18d57059847e2:18ff13b488eb6ad8b3de7e4298eee0e6b9445eb2#4de31e2174293e3c28c177102d2fb25e - Cache protobuf/5.27.0#ccce9aa25886556c6d66c77b2be4d806:86f42f196182773c27b3bd36514d50184ba17fdf#f517cf00ccd4d2999d7840131a66598b - Cache Skipped binaries nasm/2.15.05, strawberryperl/5.32.1.1, zlib/1.3.1 ======== Installing packages ======== abseil/20240116.2: Already installed! (1 of 7) c-ares/1.33.1: Already installed! (2 of 7) re2/20230301: Already installed! (3 of 7) zlib/1.3.1: Already installed! (4 of 7) openssl/1.1.1w: Already installed! (5 of 7) protobuf/5.27.0: Already installed! (6 of 7) -------- Installing package grpc/1.65.0 (7 of 7) -------- grpc/1.65.0: Building from source grpc/1.65.0: Package grpc/1.65.0:339cda98e1bc42747bf60f343bbcb84276e9a380 grpc/1.65.0: Copying sources to build folder grpc/1.65.0: Building your package in C:\Users\gmcdorman\git\CRSB.Conan2-Build-ThirdParty\build\ConanHome\p\b\grpce06250e8d935c\b grpc/1.65.0: Calling generate() grpc/1.65.0: Generators folder: C:\Users\gmcdorman\git\CRSB.Conan2-Build-ThirdParty\build\ConanHome\p\b\grpce06250e8d935c\b\build\generators grpc/1.65.0: CMakeToolchain generated: conan_toolchain.cmake grpc/1.65.0: CMakeToolchain generated: C:\Users\gmcdorman\git\CRSB.Conan2-Build-ThirdParty\build\ConanHome\p\b\grpce06250e8d935c\b\build\generators\CMakePresets.json grpc/1.65.0: CMakeToolchain generated: C:\Users\gmcdorman\git\CRSB.Conan2-Build-ThirdParty\build\ConanHome\p\b\grpce06250e8d935c\b\src\CMakeUserPresets.json grpc/1.65.0: CMakeDeps necessary find_package() and targets for your CMakeLists.txt find_package(protobuf) find_package(absl) find_package(c-ares) find_package(OpenSSL) find_package(re2) find_package(ZLIB) target_link_libraries(... protobuf::protobuf abseil::abseil c-ares::cares openssl::openssl re2::re2 ZLIB::ZLIB) grpc/1.65.0: Generating aggregated env files grpc/1.65.0: Generated aggregated env files: ['conanbuild.bat', 'conanrun.bat'] grpc/1.65.0: Calling build() grpc/1.65.0: apply_conandata_patches(): No patches defined in conandata grpc/1.65.0: Running CMake.configure() grpc/1.65.0: RUN: cmake -G "Visual Studio 16 2019" -DCMAKE_TOOLCHAIN_FILE="generators/conan_toolchain.cmake" -DCMAKE_INSTALL_PREFIX="X://ConanHome/p/b/grpce06250e8d935c/p" -DCMAKE_PROJECT_grpc_INCLUDE="C:\Users\gmcdorman\git\CRSB.Conan2-Build-ThirdParty\build\ConanHome\p\b\grpce06250e8d935c\b\src\conan_cmake_project_include.cmake" -DgRPC_BUILD_CODEGEN="ON" -DgRPC_BUILD_CSHARP_EXT="OFF" -DgRPC_BUILD_TESTS="OFF" -DgRPC_INSTALL="ON" -DgRPC_INSTALL_SHAREDIR="res/grpc" -DgRPC_ZLIB_PROVIDER="package" -DgRPC_CARES_PROVIDER="package" -DgRPC_RE2_PROVIDER="package" -DgRPC_SSL_PROVIDER="package" -DgRPC_PROTOBUF_PROVIDER="package" -DgRPC_ABSL_PROVIDER="package" -DgRPC_BUILD_GRPC_CPP_PLUGIN="ON" -DgRPC_BUILD_GRPC_CSHARP_PLUGIN="ON" -DgRPC_BUILD_GRPC_NODE_PLUGIN="ON" -DgRPC_BUILD_GRPC_OBJECTIVE_C_PLUGIN="ON" -DgRPC_BUILD_GRPC_PHP_PLUGIN="ON" -DgRPC_BUILD_GRPC_PYTHON_PLUGIN="ON" -DgRPC_BUILD_GRPC_RUBY_PLUGIN="ON" -DgRPC_DOWNLOAD_ARCHIVES="OFF" -DCMAKE_POLICY_DEFAULT_CMP0091="NEW" "X://ConanHome/p/b/grpce06250e8d935c/b/src" -- Using Conan toolchain: X://ConanHome/p/b/grpce06250e8d935c/b/build/generators/conan_toolchain.cmake -- Conan toolchain: CMAKE_GENERATOR_TOOLSET=v142 -- Conan toolchain: Setting CMAKE_MSVC_RUNTIME_LIBRARY=$<$:MultiThreadedDLL> -- Conan toolchain: C++ Standard 17 with extensions OFF -- Conan toolchain: Setting BUILD_SHARED_LIBS = OFF -- Selecting Windows SDK version 10.0.22621.0 to target Windows 10.0.22631. -- The C compiler identification is MSVC 19.29.30154.0 -- The CXX compiler identification is MSVC 19.29.30154.0 -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Professional/VC/Tools/MSVC/14.29.30133/bin/Hostx64/x64/cl.exe - 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: C:/Program Files (x86)/Microsoft Visual Studio/2019/Professional/VC/Tools/MSVC/14.29.30133/bin/Hostx64/x64/cl.exe - skipped -- Detecting CXX compile features -- Detecting CXX compile features - done -- Conan: Component target declared 'absl::abseil_dll' -- Conan: Component target declared 'absl::atomic_hook' -- Conan: Component target declared 'absl::log_severity' -- Conan: Component target declared 'absl::raw_logging_internal' -- Conan: Component target declared 'absl::spinlock_wait' -- Conan: Component target declared 'absl::config' -- Conan: Component target declared 'absl::dynamic_annotations' -- Conan: Component target declared 'absl::core_headers' -- Conan: Component target declared 'absl::malloc_internal' -- Conan: Component target declared 'absl::base_internal' -- Conan: Component target declared 'absl::base' -- Conan: Component target declared 'absl::throw_delegate' -- Conan: Component target declared 'absl::pretty_function' -- Conan: Component target declared 'absl::endian' -- Conan: Component target declared 'absl::scoped_set_env' -- Conan: Component target declared 'absl::strerror' -- Conan: Component target declared 'absl::algorithm' -- Conan: Component target declared 'absl::algorithm_container' -- Conan: Component target declared 'absl::btree' -- Conan: Component target declared 'absl::compressed_tuple' -- Conan: Component target declared 'absl::fixed_array' -- Conan: Component target declared 'absl::inlined_vector_internal' -- Conan: Component target declared 'absl::inlined_vector' -- Conan: Component target declared 'absl::flat_hash_map' -- Conan: Component target declared 'absl::flat_hash_set' -- Conan: Component target declared 'absl::node_hash_map' -- Conan: Component target declared 'absl::node_hash_set' -- Conan: Component target declared 'absl::container_memory' -- Conan: Component target declared 'absl::hash_function_defaults' -- Conan: Component target declared 'absl::hash_policy_traits' -- Conan: Component target declared 'absl::hashtablez_sampler' -- Conan: Component target declared 'absl::hashtable_debug' -- Conan: Component target declared 'absl::hashtable_debug_hooks' -- Conan: Component target declared 'absl::node_slot_policy' -- Conan: Component target declared 'absl::raw_hash_map' -- Conan: Component target declared 'absl::container_common' -- Conan: Component target declared 'absl::raw_hash_set' -- Conan: Component target declared 'absl::layout' -- Conan: Component target declared 'absl::crc_cpu_detect' -- Conan: Component target declared 'absl::crc_internal' -- Conan: Component target declared 'absl::crc32c' -- Conan: Component target declared 'absl::non_temporal_arm_intrinsics' -- Conan: Component target declared 'absl::non_temporal_memcpy' -- Conan: Component target declared 'absl::crc_cord_state' -- Conan: Component target declared 'absl::stacktrace' -- Conan: Component target declared 'absl::symbolize' -- Conan: Component target declared 'absl::examine_stack' -- Conan: Component target declared 'absl::failure_signal_handler' -- Conan: Component target declared 'absl::debugging_internal' -- Conan: Component target declared 'absl::demangle_internal' -- Conan: Component target declared 'absl::leak_check' -- Conan: Component target declared 'absl::debugging' -- Conan: Component target declared 'absl::flags_marshalling' -- Conan: Component target declared 'absl::any_invocable' -- Conan: Component target declared 'absl::bind_front' -- Conan: Component target declared 'absl::function_ref' -- Conan: Component target declared 'absl::hash' -- Conan: Component target declared 'absl::city' -- Conan: Component target declared 'absl::low_level_hash' -- Conan: Component target declared 'absl::log_internal_check_impl' -- Conan: Component target declared 'absl::log_internal_check_op' -- Conan: Component target declared 'absl::log_internal_conditions' -- Conan: Component target declared 'absl::log_internal_config' -- Conan: Component target declared 'absl::log_internal_format' -- Conan: Component target declared 'absl::log_internal_globals' -- Conan: Component target declared 'absl::log_internal_log_impl' -- Conan: Component target declared 'absl::log_internal_proto' -- Conan: Component target declared 'absl::log_internal_message' -- Conan: Component target declared 'absl::log_internal_log_sink_set' -- Conan: Component target declared 'absl::log_internal_nullguard' -- Conan: Component target declared 'absl::log_internal_nullstream' -- Conan: Component target declared 'absl::log_internal_strip' -- Conan: Component target declared 'absl::log_internal_voidify' -- Conan: Component target declared 'absl::log_internal_append_truncated' -- Conan: Component target declared 'absl::absl_check' -- Conan: Component target declared 'absl::absl_log' -- Conan: Component target declared 'absl::check' -- Conan: Component target declared 'absl::die_if_null' -- Conan: Component target declared 'absl::log_globals' -- Conan: Component target declared 'absl::log_initialize' -- Conan: Component target declared 'absl::log' -- Conan: Component target declared 'absl::log_entry' -- Conan: Component target declared 'absl::log_sink' -- Conan: Component target declared 'absl::log_sink_registry' -- Conan: Component target declared 'absl::log_streamer' -- Conan: Component target declared 'absl::log_internal_structured' -- Conan: Component target declared 'absl::log_structured' -- Conan: Component target declared 'absl::log_internal_fnmatch' -- Conan: Component target declared 'absl::memory' -- Conan: Component target declared 'absl::type_traits' -- Conan: Component target declared 'absl::meta' -- Conan: Component target declared 'absl::bits' -- Conan: Component target declared 'absl::int128' -- Conan: Component target declared 'absl::numeric' -- Conan: Component target declared 'absl::sample_recorder' -- Conan: Component target declared 'absl::exponential_biased' -- Conan: Component target declared 'absl::periodic_sampler' -- Conan: Component target declared 'absl::random_random' -- Conan: Component target declared 'absl::random_bit_gen_ref' -- Conan: Component target declared 'absl::random_distributions' -- Conan: Component target declared 'absl::random_seed_gen_exception' -- Conan: Component target declared 'absl::random_seed_sequences' -- Conan: Component target declared 'absl::random_internal_traits' -- Conan: Component target declared 'absl::random_internal_distribution_caller' -- Conan: Component target declared 'absl::random_internal_fast_uniform_bits' -- Conan: Component target declared 'absl::random_internal_seed_material' -- Conan: Component target declared 'absl::random_internal_pool_urbg' -- Conan: Component target declared 'absl::random_internal_salted_seed_seq' -- Conan: Component target declared 'absl::random_internal_iostream_state_saver' -- Conan: Component target declared 'absl::random_internal_generate_real' -- Conan: Component target declared 'absl::random_internal_wide_multiply' -- Conan: Component target declared 'absl::random_internal_fastmath' -- Conan: Component target declared 'absl::random_internal_nonsecure_base' -- Conan: Component target declared 'absl::random_internal_pcg_engine' -- Conan: Component target declared 'absl::random_internal_randen_engine' -- Conan: Component target declared 'absl::random_internal_platform' -- Conan: Component target declared 'absl::random_internal_randen' -- Conan: Component target declared 'absl::random_internal_randen_slow' -- Conan: Component target declared 'absl::random_internal_randen_hwaes' -- Conan: Component target declared 'absl::random_internal_randen_hwaes_impl' -- Conan: Component target declared 'absl::random_internal_distribution_test_util' -- Conan: Component target declared 'absl::random_internal_uniform_helper' -- Conan: Component target declared 'absl::status' -- Conan: Component target declared 'absl::statusor' -- Conan: Component target declared 'absl::strings' -- Conan: Component target declared 'absl::strings_internal' -- Conan: Component target declared 'absl::str_format' -- Conan: Component target declared 'absl::str_format_internal' -- Conan: Component target declared 'absl::cord_internal' -- Conan: Component target declared 'absl::cordz_functions' -- Conan: Component target declared 'absl::cordz_handle' -- Conan: Component target declared 'absl::cordz_info' -- Conan: Component target declared 'absl::cordz_sample_token' -- Conan: Component target declared 'absl::cord' -- Conan: Component target declared 'absl::graphcycles_internal' -- Conan: Component target declared 'absl::kernel_timeout_internal' -- Conan: Component target declared 'absl::synchronization' -- Conan: Component target declared 'absl::time' -- Conan: Component target declared 'absl::civil_time' -- Conan: Component target declared 'absl::time_zone' -- Conan: Component target declared 'absl::any' -- Conan: Component target declared 'absl::bad_any_cast' -- Conan: Component target declared 'absl::bad_any_cast_impl' -- Conan: Component target declared 'absl::span' -- Conan: Component target declared 'absl::optional' -- Conan: Component target declared 'absl::bad_optional_access' -- Conan: Component target declared 'absl::bad_variant_access' -- Conan: Component target declared 'absl::variant' -- Conan: Component target declared 'absl::compare' -- Conan: Component target declared 'absl::utility' -- Conan: Component target declared 'absl::errno_saver' -- Conan: Component target declared 'absl::no_destructor' -- Conan: Component target declared 'absl::nullability' -- Conan: Component target declared 'absl::fast_type_id' -- Conan: Component target declared 'absl::prefetch' -- Conan: Component target declared 'absl::cleanup_internal' -- Conan: Component target declared 'absl::common_policy_traits' -- Conan: Component target declared 'absl::flags_path_util' -- Conan: Component target declared 'absl::overload' -- Conan: Component target declared 'absl::numeric_representation' -- Conan: Component target declared 'absl::has_ostream_operator' -- Conan: Component target declared 'absl::cordz_update_tracker' -- Conan: Component target declared 'absl::if_constexpr' -- Conan: Component target declared 'absl::cleanup' -- Conan: Component target declared 'absl::flags_program_name' -- Conan: Component target declared 'absl::flags_commandlineflag_internal' -- Conan: Component target declared 'absl::vlog_config_internal' -- Conan: Component target declared 'absl::random_internal_mock_helpers' -- Conan: Component target declared 'absl::string_view' -- Conan: Component target declared 'absl::cordz_statistics' -- Conan: Component target declared 'absl::cordz_update_scope' -- Conan: Component target declared 'absl::flags_config' -- Conan: Component target declared 'absl::flags_commandline ... output skipped ... abseil_dll.lib(abseil_dll.dll) : error LNK2005: "public: static class absl::lts_20240116::hash_internal::MixingHashState __cdecl absl::lts_20240116::hash_internal::MixingHashState::combine_contiguous(class absl::lts_20240116::hash_internal::MixingHashState,unsigned char const *,unsigned __int64)" (?combine_contiguous@MixingHashState@hash_internal@lts_20240116@absl@@SA?AV1234@V1234@PEBE_K@Z) already defined in libprotobuf.lib(descriptor.obj) [C:\Users\gmcdorman\git\CRSB.Conan2-Build-ThirdParty\build\ConanHome\p\b\grpce06250e8d935c\b\build\grpc_ruby_plugin.vcxproj] libprotobuf.lib(map.obj) : error LNK2001: unresolved external symbol "private: static void const * const absl::lts_20240116::hash_internal::MixingHashState::kSeed" (?kSeed@MixingHashState@hash_internal@lts_20240116@absl@@0QEBXEB) [C:\Users\gmcdorman\git\CRSB.Conan2-Build-ThirdParty\build\ConanHome\p\b\grpce06250e8d935c\b\build\grpc_ruby_plugin.vcxproj] libprotobuf.lib(map_field.obj) : error LNK2001: unresolved external symbol "private: static void const * const absl::lts_20240116::hash_internal::MixingHashState::kSeed" (?kSeed@MixingHashState@hash_internal@lts_20240116@absl@@0QEBXEB) [C:\Users\gmcdorman\git\CRSB.Conan2-Build-ThirdParty\build\ConanHome\p\b\grpce06250e8d935c\b\build\grpc_ruby_plugin.vcxproj] libprotobuf.lib(generated_message_reflection.obj) : error LNK2001: unresolved external symbol "private: static void const * const absl::lts_20240116::hash_internal::MixingHashState::kSeed" (?kSeed@MixingHashState@hash_internal@lts_20240116@absl@@0QEBXEB) [C:\Users\gmcdorman\git\CRSB.Conan2-Build-ThirdParty\build\ConanHome\p\b\grpce06250e8d935c\b\build\grpc_ruby_plugin.vcxproj] libprotobuf.lib(extension_set.obj) : error LNK2001: unresolved external symbol "private: static void const * const absl::lts_20240116::hash_internal::MixingHashState::kSeed" (?kSeed@MixingHashState@hash_internal@lts_20240116@absl@@0QEBXEB) [C:\Users\gmcdorman\git\CRSB.Conan2-Build-ThirdParty\build\ConanHome\p\b\grpce06250e8d935c\b\build\grpc_ruby_plugin.vcxproj] libprotobuf.lib(text_format.obj) : error LNK2001: unresolved external symbol "private: static void const * const absl::lts_20240116::hash_internal::MixingHashState::kSeed" (?kSeed@MixingHashState@hash_internal@lts_20240116@absl@@0QEBXEB) [C:\Users\gmcdorman\git\CRSB.Conan2-Build-ThirdParty\build\ConanHome\p\b\grpce06250e8d935c\b\build\grpc_ruby_plugin.vcxproj] libprotobuf.lib(dynamic_message.obj) : error LNK2001: unresolved external symbol "private: static void const * const absl::lts_20240116::hash_internal::MixingHashState::kSeed" (?kSeed@MixingHashState@hash_internal@lts_20240116@absl@@0QEBXEB) [C:\Users\gmcdorman\git\CRSB.Conan2-Build-ThirdParty\build\ConanHome\p\b\grpce06250e8d935c\b\build\grpc_ruby_plugin.vcxproj] libprotobuf.lib(descriptor.obj) : error LNK2001: unresolved external symbol "private: static void const * const absl::lts_20240116::hash_internal::MixingHashState::kSeed" (?kSeed@MixingHashState@hash_internal@lts_20240116@absl@@0QEBXEB) [C:\Users\gmcdorman\git\CRSB.Conan2-Build-ThirdParty\build\ConanHome\p\b\grpce06250e8d935c\b\build\grpc_ruby_plugin.vcxproj] libprotobuf.lib(printer.obj) : error LNK2001: unresolved external symbol "private: static void const * const absl::lts_20240116::hash_internal::MixingHashState::kSeed" (?kSeed@MixingHashState@hash_internal@lts_20240116@absl@@0QEBXEB) [C:\Users\gmcdorman\git\CRSB.Conan2-Build-ThirdParty\build\ConanHome\p\b\grpce06250e8d935c\b\build\grpc_ruby_plugin.vcxproj] libprotobuf.lib(generated_message_tctable_lite.obj) : error LNK2001: unresolved external symbol "private: static void const * const absl::lts_20240116::hash_internal::MixingHashState::kSeed" (?kSeed@MixingHashState@hash_internal@lts_20240116@absl@@0QEBXEB) [C:\Users\gmcdorman\git\CRSB.Conan2-Build-ThirdParty\build\ConanHome\p\b\grpce06250e8d935c\b\build\grpc_ruby_plugin.vcxproj] libprotobuf.lib(message.obj) : error LNK2001: unresolved external symbol "private: static void const * const absl::lts_20240116::hash_internal::MixingHashState::kSeed" (?kSeed@MixingHashState@hash_internal@lts_20240116@absl@@0QEBXEB) [C:\Users\gmcdorman\git\CRSB.Conan2-Build-ThirdParty\build\ConanHome\p\b\grpce06250e8d935c\b\build\grpc_ruby_plugin.vcxproj] libprotobuf.lib(extension_set.obj) : error LNK2001: unresolved external symbol "enum absl::lts_20240116::container_internal::ctrl_t const * const absl::lts_20240116::container_internal::kEmptyGroup" (?kEmptyGroup@container_internal@lts_20240116@absl@@3QBW4ctrl_t@123@B) [C:\Users\gmcdorman\git\CRSB.Conan2-Build-ThirdParty\build\ConanHome\p\b\grpce06250e8d935c\b\build\grpc_ruby_plugin.vcxproj] libprotobuf.lib(text_format.obj) : error LNK2001: unresolved external symbol "enum absl::lts_20240116::container_internal::ctrl_t const * const absl::lts_20240116::container_internal::kEmptyGroup" (?kEmptyGroup@container_internal@lts_20240116@absl@@3QBW4ctrl_t@123@B) [C:\Users\gmcdorman\git\CRSB.Conan2-Build-ThirdParty\build\ConanHome\p\b\grpce06250e8d935c\b\build\grpc_ruby_plugin.vcxproj] libprotobuf.lib(dynamic_message.obj) : error LNK2001: unresolved external symbol "enum absl::lts_20240116::container_internal::ctrl_t const * const absl::lts_20240116::container_internal::kEmptyGroup" (?kEmptyGroup@container_internal@lts_20240116@absl@@3QBW4ctrl_t@123@B) [C:\Users\gmcdorman\git\CRSB.Conan2-Build-ThirdParty\build\ConanHome\p\b\grpce06250e8d935c\b\build\grpc_ruby_plugin.vcxproj] libprotobuf.lib(descriptor.obj) : error LNK2001: unresolved external symbol "enum absl::lts_20240116::container_internal::ctrl_t const * const absl::lts_20240116::container_internal::kEmptyGroup" (?kEmptyGroup@container_internal@lts_20240116@absl@@3QBW4ctrl_t@123@B) [C:\Users\gmcdorman\git\CRSB.Conan2-Build-ThirdParty\build\ConanHome\p\b\grpce06250e8d935c\b\build\grpc_ruby_plugin.vcxproj] libprotobuf.lib(printer.obj) : error LNK2001: unresolved external symbol "enum absl::lts_20240116::container_internal::ctrl_t const * const absl::lts_20240116::container_internal::kEmptyGroup" (?kEmptyGroup@container_internal@lts_20240116@absl@@3QBW4ctrl_t@123@B) [C:\Users\gmcdorman\git\CRSB.Conan2-Build-ThirdParty\build\ConanHome\p\b\grpce06250e8d935c\b\build\grpc_ruby_plugin.vcxproj] libprotobuf.lib(message.obj) : error LNK2001: unresolved external symbol "enum absl::lts_20240116::container_internal::ctrl_t const * const absl::lts_20240116::container_internal::kEmptyGroup" (?kEmptyGroup@container_internal@lts_20240116@absl@@3QBW4ctrl_t@123@B) [C:\Users\gmcdorman\git\CRSB.Conan2-Build-ThirdParty\build\ConanHome\p\b\grpce06250e8d935c\b\build\grpc_ruby_plugin.vcxproj] libprotobuf.lib(generated_message_reflection.obj) : error LNK2001: unresolved external symbol "enum absl::lts_20240116::container_internal::ctrl_t const * const absl::lts_20240116::container_internal::kEmptyGroup" (?kEmptyGroup@container_internal@lts_20240116@absl@@3QBW4ctrl_t@123@B) [C:\Users\gmcdorman\git\CRSB.Conan2-Build-ThirdParty\build\ConanHome\p\b\grpce06250e8d935c\b\build\grpc_ruby_plugin.vcxproj] libprotobuf.lib(descriptor.obj) : error LNK2019: unresolved external symbol "unsigned char const * const absl::lts_20240116::ascii_internal::kPropertyBits" (?kPropertyBits@ascii_internal@lts_20240116@absl@@3QBEB) referenced in function "void __cdecl absl::lts_20240116::StripAsciiWhitespace(class std::basic_string,class std::allocator > *)" (?StripAsciiWhitespace@lts_20240116@absl@@YAXPEAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z) [C:\Users\gmcdorman\git\CRSB.Conan2-Build-ThirdParty\build\ConanHome\p\b\grpce06250e8d935c\b\build\grpc_ruby_plugin.vcxproj] libprotobuf.lib(printer.obj) : error LNK2001: unresolved external symbol "unsigned char const * const absl::lts_20240116::ascii_internal::kPropertyBits" (?kPropertyBits@ascii_internal@lts_20240116@absl@@3QBEB) [C:\Users\gmcdorman\git\CRSB.Conan2-Build-ThirdParty\build\ConanHome\p\b\grpce06250e8d935c\b\build\grpc_ruby_plugin.vcxproj] libprotobuf.lib(io_win32.obj) : error LNK2001: unresolved external symbol "unsigned char const * const absl::lts_20240116::ascii_internal::kPropertyBits" (?kPropertyBits@ascii_internal@lts_20240116@absl@@3QBEB) [C:\Users\gmcdorman\git\CRSB.Conan2-Build-ThirdParty\build\ConanHome\p\b\grpce06250e8d935c\b\build\grpc_ruby_plugin.vcxproj] libprotobuf.lib(descriptor.obj) : error LNK2019: unresolved external symbol "char const * const absl::lts_20240116::ascii_internal::kToUpper" (?kToUpper@ascii_internal@lts_20240116@absl@@3QBDB) referenced in function "class std::basic_string,class std::allocator > __cdecl google::protobuf::`anonymous namespace'::EnumValueToPascalCase(class std::basic_string,class std::allocator > const &)" (?EnumValueToPascalCase@?A0xdc71b1f4@protobuf@google@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AEBV45@@Z) [C:\Users\gmcdorman\git\CRSB.Conan2-Build-ThirdParty\build\ConanHome\p\b\grpce06250e8d935c\b\build\grpc_ruby_plugin.vcxproj] libprotobuf.lib(descriptor.obj) : error LNK2019: unresolved external symbol "char const * const absl::lts_20240116::ascii_internal::kToLower" (?kToLower@ascii_internal@lts_20240116@absl@@3QBDB) referenced in function "private: void __cdecl google::protobuf::DescriptorBuilder::CheckEnumValueUniqueness(class google::protobuf::EnumDescriptorProto const &,class google::protobuf::EnumDescriptor const *)" (?CheckEnumValueUniqueness@DescriptorBuilder@protobuf@google@@AEAAXAEBVEnumDescriptorProto@23@PEBVEnumDescriptor@23@@Z) [C:\Users\gmcdorman\git\CRSB.Conan2-Build-ThirdParty\build\ConanHome\p\b\grpce06250e8d935c\b\build\grpc_ruby_plugin.vcxproj] libprotobuf.lib(message_lite.obj) : error LNK2019: unresolved external symbol "char const * const absl::lts_20240116::numbers_internal::kHexTable" (?kHexTable@numbers_internal@lts_20240116@absl@@3QBDB) referenced in function "class absl::lts_20240116::string_view __cdecl absl::lts_20240116::strings_internal::ExtractStringification(class absl::lts_20240116::strings_internal::StringifySink &,struct absl::lts_20240116::Hex const &)" (??$ExtractStringification@UHex@lts_20240116@absl@@@strings_internal@lts_20240116@absl@@YA?AVstring_view@12@AEAVStringifySink@012@AEBUHex@12@@Z) [C:\Users\gmcdorman\git\CRSB.Conan2-Build-ThirdParty\build\ConanHome\p\b\grpce06250e8d935c\b\build\grpc_ruby_plugin.vcxproj] libprotobuf.lib(text_format.obj) : error LNK2001: unresolved external symbol "char const * const absl::lts_20240116::numbers_internal::kHexTable" (?kHexTable@numbers_internal@lts_20240116@absl@@3QBDB) [C:\Users\gmcdorman\git\CRSB.Conan2-Build-ThirdParty\build\ConanHome\p\b\grpce06250e8d935c\b\build\grpc_ruby_plugin.vcxproj] libprotobuf.lib(common.obj) : error LNK2001: unresolved external symbol "class std::array const absl::lts_20240116::log_internal::kCharNull" (?kCharNull@log_internal@lts_20240116@absl@@3V?$array@D$06@std@@B) [C:\Users\gmcdorman\git\CRSB.Conan2-Build-ThirdParty\build\ConanHome\p\b\grpce06250e8d935c\b\build\grpc_ruby_plugin.vcxproj] libprotobuf.lib(text_format.obj) : error LNK2001: unresolved external symbol "class std::array const absl::lts_20240116::log_internal::kCharNull" (?kCharNull@log_internal@lts_20240116@absl@@3V?$array@D$06@std@@B) [C:\Users\gmcdorman\git\CRSB.Conan2-Build-ThirdParty\build\ConanHome\p\b\grpce06250e8d935c\b\build\grpc_ruby_plugin.vcxproj] libprotobuf.lib(reflection_ops.obj) : error LNK2001: unresolved external symbol "class std::array const absl::lts_20240116::log_internal::kCharNull" (?kCharNull@log_internal@lts_20240116@absl@@3V?$array@D$06@std@@B) [C:\Users\gmcdorman\git\CRSB.Conan2-Build-ThirdParty\build\ConanHome\p\b\grpce06250e8d935c\b\build\grpc_ruby_plugin.vcxproj] libprotobuf.lib(zero_copy_stream_impl.obj) : error LNK2001: unresolved external symbol "class std::array const absl::lts_20240116::log_internal::kCharNull" (?kCharNull@log_internal@lts_20240116@absl@@3V?$array@D$06@std@@B) [C:\Users\gmcdorman\git\CRSB.Conan2-Build-ThirdParty\build\ConanHome\p\b\grpce06250e8d935c\b\build\grpc_ruby_plugin.vcxproj] libprotobuf.lib(map_field.obj) : error LNK2001: unresolved external symbol "class std::array const absl::lts_20240116::log_internal::kCharNull" (?kCharNull@log_internal@lts_20240116@absl@@3V?$array@D$06@std@@B) [C:\Users\gmcdorman\git\CRSB.Conan2-Build-ThirdParty\build\ConanHome\p\b\grpce06250e8d935c\b\build\grpc_ruby_plugin.vcxproj] libprotobuf.lib(repeated_ptr_field.obj) : error LNK2001: unresolved external symbol "class std::array const absl::lts_20240116::log_internal::kCharNull" (?kCharNull@log_internal@lts_20240116@absl@@3V?$array@D$06@std@@B) [C:\Users\gmcdorman\git\CRSB.Conan2-Build-ThirdParty\build\ConanHome\p\b\grpce06250e8d935c\b\build\grpc_ruby_plugin.vcxproj] libprotobuf.lib(message.obj) : error LNK2001: unresolved external symbol "class std::array const absl::lts_20240116::log_internal::kCharNull" (?kCharNull@log_internal@lts_20240116@absl@@3V?$array@D$06@std@@B) [C:\Users\gmcdorman\git\CRSB.Conan2-Build-ThirdParty\build\ConanHome\p\b\grpce06250e8d935c\b\build\grpc_ruby_plugin.vcxproj] libprotobuf.lib(generated_message_reflection.obj) : error LNK2001: unresolved external symbol "class std::array const absl::lts_20240116::log_internal::kCharNull" (?kCharNull@log_internal@lts_20240116@absl@@3V?$array@D$06@std@@B) [C:\Users\gmcdorman\git\CRSB.Conan2-Build-ThirdParty\build\ConanHome\p\b\grpce06250e8d935c\b\build\grpc_ruby_plugin.vcxproj] libprotobuf.lib(wire_format.obj) : error LNK2001: unresolved external symbol "class std::array const absl::lts_20240116::log_internal::kCharNull" (?kCharNull@log_internal@lts_20240116@absl@@3V?$array@D$06@std@@B) [C:\Users\gmcdorman\git\CRSB.Conan2-Build-ThirdParty\build\ConanHome\p\b\grpce06250e8d935c\b\build\grpc_ruby_plugin.vcxproj] C:\Users\gmcdorman\git\CRSB.Conan2-Build-ThirdParty\build\ConanHome\p\b\grpce06250e8d935c\b\build\Release\grpc_ruby_plugin.exe : fatal error LNK1120: 7 unresolved externals [C:\Users\gmcdorman\git\CRSB.Conan2-Build-ThirdParty\build\ConanHome\p\b\grpce06250e8d935c\b\build\grpc_ruby_plugin.vcxproj] grpc/1.65.0: ERROR: Package '339cda98e1bc42747bf60f343bbcb84276e9a380' build failed grpc/1.65.0: WARN: Build folder C:\Users\gmcdorman\git\CRSB.Conan2-Build-ThirdParty\build\ConanHome\p\b\grpce06250e8d935c\b\build ERROR: grpc/1.65.0: Error in build() method, line 243 cmake.build() ConanException: Error 1 while executing ```
gmcdorman-opentext commented 1 month ago

It also fails if the abseil library is forced to a shared version, as the abseil bin directory apparently isn't included in the path (grpc requires building with a tool in protobuf, which uses abseil and as a result must be able to find the shared library at build time).