conan-center-index: [package] google-cloud-cpp/1.31.1: Does not build with gcc 11

Package and Environment Details (include every applicable attribute)

  • Package Name/Version: google-cloud-cpp
  • Operating System+version: Linux Ubuntu 21.04
  • Compiler+version: GCC 11
  • Conan version: conan 1.45.0

Conan profile

[settings]
os=Linux
os_build=Linux
arch=x86_64
arch_build=x86_64
compiler=gcc
compiler.version=11
compiler.libcxx=libstdc++11
build_type=Release
[options]
[build_requires]
[env]
CC=/usr/bin/gcc-11
CXX=/usr/bin/g++-11
CXXFLAGS=
[conf]
tools.cmake.cmaketoolchain:user_toolchain = {{ os.path.join(profile_dir, "../../toolchains/linux/gcc-libstdc++.cmake") }}

The toolchain only contains some definitions for gcc-11 and does not really matter it will also break with a default gcc 11 build.

Steps to reproduce (Include if Applicable)

Logs (Include/Attach if Applicable)

Click to expand log
/usr/bin/ld: ../../lib/libgoogle_cloud_cpp_generator.a(codegen_utils.cc.o): in function `google::cloud::generator_internal::CurrentCopyrightYear[abi:cxx11]()':
codegen_utils.cc:(.text+0x125): undefined reference to `absl::lts_20211102::FormatTime[abi:cxx11](absl::lts_20211102::string_view, absl::lts_20211102::Time, absl::lts_20211102::TimeZone)'
/usr/bin/ld: ../../lib/libgoogle_cloud_cpp_generator.a(codegen_utils.cc.o): in function `google::cloud::generator_internal::ProtoNameToCppName[abi:cxx11](absl::lts_20211102::string_view)':
codegen_utils.cc:(.text+0x31e): undefined reference to `absl::lts_20211102::StrReplaceAll[abi:cxx11](absl::lts_20211102::string_view, std::initializer_list<std::pair<absl::lts_20211102::string_view, absl::lts_20211102::string_view> >)'
/usr/bin/ld: ../../lib/libgoogle_cloud_cpp_generator.a(codegen_utils.cc.o): in function `google::cloud::generator_internal::BuildNamespaces(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, google::cloud::generator_internal::NamespaceType)':
codegen_utils.cc:(.text+0x437): undefined reference to `absl::lts_20211102::ByChar::Find(absl::lts_20211102::string_view, unsigned long) const'
/usr/bin/ld: codegen_utils.cc:(.text+0x51c): undefined reference to `absl::lts_20211102::ByChar::Find(absl::lts_20211102::string_view, unsigned long) const'
/usr/bin/ld: ../../lib/libgoogle_cloud_cpp_generator.a(codegen_utils.cc.o): in function `google::cloud::generator_internal::CamelCaseToSnakeCase[abi:cxx11](absl::lts_20211102::string_view)':
codegen_utils.cc:(.text+0x12ba): undefined reference to `absl::lts_20211102::strings_internal::ApplySubstitutions(absl::lts_20211102::string_view, std::vector<absl::lts_20211102::strings_internal::ViableSubstitution, std::allocator<absl::lts_20211102::strings_internal::ViableSubstitution> >*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*)'
/usr/bin/ld: ../../lib/libgoogle_cloud_cpp_generator.a(codegen_utils.cc.o): in function `google::cloud::generator_internal::ServiceNameToFilePath[abi:cxx11](absl::lts_20211102::string_view)':
codegen_utils.cc:(.text+0x18f6): undefined reference to `absl::lts_20211102::ByChar::Find(absl::lts_20211102::string_view, unsigned long) const'
/usr/bin/ld: codegen_utils.cc:(.text+0x19ab): undefined reference to `absl::lts_20211102::ByChar::Find(absl::lts_20211102::string_view, unsigned long) const'
/usr/bin/ld: ../../lib/libgoogle_cloud_cpp_generator.a(codegen_utils.cc.o): in function `std::vector<absl::lts_20211102::strings_internal::ViableSubstitution, std::allocator<absl::lts_20211102::strings_internal::ViableSubstitution> > absl::lts_20211102::strings_internal::FindSubstitutions<std::vector<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > >(absl::lts_20211102::string_view, std::vector<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&)':
codegen_utils.cc:(.text._ZN4absl12lts_2021110216strings_internal17FindSubstitutionsISt6vectorISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESA_ESaISB_EEEES3_INS1_18ViableSubstitutionESaISE_EENS0_11string_viewERKT_[_ZN4absl12lts_2021110216strings_internal17FindSubstitutionsISt6vectorISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESA_ESaISB_EEEES3_INS1_18ViableSubstitutionESaISE_EENS0_11string_viewERKT_]+0x94): undefined reference to `absl::lts_20211102::string_view::find(absl::lts_20211102::string_view, unsigned long) const'
/usr/bin/ld: ../../lib/libgoogle_cloud_cpp_generator.a(descriptor_utils.cc.o): in function `absl::lts_20211102::strings_internal::Splitter<absl::lts_20211102::ByChar, absl::lts_20211102::AllowEmpty, absl::lts_20211102::string_view>::ConvertToContainer<std::vector<absl::lts_20211102::string_view, std::allocator<absl::lts_20211102::string_view> >, absl::lts_20211102::string_view, false>::operator()(absl::lts_20211102::strings_internal::Splitter<absl::lts_20211102::ByChar, absl::lts_20211102::AllowEmpty, absl::lts_20211102::string_view> const&) const [clone .isra.0]':
descriptor_utils.cc:(.text+0xa07): undefined reference to `absl::lts_20211102::ByChar::Find(absl::lts_20211102::string_view, unsigned long) const'
/usr/bin/ld: descriptor_utils.cc:(.text+0xa9b): undefined reference to `absl::lts_20211102::ByChar::Find(absl::lts_20211102::string_view, unsigned long) const'
/usr/bin/ld: ../../lib/libgoogle_cloud_cpp_generator.a(descriptor_utils.cc.o): in function `google::cloud::generator_internal::(anonymous namespace)::FormatDoxygenLink(google::protobuf::Descriptor const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
descriptor_utils.cc:(.text+0x1775): undefined reference to `absl::lts_20211102::strings_internal::CatPieces[abi:cxx11](std::initializer_list<absl::lts_20211102::string_view>)'
/usr/bin/ld: ../../lib/libgoogle_cloud_cpp_generator.a(descriptor_utils.cc.o): in function `google::cloud::generator_internal::FormatMethodCommentsFromRpcComments[abi:cxx11](google::protobuf::MethodDescriptor const&, google::cloud::generator_internal::MethodParameterStyle)':
descriptor_utils.cc:(.text+0x2a8c): undefined reference to `absl::lts_20211102::StrReplaceAll[abi:cxx11](absl::lts_20211102::string_view, std::initializer_list<std::pair<absl::lts_20211102::string_view, absl::lts_20211102::string_view> >)'
/usr/bin/ld: descriptor_utils.cc:(.text+0x2aad): undefined reference to `absl::lts_20211102::StrReplaceAll[abi:cxx11](absl::lts_20211102::string_view, std::initializer_list<std::pair<absl::lts_20211102::string_view, absl::lts_20211102::string_view> >)'
/usr/bin/ld: descriptor_utils.cc:(.text+0x2e8a): undefined reference to `absl::lts_20211102::StrReplaceAll[abi:cxx11](absl::lts_20211102::string_view, std::initializer_list<std::pair<absl::lts_20211102::string_view, absl::lts_20211102::string_view> >)'
/usr/bin/ld: descriptor_utils.cc:(.text+0x2eb0): undefined reference to `absl::lts_20211102::StrReplaceAll[abi:cxx11](absl::lts_20211102::string_view, std::initializer_list<std::pair<absl::lts_20211102::string_view, absl::lts_20211102::string_view> >)'
/usr/bin/ld: descriptor_utils.cc:(.text+0x2fdb): undefined reference to `absl::lts_20211102::strings_internal::CatPieces[abi:cxx11](std::initializer_list<absl::lts_20211102::string_view>)'
/usr/bin/ld: descriptor_utils.cc:(.text+0x3878): undefined reference to `absl::lts_20211102::strings_internal::CatPieces[abi:cxx11](std::initializer_list<absl::lts_20211102::string_view>)'
/usr/bin/ld: ../../lib/libgoogle_cloud_cpp_generator.a(descriptor_utils.cc.o): in function `google::cloud::generator_internal::CreateServiceVars(google::protobuf::ServiceDescriptor const&, std::vector<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&)':
descriptor_utils.cc:(.text+0x5a9a): undefined reference to `absl::lts_20211102::StrReplaceAll[abi:cxx11](absl::lts_20211102::string_view, std::initializer_list<std::pair<absl::lts_20211102::string_view, absl::lts_20211102::string_view> >)'
/usr/bin/ld: descriptor_utils.cc:(.text+0x5b97): undefined reference to `absl::lts_20211102::StrReplaceAll[abi:cxx11](absl::lts_20211102::string_view, std::initializer_list<std::pair<absl::lts_20211102::string_view, absl::lts_20211102::string_view> >)'
/usr/bin/ld: ../../lib/libgoogle_cloud_cpp_generator.a(descriptor_utils.cc.o): in function `google::cloud::generator_internal::PrintMethod(google::protobuf::MethodDescriptor const&, google::cloud::generator_internal::Printer&, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::vector<google::cloud::generator_internal::Pattern<google::protobuf::MethodDescriptor>, std::allocator<google::cloud::generator_internal::Pattern<google::protobuf::MethodDescriptor> > > const&, char const*, int)':
descriptor_utils.cc:(.text+0x8ef5): undefined reference to `absl::lts_20211102::strings_internal::CatPieces[abi:cxx11](std::initializer_list<absl::lts_20211102::string_view>)'
/usr/bin/ld: descriptor_utils.cc:(.text+0x90b8): undefined reference to `absl::lts_20211102::strings_internal::CatPieces[abi:cxx11](std::initializer_list<absl::lts_20211102::string_view>)'
/usr/bin/ld: ../../lib/libgoogle_cloud_cpp_generator.a(descriptor_utils.cc.o): in function `google::cloud::generator_internal::CreateMethodVars(google::protobuf::ServiceDescriptor const&, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&)':
descriptor_utils.cc:(.text+0xc491): undefined reference to `absl::lts_20211102::variant_internal::ThrowBadVariantAccess()'
/usr/bin/ld: descriptor_utils.cc:(.text+0xc496): undefined reference to `absl::lts_20211102::variant_internal::ThrowBadVariantAccess()'
/usr/bin/ld: descriptor_utils.cc:(.text+0xc4a0): undefined reference to `absl::lts_20211102::variant_internal::ThrowBadVariantAccess()'
/usr/bin/ld: descriptor_utils.cc:(.text+0xc4b1): undefined reference to `absl::lts_20211102::variant_internal::ThrowBadVariantAccess()'
/usr/bin/ld: ../../lib/libgoogle_cloud_cpp_generator.a(service_code_generator.cc.o): in function `absl::lts_20211102::strings_internal::Splitter<absl::lts_20211102::ByChar, absl::lts_20211102::AllowEmpty, absl::lts_20211102::string_view>::ConvertToContainer<std::vector<absl::lts_20211102::string_view, std::allocator<absl::lts_20211102::string_view> >, absl::lts_20211102::string_view, false>::operator()(absl::lts_20211102::strings_internal::Splitter<absl::lts_20211102::ByChar, absl::lts_20211102::AllowEmpty, absl::lts_20211102::string_view> const&) const [clone .isra.0]':
service_code_generator.cc:(.text+0x157): undefined reference to `absl::lts_20211102::ByChar::Find(absl::lts_20211102::string_view, unsigned long) const'
/usr/bin/ld: service_code_generator.cc:(.text+0x1eb): undefined reference to `absl::lts_20211102::ByChar::Find(absl::lts_20211102::string_view, unsigned long) const'
/usr/bin/ld: ../../lib/libgoogle_cloud_cpp_generator.a(service_code_generator.cc.o): in function `google::cloud::generator_internal::ServiceCodeGenerator::SetVars(absl::lts_20211102::string_view)':
service_code_generator.cc:(.text+0x5ee4): undefined reference to `absl::lts_20211102::StrReplaceAll[abi:cxx11](absl::lts_20211102::string_view, std::initializer_list<std::pair<absl::lts_20211102::string_view, absl::lts_20211102::string_view> >)'
/usr/bin/ld: ../../lib/libgoogle_cloud_cpp_common.a(log.cc.o): in function `google::cloud::v1::operator<<(std::ostream&, google::cloud::v1::LogRecord const&)':
log.cc:(.text+0x2c3): undefined reference to `absl::lts_20211102::FormatTime[abi:cxx11](absl::lts_20211102::string_view, absl::lts_20211102::Time, absl::lts_20211102::TimeZone)'
/usr/bin/ld: ../../lib/libgoogle_cloud_cpp_common.a(log.cc.o): in function `google::cloud::v1::internal::DefaultLogBackend()':
log.cc:(.text+0xcf1): undefined reference to `absl::lts_20211102::ByChar::Find(absl::lts_20211102::string_view, unsigned long) const'
/usr/bin/ld: log.cc:(.text+0xd8e): undefined reference to `absl::lts_20211102::ByChar::Find(absl::lts_20211102::string_view, unsigned long) const'
collect2: error: ld returned 1 exit status
gmake[2]: *** [source_subfolder/generator/CMakeFiles/protoc-gen-cpp_codegen.dir/build.make:213: bin/protoc-gen-cpp_codegen] Error 1
gmake[1]: *** [CMakeFiles/Makefile2:2401: source_subfolder/generator/CMakeFiles/protoc-gen-cpp_codegen.dir/all] Error 2
gmake[1]: *** Waiting for unfinished jobs....
[ 90%] Building CXX object source_subfolder/google/cloud/pubsub/CMakeFiles/google_cloud_cpp_pubsub.dir/internal/publisher_round_robin.cc.o
[ 90%] Building CXX object source_subfolder/google/cloud/pubsub/CMakeFiles/google_cloud_cpp_pubsub.dir/internal/publisher_stub.cc.o
[ 90%] Linking CXX executable ../../bin/google-cloud-cpp-codegen
/usr/bin/ld: CMakeFiles/google-cloud-cpp-codegen.dir/standalone_main.cc.o: in function `void* absl::lts_20211102::flags_internal::FlagOps<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(absl::lts_20211102::flags_internal::FlagOp, void const*, void*, void*)':
standalone_main.cc:(.text._ZN4absl12lts_2021110214flags_internal7FlagOpsINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEPvNS1_6FlagOpEPKvS9_S9_[_ZN4absl12lts_2021110214flags_internal7FlagOpsINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEPvNS1_6FlagOpEPKvS9_S9_]+0x102): undefined reference to `absl::lts_20211102::flags_internal::AbslUnparseFlag[abi:cxx11](absl::lts_20211102::string_view)'
/usr/bin/ld: standalone_main.cc:(.text._ZN4absl12lts_2021110214flags_internal7FlagOpsINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEPvNS1_6FlagOpEPKvS9_S9_[_ZN4absl12lts_2021110214flags_internal7FlagOpsINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEPvNS1_6FlagOpEPKvS9_S9_]+0x1e3): undefined reference to `absl::lts_20211102::flags_internal::AbslParseFlag(absl::lts_20211102::string_view, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*)'
/usr/bin/ld: ../../lib/libgoogle_cloud_cpp_generator.a(codegen_utils.cc.o): in function `google::cloud::generator_internal::CurrentCopyrightYear[abi:cxx11]()':
codegen_utils.cc:(.text+0x125): undefined reference to `absl::lts_20211102::FormatTime[abi:cxx11](absl::lts_20211102::string_view, absl::lts_20211102::Time, absl::lts_20211102::TimeZone)'
/usr/bin/ld: ../../lib/libgoogle_cloud_cpp_generator.a(codegen_utils.cc.o): in function `google::cloud::generator_internal::ProtoNameToCppName[abi:cxx11](absl::lts_20211102::string_view)':
codegen_utils.cc:(.text+0x31e): undefined reference to `absl::lts_20211102::StrReplaceAll[abi:cxx11](absl::lts_20211102::string_view, std::initializer_list<std::pair<absl::lts_20211102::string_view, absl::lts_20211102::string_view> >)'
/usr/bin/ld: ../../lib/libgoogle_cloud_cpp_generator.a(codegen_utils.cc.o): in function `google::cloud::generator_internal::BuildNamespaces(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, google::cloud::generator_internal::NamespaceType)':
codegen_utils.cc:(.text+0x437): undefined reference to `absl::lts_20211102::ByChar::Find(absl::lts_20211102::string_view, unsigned long) const'
/usr/bin/ld: codegen_utils.cc:(.text+0x51c): undefined reference to `absl::lts_20211102::ByChar::Find(absl::lts_20211102::string_view, unsigned long) const'
/usr/bin/ld: ../../lib/libgoogle_cloud_cpp_generator.a(codegen_utils.cc.o): in function `google::cloud::generator_internal::CamelCaseToSnakeCase[abi:cxx11](absl::lts_20211102::string_view)':
codegen_utils.cc:(.text+0x12ba): undefined reference to `absl::lts_20211102::strings_internal::ApplySubstitutions(absl::lts_20211102::string_view, std::vector<absl::lts_20211102::strings_internal::ViableSubstitution, std::allocator<absl::lts_20211102::strings_internal::ViableSubstitution> >*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*)'
/usr/bin/ld: ../../lib/libgoogle_cloud_cpp_generator.a(codegen_utils.cc.o): in function `google::cloud::generator_internal::ServiceNameToFilePath[abi:cxx11](absl::lts_20211102::string_view)':
codegen_utils.cc:(.text+0x18f6): undefined reference to `absl::lts_20211102::ByChar::Find(absl::lts_20211102::string_view, unsigned long) const'
/usr/bin/ld: codegen_utils.cc:(.text+0x19ab): undefined reference to `absl::lts_20211102::ByChar::Find(absl::lts_20211102::string_view, unsigned long) const'
/usr/bin/ld: ../../lib/libgoogle_cloud_cpp_generator.a(codegen_utils.cc.o): in function `std::vector<absl::lts_20211102::strings_internal::ViableSubstitution, std::allocator<absl::lts_20211102::strings_internal::ViableSubstitution> > absl::lts_20211102::strings_internal::FindSubstitutions<std::vector<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > >(absl::lts_20211102::string_view, std::vector<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&)':
codegen_utils.cc:(.text._ZN4absl12lts_2021110216strings_internal17FindSubstitutionsISt6vectorISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESA_ESaISB_EEEES3_INS1_18ViableSubstitutionESaISE_EENS0_11string_viewERKT_[_ZN4absl12lts_2021110216strings_internal17FindSubstitutionsISt6vectorISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESA_ESaISB_EEEES3_INS1_18ViableSubstitutionESaISE_EENS0_11string_viewERKT_]+0x94): undefined reference to `absl::lts_20211102::string_view::find(absl::lts_20211102::string_view, unsigned long) const'
/usr/bin/ld: ../../lib/libgoogle_cloud_cpp_generator.a(descriptor_utils.cc.o): in function `absl::lts_20211102::strings_internal::Splitter<absl::lts_20211102::ByChar, absl::lts_20211102::AllowEmpty, absl::lts_20211102::string_view>::ConvertToContainer<std::vector<absl::lts_20211102::string_view, std::allocator<absl::lts_20211102::string_view> >, absl::lts_20211102::string_view, false>::operator()(absl::lts_20211102::strings_internal::Splitter<absl::lts_20211102::ByChar, absl::lts_20211102::AllowEmpty, absl::lts_20211102::string_view> const&) const [clone .isra.0]':
descriptor_utils.cc:(.text+0xa07): undefined reference to `absl::lts_20211102::ByChar::Find(absl::lts_20211102::string_view, unsigned long) const'
/usr/bin/ld: descriptor_utils.cc:(.text+0xa9b): undefined reference to `absl::lts_20211102::ByChar::Find(absl::lts_20211102::string_view, unsigned long) const'
/usr/bin/ld: ../../lib/libgoogle_cloud_cpp_generator.a(descriptor_utils.cc.o): in function `google::cloud::generator_internal::(anonymous namespace)::FormatDoxygenLink(google::protobuf::Descriptor const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
descriptor_utils.cc:(.text+0x1775): undefined reference to `absl::lts_20211102::strings_internal::CatPieces[abi:cxx11](std::initializer_list<absl::lts_20211102::string_view>)'
/usr/bin/ld: ../../lib/libgoogle_cloud_cpp_generator.a(descriptor_utils.cc.o): in function `google::cloud::generator_internal::FormatMethodCommentsFromRpcComments[abi:cxx11](google::protobuf::MethodDescriptor const&, google::cloud::generator_internal::MethodParameterStyle)':
descriptor_utils.cc:(.text+0x2a8c): undefined reference to `absl::lts_20211102::StrReplaceAll[abi:cxx11](absl::lts_20211102::string_view, std::initializer_list<std::pair<absl::lts_20211102::string_view, absl::lts_20211102::string_view> >)'
/usr/bin/ld: descriptor_utils.cc:(.text+0x2aad): undefined reference to `absl::lts_20211102::StrReplaceAll[abi:cxx11](absl::lts_20211102::string_view, std::initializer_list<std::pair<absl::lts_20211102::string_view, absl::lts_20211102::string_view> >)'
/usr/bin/ld: descriptor_utils.cc:(.text+0x2e8a): undefined reference to `absl::lts_20211102::StrReplaceAll[abi:cxx11](absl::lts_20211102::string_view, std::initializer_list<std::pair<absl::lts_20211102::string_view, absl::lts_20211102::string_view> >)'
/usr/bin/ld: descriptor_utils.cc:(.text+0x2eb0): undefined reference to `absl::lts_20211102::StrReplaceAll[abi:cxx11](absl::lts_20211102::string_view, std::initializer_list<std::pair<absl::lts_20211102::string_view, absl::lts_20211102::string_view> >)'
/usr/bin/ld: descriptor_utils.cc:(.text+0x2fdb): undefined reference to `absl::lts_20211102::strings_internal::CatPieces[abi:cxx11](std::initializer_list<absl::lts_20211102::string_view>)'
/usr/bin/ld: descriptor_utils.cc:(.text+0x3878): undefined reference to `absl::lts_20211102::strings_internal::CatPieces[abi:cxx11](std::initializer_list<absl::lts_20211102::string_view>)'
/usr/bin/ld: ../../lib/libgoogle_cloud_cpp_generator.a(descriptor_utils.cc.o): in function `google::cloud::generator_internal::CreateServiceVars(google::protobuf::ServiceDescriptor const&, std::vector<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&)':
descriptor_utils.cc:(.text+0x5a9a): undefined reference to `absl::lts_20211102::StrReplaceAll[abi:cxx11](absl::lts_20211102::string_view, std::initializer_list<std::pair<absl::lts_20211102::string_view, absl::lts_20211102::string_view> >)'
/usr/bin/ld: descriptor_utils.cc:(.text+0x5b97): undefined reference to `absl::lts_20211102::StrReplaceAll[abi:cxx11](absl::lts_20211102::string_view, std::initializer_list<std::pair<absl::lts_20211102::string_view, absl::lts_20211102::string_view> >)'
/usr/bin/ld: ../../lib/libgoogle_cloud_cpp_generator.a(descriptor_utils.cc.o): in function `google::cloud::generator_internal::PrintMethod(google::protobuf::MethodDescriptor const&, google::cloud::generator_internal::Printer&, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::vector<google::cloud::generator_internal::Pattern<google::protobuf::MethodDescriptor>, std::allocator<google::cloud::generator_internal::Pattern<google::protobuf::MethodDescriptor> > > const&, char const*, int)':
descriptor_utils.cc:(.text+0x8ef5): undefined reference to `absl::lts_20211102::strings_internal::CatPieces[abi:cxx11](std::initializer_list<absl::lts_20211102::string_view>)'
/usr/bin/ld: descriptor_utils.cc:(.text+0x90b8): undefined reference to `absl::lts_20211102::strings_internal::CatPieces[abi:cxx11](std::initializer_list<absl::lts_20211102::string_view>)'
/usr/bin/ld: ../../lib/libgoogle_cloud_cpp_generator.a(descriptor_utils.cc.o): in function `google::cloud::generator_internal::CreateMethodVars(google::protobuf::ServiceDescriptor const&, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&)':
descriptor_utils.cc:(.text+0xc491): undefined reference to `absl::lts_20211102::variant_internal::ThrowBadVariantAccess()'
/usr/bin/ld: descriptor_utils.cc:(.text+0xc496): undefined reference to `absl::lts_20211102::variant_internal::ThrowBadVariantAccess()'
/usr/bin/ld: descriptor_utils.cc:(.text+0xc4a0): undefined reference to `absl::lts_20211102::variant_internal::ThrowBadVariantAccess()'
/usr/bin/ld: descriptor_utils.cc:(.text+0xc4b1): undefined reference to `absl::lts_20211102::variant_internal::ThrowBadVariantAccess()'
/usr/bin/ld: ../../lib/libgoogle_cloud_cpp_generator.a(service_code_generator.cc.o): in function `absl::lts_20211102::strings_internal::Splitter<absl::lts_20211102::ByChar, absl::lts_20211102::AllowEmpty, absl::lts_20211102::string_view>::ConvertToContainer<std::vector<absl::lts_20211102::string_view, std::allocator<absl::lts_20211102::string_view> >, absl::lts_20211102::string_view, false>::operator()(absl::lts_20211102::strings_internal::Splitter<absl::lts_20211102::ByChar, absl::lts_20211102::AllowEmpty, absl::lts_20211102::string_view> const&) const [clone .isra.0]':
service_code_generator.cc:(.text+0x157): undefined reference to `absl::lts_20211102::ByChar::Find(absl::lts_20211102::string_view, unsigned long) const'
/usr/bin/ld: service_code_generator.cc:(.text+0x1eb): undefined reference to `absl::lts_20211102::ByChar::Find(absl::lts_20211102::string_view, unsigned long) const'
/usr/bin/ld: ../../lib/libgoogle_cloud_cpp_generator.a(service_code_generator.cc.o): in function `google::cloud::generator_internal::ServiceCodeGenerator::SetVars(absl::lts_20211102::string_view)':
service_code_generator.cc:(.text+0x5ee4): undefined reference to `absl::lts_20211102::StrReplaceAll[abi:cxx11](absl::lts_20211102::string_view, std::initializer_list<std::pair<absl::lts_20211102::string_view, absl::lts_20211102::string_view> >)'
/usr/bin/ld: ../../lib/libgoogle_cloud_cpp_common.a(log.cc.o): in function `google::cloud::v1::operator<<(std::ostream&, google::cloud::v1::LogRecord const&)':
log.cc:(.text+0x2c3): undefined reference to `absl::lts_20211102::FormatTime[abi:cxx11](absl::lts_20211102::string_view, absl::lts_20211102::Time, absl::lts_20211102::TimeZone)'
/usr/bin/ld: ../../lib/libgoogle_cloud_cpp_common.a(log.cc.o): in function `google::cloud::v1::internal::DefaultLogBackend()':
log.cc:(.text+0xcf1): undefined reference to `absl::lts_20211102::ByChar::Find(absl::lts_20211102::string_view, unsigned long) const'
/usr/bin/ld: log.cc:(.text+0xd8e): undefined reference to `absl::lts_20211102::ByChar::Find(absl::lts_20211102::string_view, unsigned long) const'
collect2: error: ld returned 1 exit status

About this issue

  • Original URL
  • State: closed
  • Created 2 years ago
  • Reactions: 1
  • Comments: 18 (16 by maintainers)

Most upvoted comments

I’ve tested it using docker image conanio/gcc11-ubuntu16.04:1.47.0 and my changes in #10499.

  • it works with defaults
  • it works forcing -s compiler.cppstd=20

If using GCC11, in my proposal, the abseil targets have a target_compiler_features(<abseil-thin> INTERFACE cxx_std_17) so consumers will use C++17. This minimal requirement is propagated downstream. For older compilers it propagates cxx_std_11, and if C++20 is forced (compiler.cppstd=20), then it will use that C++ standard to build all the libraries.

Edit.- Only tested latest version 1.39.1

I think I’ll fight with this issue here: https://github.com/conan-io/conan-center-index/pull/10499 Wish me luck! 😅