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

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

Open
gmcdorman-opentext opened this issue Oct 15, 2024 · 1 comment
Labels
bug Something isn't working

Comments

@gmcdorman-opentext
Copy link

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:

  • Fetch abseil with the shared-library option
  • Install protobuf and force the build (i.e. conan install --requires=protobuf/5.27.0 --build=protobuf/5.27.0 --profile:host ... ) so the protobuf in the cache was built against the shared-library abseil
  • Install grpc

Package and Environment Details

  • Package Name/Version: grpc/1.65.0 and protobuf/5.27.0
  • Operating System+version: Windows 11
  • Compiler+version: Visual Studio 2019, 19.29.30154 (compiler.version=192)
  • Conan version: Conan version 2.8.0
  • Python version: Python 3.7.4

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=$<$<CONFIG:Release>: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<char,struct std::char_traits<char>,class std::allocator<char> > *)" (?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<char,struct std::char_traits<char>,class std::allocator<char> > __cdecl google::protobuf::`anonymous namespace'::EnumValueToPascalCase(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > 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<struct absl::lts_20240116::Hex>(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<char,7> 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<char,7> 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<char,7> 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<char,7> 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<char,7> 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<char,7> 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<char,7> 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<char,7> 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<char,7> 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 gmcdorman-opentext added the bug Something isn't working label Oct 15, 2024
@gmcdorman-opentext
Copy link
Author

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).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

1 participant