In my company we try to create packages of gRPC and all dependencies in our private conan repository. Currently we stuck with gcc6.4.0 and VS2017. I had currently created packages for these dependencies:
abseil-cpp: “20210324.2”
c-ares: “1.28.1”
protobuf: “3.21.12”
re2: “2023-03-01”
openssl: “1.1.1s”
zlib: “1.2.13”
And now to the point. I can compile gRPC 1.47.4 under linux and macos, but under windows I get errors like that:
[2024-06-20T14:18:33.372Z] C:jw@tmp.cnnbe3a4e1includeabsl/meta/type_traits.h(166): error C2280: 'absl::lts_20210324::variant_internal::Union<T0,grpc_core::RefCountedPtr<Child>> &absl::lts_20210324::variant_internal::Union<T0,grpc_core::RefCountedPtr<Child>>::operator =(const absl::lts_20210324::variant_internal::Union<T0,grpc_core::RefCountedPtr<Child>> &)': attempting to reference a deleted function [C:jw@tmp.cnn7e4d971_bld.Debug_srcgrpc.vcxproj]
[2024-06-20T14:18:33.372Z] with
[2024-06-20T14:18:33.372Z] [
[2024-06-20T14:18:33.372Z] T0=grpc_core::Pending,
[2024-06-20T14:18:33.372Z] Child=grpc_core::ReclaimerQueue::Handle
[2024-06-20T14:18:33.372Z] C:jw@tmp.cnnbe3a4e1includeabsl/meta/type_traits.h(166): error C2280: 'absl::lts_20210324::variant_internal::Union<T0,grpc_core::RefCountedPtr<Child>> &absl::lts_20210324::variant_internal::Union<T0,grpc_core::RefCountedPtr<Child>>::operator =(const absl::lts_20210324::variant_internal::Union<T0,grpc_core::RefCountedPtr<Child>> &)': attempting to reference a deleted function [C:jw@tmp.cnn7e4d971_bld.Debug_srcgrpc_unsecure.vcxproj]
[2024-06-20T14:18:33.372Z] with
[2024-06-20T14:18:33.372Z] [
[2024-06-20T14:18:33.372Z] T0=grpc_core::Pending,
[2024-06-20T14:18:33.372Z] Child=grpc_core::ReclaimerQueue::Handle
[2024-06-20T14:18:33.372Z] ] (compiling source file C:jw@tmp.cnn7e4d971_srcsrccoreextfilterscensusgrpc_context.cc)
[2024-06-20T14:18:33.372Z] C:jw@tmp.cnnbe3a4e1includeabsl/meta/type_traits.h(166): error C2280: 'absl::lts_20210324::variant_internal::Union<T0,grpc_core::RefCountedPtr<Child>> &absl::lts_20210324::variant_internal::Union<T0,grpc_core::RefCountedPtr<Child>>::operator =(const absl::lts_20210324::variant_internal::Union<T0,grpc_core::RefCountedPtr<Child>> &)': attempting to reference a deleted function [C:jw@tmp.cnn7e4d971_bld.Debug_srcgrpc_unsecure.vcxproj]
[2024-06-20T14:18:33.372Z] with
[2024-06-20T14:18:33.372Z] ] (compiling source file C:jw@tmp.cnn7e4d971_srcsrccoreextfilterscensusgrpc_context.cc)
[2024-06-20T14:18:33.372Z] [
[2024-06-20T14:18:33.372Z] T0=grpc_core::Pending,
[2024-06-20T14:18:33.372Z] Child=grpc_core::ReclaimerQueue::Handle
[2024-06-20T14:18:33.372Z] ] (compiling source file C:jw@tmp.cnn7e4d971_srcsrccoreextfilterschannel_idlechannel_idle_filter.cc)
[2024-06-20T14:18:33.372Z] C:jw@tmp.cnnbe3a4e1includeabsl/meta/type_traits.h(166): error C2280: 'absl::lts_20210324::variant_internal::Union<T0,grpc_core::RefCountedPtr<Child>> &absl::lts_20210324::variant_internal::Union<T0,grpc_core::RefCountedPtr<Child>>::operator =(const absl::lts_20210324::variant_internal::Union<T0,grpc_core::RefCountedPtr<Child>> &)': attempting to reference a deleted function [C:jw@tmp.cnn7e4d971_bld.Debug_srcgrpc.vcxproj]
The strange thing is that I compiled that locally without errors, but on our CI/CD pipeline these errors shows during compilation.
I updated abseil libraries to supported version (patch 2), I tried many setting, force C++14 standard without extensions. I want to compile gRPC without errors, but I do not knwo how resolve that error :/ Could you help me?
nablit is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.