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)
- Build / isntall a package that depends on google-coud-cpp/1.31.1 with gcc 11
- It will break with some missing symbols in abseil
- See also discussion here: https://github.com/conan-io/conan-center-index/pull/9646#issuecomment-1061605811
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)
I’ve tested it using docker image
conanio/gcc11-ubuntu16.04:1.47.0
and my changes in #10499.-s compiler.cppstd=20
If using GCC11, in my proposal, the
abseil
targets have atarget_compiler_features(<abseil-thin> INTERFACE cxx_std_17)
so consumers will use C++17. This minimal requirement is propagated downstream. For older compilers it propagatescxx_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! 😅