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

Undefined symbol errors when integrating Firebase SDK in Xcode project - Error: gRPC-Core Undefined symbol: absl::lts_20240116:: #13996

Closed
gitton opened this issue Oct 30, 2024 · 15 comments

Comments

@gitton
Copy link

gitton commented Oct 30, 2024

Description

I’m experiencing a build failure in Xcode due to multiple “Undefined symbol” errors related to gRPC-Core and Abseil when integrating the Firebase SDK. The specific error messages indicate missing symbols for absl::lts_20240116:: components. The errors appear immediately after adding Firebase dependencies in the Podfile and running a build.

Reproducing the issue

1.	Configured the Podfile to include Firebase dependencies such as Firebase/Analytics, Firebase/Crashlytics, FirebaseAuth, Firebase/Database, Firebase/RemoteConfig, Firebase/DynamicLinks, Firebase/Storage, FirebaseFirestore, and various FirebaseUI components (e.g., FirebaseUI/Auth, FirebaseUI/Google, FirebaseUI/Facebook, FirebaseUI/Storage)
2.	Ran pod install to set up the dependencies.
3.	Attempted to build the project in Xcode.

Firebase SDK Version

11.4.0

Xcode Version

16.0

Installation Method

CocoaPods

Firebase Product(s)

Database, Firestore

Targeted Platforms

iOS

Relevant Log Output

gRPC-Core
Undefined symbol: absl::lts_20240116::CHexEscape(absl::lts_20240116::string_view)

Undefined symbol: absl::lts_20240116::FormatTime(absl::lts_20240116::string_view, absl::lts_20240116::Time, absl::lts_20240116::TimeZone)

Undefined symbol: absl::lts_20240116::SimpleAtof(absl::lts_20240116::string_view, float*)

Undefined symbol: absl::lts_20240116::Base64Escape(absl::lts_20240116::string_view)

Undefined symbol: absl::lts_20240116::UnknownError(absl::lts_20240116::string_view)

Undefined symbol: absl::lts_20240116::log_internal::LogMessage::AtLocation(absl::lts_20240116::string_view, int)

Undefined symbol: void absl::lts_20240116::log_internal::LogMessage::CopyToEncodedBuffer<(absl::lts_20240116::log_internal::LogMessage::StringType)0>(absl::lts_20240116::string_view)

Undefined symbol: void absl::lts_20240116::log_internal::LogMessage::CopyToEncodedBuffer<(absl::lts_20240116::log_internal::LogMessage::StringType)1>(absl::lts_20240116::string_view)

Undefined symbol: absl::lts_20240116::log_internal::LogMessage::operator<<(absl::lts_20240116::string_view)

Undefined symbol: absl::lts_20240116::log_internal::PrependVModule(absl::lts_20240116::string_view, int)

Undefined symbol: absl::lts_20240116::log_internal::LogMessageFatal::LogMessageFatal(char const*, int, absl::lts_20240116::string_view)

Undefined symbol: absl::lts_20240116::InternalError(absl::lts_20240116::string_view)

Undefined symbol: absl::lts_20240116::NotFoundError(absl::lts_20240116::string_view)

Undefined symbol: absl::lts_20240116::StrReplaceAll(absl::lts_20240116::string_view, std::initializer_list<std::__1::pair<absl::lts_20240116::string_view, absl::lts_20240116::string_view>>)

Undefined symbol: absl::lts_20240116::Base64Unescape(absl::lts_20240116::string_view, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>*)

Undefined symbol: absl::lts_20240116::CancelledError(absl::lts_20240116::string_view)

Undefined symbol: absl::lts_20240116::flags_internal::AbslParseFlag(absl::lts_20240116::string_view, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>*)

Undefined symbol: absl::lts_20240116::flags_internal::AbslParseFlag(absl::lts_20240116::string_view, std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>>*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>*)

Undefined symbol: absl::lts_20240116::flags_internal::AbslParseFlag(absl::lts_20240116::string_view, bool*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>*)

Undefined symbol: absl::lts_20240116::flags_internal::AbslParseFlag(absl::lts_20240116::string_view, int*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>*)

Undefined symbol: absl::lts_20240116::flags_internal::AbslUnparseFlag(absl::lts_20240116::string_view)

Undefined symbol: absl::lts_20240116::status_internal::StatusRep::SetPayload(absl::lts_20240116::string_view, absl::lts_20240116::Cord)

Undefined symbol: absl::lts_20240116::BytesToHexString(absl::lts_20240116::string_view)

Undefined symbol: absl::lts_20240116::EqualsIgnoreCase(absl::lts_20240116::string_view, absl::lts_20240116::string_view)

Undefined symbol: absl::lts_20240116::UnavailableError(absl::lts_20240116::string_view)

Undefined symbol: absl::lts_20240116::numbers_internal::safe_strto32_base(absl::lts_20240116::string_view, int*, int)

Undefined symbol: absl::lts_20240116::numbers_internal::safe_strto64_base(absl::lts_20240116::string_view, long long*, int)

Undefined symbol: absl::lts_20240116::numbers_internal::safe_strtou32_base(absl::lts_20240116::string_view, unsigned int*, int)

Undefined symbol: absl::lts_20240116::numbers_internal::safe_strtou64_base(absl::lts_20240116::string_view, unsigned long long*, int)

Undefined symbol: absl::lts_20240116::strings_internal::AppendPieces(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>*, std::initializer_list<absl::lts_20240116::string_view>)

Undefined symbol: absl::lts_20240116::strings_internal::StringifySink::Append(absl::lts_20240116::string_view)

Undefined symbol: absl::lts_20240116::strings_internal::CatPieces(std::initializer_list<absl::lts_20240116::string_view>)

Undefined symbol: absl::lts_20240116::variant_internal::ThrowBadVariantAccess()

Undefined symbol: absl::lts_20240116::optional_internal::throw_bad_optional_access()

Undefined symbol: absl::lts_20240116::EndsWithIgnoreCase(absl::lts_20240116::string_view, absl::lts_20240116::string_view)

Undefined symbol: absl::lts_20240116::UnimplementedError(absl::lts_20240116::string_view)

Undefined symbol: absl::lts_20240116::WebSafeBase64Escape(absl::lts_20240116::string_view)

Undefined symbol: bool absl::lts_20240116::str_format_internal::FormatArgImpl::Dispatch<absl::lts_20240116::string_view>(absl::lts_20240116::str_format_internal::FormatArgImpl::Data, absl::lts_20240116::str_format_internal::FormatConversionSpecImpl, void*)

Undefined symbol: absl::lts_20240116::InvalidArgumentError(absl::lts_20240116::string_view)

Undefined symbol: absl::lts_20240116::StartsWithIgnoreCase(absl::lts_20240116::string_view, absl::lts_20240116::string_view)

Undefined symbol: absl::lts_20240116::UnauthenticatedError(absl::lts_20240116::string_view)

Undefined symbol: absl::lts_20240116::DeadlineExceededError(absl::lts_20240116::string_view)

Undefined symbol: absl::lts_20240116::PermissionDeniedError(absl::lts_20240116::string_view)

Undefined symbol: absl::lts_20240116::WebSafeBase64Unescape(absl::lts_20240116::string_view, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>*)

Undefined symbol: absl::lts_20240116::ResourceExhaustedError(absl::lts_20240116::string_view)

Undefined symbol: absl::lts_20240116::FailedPreconditionError(absl::lts_20240116::string_view)

Undefined symbol: absl::lts_20240116::Cord::GetFlatAux(absl::lts_20240116::cord_internal::CordRep*, absl::lts_20240116::string_view*)

Undefined symbol: absl::lts_20240116::Cord::InlineRep::AppendArray(absl::lts_20240116::string_view, absl::lts_20240116::cord_internal::CordzUpdateTracker::MethodIdentifier)

Undefined symbol: absl::lts_20240116::Cord::Cord(absl::lts_20240116::string_view, absl::lts_20240116::cord_internal::CordzUpdateTracker::MethodIdentifier)

Undefined symbol: absl::lts_20240116::Status::Status(absl::lts_20240116::StatusCode, absl::lts_20240116::string_view)

Undefined symbol: absl::lts_20240116::CEscape(absl::lts_20240116::string_view)

Undefined symbol: absl::lts_20240116::ByString::ByString(absl::lts_20240116::string_view)

Undefined symbol: absl::lts_20240116::CUnescape(absl::lts_20240116::string_view, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>*)

Undefined symbol: absl::lts_20240116::ParseTime(absl::lts_20240116::string_view, absl::lts_20240116::string_view, absl::lts_20240116::Time*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>*)

Undefined symbol: absl::lts_20240116::operator<<(std::__1::basic_ostream<char, std::__1::char_traits<char>>&, absl::lts_20240116::string_view)

Undefined symbol: absl::lts_20240116::string_view::find_first_of(absl::lts_20240116::string_view, unsigned long) const

Undefined symbol: absl::lts_20240116::string_view::find(absl::lts_20240116::string_view, unsigned long) const

Undefined symbol: absl::lts_20240116::string_view::find(char, unsigned long) const

Undefined symbol: absl::lts_20240116::string_view::rfind(char, unsigned long) const

Undefined symbol: absl::lts_20240116::status_internal::StatusRep::GetPayload(absl::lts_20240116::string_view) const

Undefined symbol: absl::lts_20240116::status_internal::StatusRep::ForEachPayload(absl::lts_20240116::FunctionRef<void (absl::lts_20240116::string_view, absl::lts_20240116::Cord const&)>) const

Undefined symbol: absl::lts_20240116::ByChar::Find(absl::lts_20240116::string_view, unsigned long) const

Undefined symbol: absl::lts_20240116::ByString::Find(absl::lts_20240116::string_view, unsigned long) const

If using Swift Package Manager, the project's Package.resolved

No response

If using CocoaPods, the project's Podfile.lock

PODS:

  • Firebase/Analytics (11.4.2):
    • Firebase/Core
  • Firebase/Core (11.4.2):
    • Firebase/CoreOnly
    • FirebaseAnalytics (~> 11.4.0)
  • Firebase/CoreOnly (11.4.2):
    • FirebaseCore (= 11.4.2)
  • Firebase/Crashlytics (11.4.2):
    • Firebase/CoreOnly
    • FirebaseCrashlytics (~> 11.4.0)
  • Firebase/Database (11.4.2):
    • Firebase/CoreOnly
    • FirebaseDatabase (~> 11.4.0)
  • Firebase/DynamicLinks (11.4.2):
    • Firebase/CoreOnly
    • FirebaseDynamicLinks (~> 11.4.0)
  • Firebase/RemoteConfig (11.4.2):
    • Firebase/CoreOnly
    • FirebaseRemoteConfig (~> 11.4.0)
  • Firebase/Storage (11.4.2):
    • Firebase/CoreOnly
    • FirebaseStorage (~> 11.4.0)
  • FirebaseABTesting (11.4.0):
    • FirebaseCore (~> 11.0)
  • FirebaseAnalytics (11.4.0):
    • FirebaseAnalytics/AdIdSupport (= 11.4.0)
    • FirebaseCore (~> 11.0)
    • FirebaseInstallations (~> 11.0)
    • GoogleUtilities/AppDelegateSwizzler (~> 8.0)
    • GoogleUtilities/MethodSwizzler (~> 8.0)
    • GoogleUtilities/Network (~> 8.0)
    • "GoogleUtilities/NSData+zlib (~> 8.0)"
    • nanopb (~> 3.30910.0)
  • FirebaseAnalytics/AdIdSupport (11.4.0):
    • FirebaseCore (~> 11.0)
    • FirebaseInstallations (~> 11.0)
    • GoogleAppMeasurement (= 11.4.0)
    • GoogleUtilities/AppDelegateSwizzler (~> 8.0)
    • GoogleUtilities/MethodSwizzler (~> 8.0)
    • GoogleUtilities/Network (~> 8.0)
    • "GoogleUtilities/NSData+zlib (~> 8.0)"
    • nanopb (~> 3.30910.0)
  • FirebaseAppCheckInterop (11.4.0)
  • FirebaseAuth (11.4.0):
    • FirebaseAppCheckInterop (~> 11.0)
    • FirebaseAuthInterop (~> 11.0)
    • FirebaseCore (~> 11.4)
    • FirebaseCoreExtension (~> 11.4)
    • GoogleUtilities/AppDelegateSwizzler (~> 8.0)
    • GoogleUtilities/Environment (~> 8.0)
    • GTMSessionFetcher/Core (< 5.0, >= 3.4)
    • RecaptchaInterop (~> 100.0)
  • FirebaseAuthInterop (11.4.0)
  • FirebaseAuthUI (14.2.6):
    • FirebaseAuth (< 12.0, >= 11.0)
    • FirebaseCore
  • FirebaseCore (11.4.2):
    • FirebaseCoreInternal (< 12.0, >= 11.4.2)
    • GoogleUtilities/Environment (~> 8.0)
    • GoogleUtilities/Logger (~> 8.0)
  • FirebaseCoreExtension (11.4.1):
    • FirebaseCore (~> 11.0)
  • FirebaseCoreInternal (11.4.2):
    • "GoogleUtilities/NSData+zlib (~> 8.0)"
  • FirebaseCrashlytics (11.4.0):
    • FirebaseCore (~> 11.4)
    • FirebaseInstallations (~> 11.0)
    • FirebaseRemoteConfigInterop (~> 11.0)
    • FirebaseSessions (~> 11.0)
    • GoogleDataTransport (~> 10.0)
    • GoogleUtilities/Environment (~> 8.0)
    • nanopb (~> 3.30910.0)
    • PromisesObjC (~> 2.4)
  • FirebaseDatabase (11.4.0):
    • FirebaseAppCheckInterop (~> 11.0)
    • FirebaseCore (~> 11.0)
    • FirebaseSharedSwift (~> 11.0)
    • GoogleUtilities/UserDefaults (~> 8.0)
    • leveldb-library (~> 1.22)
  • FirebaseDynamicLinks (11.4.0):
    • FirebaseCore (~> 11.0)
  • FirebaseEmailAuthUI (14.2.3):
    • FirebaseAuth
    • FirebaseAuthUI (>= 14.2)
    • FirebaseCore
    • GoogleUtilities/UserDefaults
  • FirebaseFacebookAuthUI (14.2.0):
    • FBSDKCoreKit_Basics
    • FBSDKLoginKit (< 17.0, >= 11.0)
    • FirebaseAuth
    • FirebaseAuthUI (>= 14.2)
    • FirebaseCore
  • FirebaseFirestore (11.4.0):
    • FirebaseCore (~> 11.4)
    • FirebaseCoreExtension (~> 11.4)
    • FirebaseFirestoreInternal (= 11.4.0)
    • FirebaseSharedSwift (~> 11.0)
  • FirebaseFirestoreInternal (11.4.0):
    • abseil/algorithm (~> 1.20240116.1)
    • abseil/base (~> 1.20240116.1)
    • abseil/container/flat_hash_map (~> 1.20240116.1)
    • abseil/memory (~> 1.20240116.1)
    • abseil/meta (~> 1.20240116.1)
    • abseil/strings/strings (~> 1.20240116.1)
    • abseil/time (~> 1.20240116.1)
    • abseil/types (~> 1.20240116.1)
    • FirebaseAppCheckInterop (~> 11.0)
    • FirebaseCore (~> 11.0)
    • "gRPC-C++ (~> 1.65.0)"
    • gRPC-Core (~> 1.65.0)
    • leveldb-library (~> 1.22)
    • nanopb (~> 3.30910.0)
  • FirebaseGoogleAuthUI (14.2.2):
    • FirebaseAuth
    • FirebaseAuthUI (>= 14.2)
    • FirebaseCore
    • GoogleSignIn (~> 7.0)
  • FirebaseInstallations (11.4.0):
    • FirebaseCore (~> 11.0)
    • GoogleUtilities/Environment (~> 8.0)
    • GoogleUtilities/UserDefaults (~> 8.0)
    • PromisesObjC (~> 2.4)
  • FirebaseOAuthUI (14.2.0):
    • FirebaseAuth (< 12.0, >= 8.0)
    • FirebaseAuthUI (< 15.0, >= 12.0.2)
  • FirebaseRemoteConfig (11.4.0):
    • FirebaseABTesting (~> 11.0)
    • FirebaseCore (~> 11.0)
    • FirebaseInstallations (~> 11.0)
    • FirebaseRemoteConfigInterop (~> 11.0)
    • FirebaseSharedSwift (~> 11.0)
    • GoogleUtilities/Environment (~> 8.0)
    • "GoogleUtilities/NSData+zlib (~> 8.0)"
  • FirebaseRemoteConfigInterop (11.4.0)
  • FirebaseSessions (11.4.0):
    • FirebaseCore (~> 11.4)
    • FirebaseCoreExtension (~> 11.4)
    • FirebaseInstallations (~> 11.0)
    • GoogleDataTransport (~> 10.0)
    • GoogleUtilities/Environment (~> 8.0)
    • GoogleUtilities/UserDefaults (~> 8.0)
    • nanopb (~> 3.30910.0)
    • PromisesSwift (~> 2.1)
  • FirebaseSharedSwift (11.4.0)
  • FirebaseStorage (11.4.0):
    • FirebaseAppCheckInterop (~> 11.0)
    • FirebaseAuthInterop (~> 11.0)
    • FirebaseCore (~> 11.4)
    • FirebaseCoreExtension (~> 11.4)
    • GoogleUtilities/Environment (~> 8.0)
    • GTMSessionFetcher/Core (< 5.0, >= 3.4)
  • FirebaseStorageUI (14.2.0):
    • FirebaseStorage (< 12.0, >= 8.0)
    • SDWebImage (~> 5.6)
  • FirebaseUI/Auth (14.2.0):
    • FirebaseAuthUI (~> 14.2)
  • FirebaseUI/Email (14.2.0):
    • FirebaseEmailAuthUI (~> 14.2)
  • FirebaseUI/Facebook (14.2.0):
    • FirebaseFacebookAuthUI (~> 14.2)
  • FirebaseUI/Google (14.2.0):
    • FirebaseGoogleAuthUI (~> 14.2)
  • FirebaseUI/OAuth (14.2.0):
    • FirebaseOAuthUI (~> 14.2)
  • FirebaseUI/Storage (14.2.0):
    • FirebaseStorageUI (~> 14.2)
  • GoogleAppMeasurement (11.4.0):
    • GoogleAppMeasurement/AdIdSupport (= 11.4.0)
    • GoogleUtilities/AppDelegateSwizzler (~> 8.0)
    • GoogleUtilities/MethodSwizzler (~> 8.0)
    • GoogleUtilities/Network (~> 8.0)
    • "GoogleUtilities/NSData+zlib (~> 8.0)"
    • nanopb (~> 3.30910.0)
  • GoogleAppMeasurement/AdIdSupport (11.4.0):
    • GoogleAppMeasurement/WithoutAdIdSupport (= 11.4.0)
    • GoogleUtilities/AppDelegateSwizzler (~> 8.0)
    • GoogleUtilities/MethodSwizzler (~> 8.0)
    • GoogleUtilities/Network (~> 8.0)
    • "GoogleUtilities/NSData+zlib (~> 8.0)"
    • nanopb (~> 3.30910.0)
  • GoogleAppMeasurement/WithoutAdIdSupport (11.4.0):
    • GoogleUtilities/AppDelegateSwizzler (~> 8.0)
    • GoogleUtilities/MethodSwizzler (~> 8.0)
    • GoogleUtilities/Network (~> 8.0)
    • "GoogleUtilities/NSData+zlib (~> 8.0)"
    • nanopb (~> 3.30910.0)
  • GoogleDataTransport (10.1.0):
    • nanopb (~> 3.30910.0)
    • PromisesObjC (~> 2.4)
  • GoogleSignIn (7.1.0):
    • AppAuth (< 2.0, >= 1.7.3)
    • GTMAppAuth (< 5.0, >= 4.1.1)
    • GTMSessionFetcher/Core (~> 3.3)
  • GoogleUtilities/AppDelegateSwizzler (8.0.2):
    • GoogleUtilities/Environment
    • GoogleUtilities/Logger
    • GoogleUtilities/Network
    • GoogleUtilities/Privacy
  • GoogleUtilities/Environment (8.0.2):
    • GoogleUtilities/Privacy
  • GoogleUtilities/Logger (8.0.2):
    • GoogleUtilities/Environment
    • GoogleUtilities/Privacy
  • GoogleUtilities/MethodSwizzler (8.0.2):
    • GoogleUtilities/Logger
    • GoogleUtilities/Privacy
  • GoogleUtilities/Network (8.0.2):
    • GoogleUtilities/Logger
    • "GoogleUtilities/NSData+zlib"
    • GoogleUtilities/Privacy
    • GoogleUtilities/Reachability
  • "GoogleUtilities/NSData+zlib (8.0.2)":
    • GoogleUtilities/Privacy
  • GoogleUtilities/Privacy (8.0.2)
  • GoogleUtilities/Reachability (8.0.2):
    • GoogleUtilities/Logger
    • GoogleUtilities/Privacy
  • GoogleUtilities/UserDefaults (8.0.2):
    • GoogleUtilities/Logger
    • GoogleUtilities/Privacy
  • "gRPC-C++ (1.65.5)":
    • "gRPC-C++/Implementation (= 1.65.5)"
    • "gRPC-C++/Interface (= 1.65.5)"
  • "gRPC-C++/Implementation (1.65.5)":
    • abseil/algorithm/container (~> 1.20240116.2)
    • abseil/base/base (~> 1.20240116.2)
    • abseil/base/config (~> 1.20240116.2)
    • abseil/base/core_headers (~> 1.20240116.2)
    • abseil/base/log_severity (~> 1.20240116.2)
    • abseil/base/no_destructor (~> 1.20240116.2)
    • abseil/cleanup/cleanup (~> 1.20240116.2)
    • abseil/container/flat_hash_map (~> 1.20240116.2)
    • abseil/container/flat_hash_set (~> 1.20240116.2)
    • abseil/container/inlined_vector (~> 1.20240116.2)
    • abseil/flags/flag (~> 1.20240116.2)
    • abseil/flags/marshalling (~> 1.20240116.2)
    • abseil/functional/any_invocable (~> 1.20240116.2)
    • abseil/functional/bind_front (~> 1.20240116.2)
    • abseil/functional/function_ref (~> 1.20240116.2)
    • abseil/hash/hash (~> 1.20240116.2)
    • abseil/log/absl_check (~> 1.20240116.2)
    • abseil/log/absl_log (~> 1.20240116.2)
    • abseil/log/check (~> 1.20240116.2)
    • abseil/log/globals (~> 1.20240116.2)
    • abseil/log/log (~> 1.20240116.2)
    • abseil/memory/memory (~> 1.20240116.2)
    • abseil/meta/type_traits (~> 1.20240116.2)
    • abseil/random/bit_gen_ref (~> 1.20240116.2)
    • abseil/random/distributions (~> 1.20240116.2)
    • abseil/random/random (~> 1.20240116.2)
    • abseil/status/status (~> 1.20240116.2)
    • abseil/status/statusor (~> 1.20240116.2)
    • abseil/strings/cord (~> 1.20240116.2)
    • abseil/strings/str_format (~> 1.20240116.2)
    • abseil/strings/strings (~> 1.20240116.2)
    • abseil/synchronization/synchronization (~> 1.20240116.2)
    • abseil/time/time (~> 1.20240116.2)
    • abseil/types/optional (~> 1.20240116.2)
    • abseil/types/span (~> 1.20240116.2)
    • abseil/types/variant (~> 1.20240116.2)
    • abseil/utility/utility (~> 1.20240116.2)
    • "gRPC-C++/Interface (= 1.65.5)"
    • "gRPC-C++/Privacy (= 1.65.5)"
    • gRPC-Core (= 1.65.5)
  • "gRPC-C++/Interface (1.65.5)"
  • "gRPC-C++/Privacy (1.65.5)"
  • gRPC-Core (1.65.5):
    • gRPC-Core/Implementation (= 1.65.5)
    • gRPC-Core/Interface (= 1.65.5)
  • gRPC-Core/Implementation (1.65.5):
    • (Same dependencies as gRPC-C++ Implementation)
  • gRPC-Core/Interface (1.65.5)
  • gRPC-Core/Privacy (1.65.5)
  • GTMAppAuth (4.1.1):
    • AppAuth/Core (~> 1.7)
    • GTMSessionFetcher/Core (< 4.0, >= 3.3)
  • GTMSessionFetcher/Core (3.5.0)
  • leveldb-library (1.22.6)
  • nanopb (3.30910.0):
    • nanopb/decode (= 3.30910.0)
    • nanopb/encode (= 3.30910.0)
  • nanopb/decode (3.30910.0)
  • nanopb/encode (3.30910.0)
  • PromisesObjC (2.4.0)
  • PromisesSwift (2.4.0):
    • PromisesObjC (= 2.4.0)
  • RecaptchaInterop (100.0.0)
  • SDWebImage (5.19.7):
    • SDWebImage/Core (= 5.19.7)
  • SDWebImage/Core (5.19.7)

DEPENDENCIES:

  • Firebase/Analytics
  • Firebase/Crashlytics
  • Firebase/Database
  • Firebase/DynamicLinks
  • Firebase/RemoteConfig
  • Firebase/Storage
  • FirebaseAuth
  • FirebaseFirestore
  • FirebaseUI/Auth
  • FirebaseUI/Email
  • FirebaseUI/Facebook
  • FirebaseUI/Google
  • FirebaseUI/OAuth
  • FirebaseUI/Storage

SPEC CHECKSUMS:
Firebase: 7fd5466678d964be78fbf536d8a3385da19c4828
FirebaseABTesting: aef1719704fade00b200827e7973f352efc4caee
FirebaseAnalytics: 3feef9ae8733c567866342a1000691baaa7cad49
FirebaseAppCheckInterop: 1b9643ae2f1ee214488caa2f8e32b7bc2f0f3735
FirebaseAuth: c359af98bd703cbf4293eec107a40de08ede6ce6
FirebaseAuthInterop: 9ac948965ac13ec9d8a080f39490ddb2bda30520
FirebaseAuthUI: 8e5c09b20bf11478b9fa42c7ed6575fa95807c86
FirebaseCore: 6b32c57269bd999aab34354c3923d92a6e5f3f84
FirebaseCoreExtension: f1bc67a4702931a7caa097d8e4ac0a1b0d16720e
FirebaseCoreInternal: 35731192cab10797b88411be84940d2beb33a238
FirebaseCrashlytics: 41bbdd2b514a8523cede0c217aee6ef7ecf38401
FirebaseDatabase: ccd11f02c170076ffeeef40020cbb2f6d33e718c
FirebaseDynamicLinks: 192110d77418357fe994f2823a7df7db3ccb15bf
FirebaseEmailAuthUI: c448736db9fcd5895d29229a9e0aec016ece0389
FirebaseFacebookAuthUI: ff92c983c22ac3dce082beeaf8672c0c1b665650
FirebaseFirestore: 2ccdf893fd7e175aa8ec58faa06338b346d27db8
FirebaseFirestoreInternal: 004452c4669d5df8869c9f8f7a24ee0009852d5b
FirebaseGoogleAuthUI: bbfd673275e4a4a4a3d0e451884087452d088453
FirebaseInstallations: 6ef4a1c7eb2a61ee1f74727d7f6ce2e72acf1414
FirebaseOAuthUI: 13e6b83a4e9680f2806107d7b383ede1f550e499
FirebaseRemoteConfig: 7655681d02417bc9b287338edb9d721ff79e1a4a
FirebaseRemoteConfigInterop: e76f46ffa4d6a65e273d4dfebb6a79e588cec136
FirebaseSessions: 3f56f177d9e53a85021d16b31f9a111849d1dd8b
FirebaseSharedSwift: 505dae2d05969dbf6d43749a642bb1bf230f0252
FirebaseStorage: 1bf8f80ac3bb02c72844b7350e95e10be7113ef0
FirebaseStorageUI: 22fcea916105f65d47d38a3108b540282cab229d
FirebaseUI: 3909853fc34f316c822e195376f144b1b0c6ca15
nanopb: fad817b59e0457d11a5dfbde799381cd727c1275
abseil: d121da9ef7e2ff4cab7666e76c5a3e0915ae08c3
gRPC-C++: 2fa52b3141e7789a28a737f251e0c45b4cb20a87
gRPC-Core: a27c294d6149e1c39a7d173527119cfbc3375ce4
GoogleAppMeasurement: 987769c4ca6b968f2479fbcc9fe3ce34af454b8e
GoogleDataTransport: aae35b7ea0c09004c3797d53c8c41f66f219d6a7
GoogleUtilities: 26a3abef001b6533cf678d3eb38fd3f614b7872d
GTMAppAuth: f69bd07d68cd3b766125f7e072c45d7340dea0de
GTMSessionFetcher: 5aea5ba6bd522a239e236100971f10cb71b96ab6
leveldb-library: cc8b8f8e013647a295ad3f8cd2ddf49a6f19be19
PromisesObjC: f5707f49cb48b9636751c5b2e7d227e43fba9f47
PromisesSwift: 9d77319bbe72ebf6d872900551f7eeba9bce2851
RecaptchaInterop: 7d1a4a01a6b2cb1610a47ef3f85f0c411434cb21
SDWebImage: 8a6b7b160b4d710e2a22b6900e25301075c34cb3

PODFILE CHECKSUM: a194547e91f868c217129d10c5eba58d2a378f7f

COCOAPODS: 1.16.1

@google-oss-bot
Copy link

I couldn't figure out how to label this issue, so I've labeled it for a human to triage. Hang tight.

@github-felipe-borges
Copy link

Same here.

@ncooke3
Copy link
Member

ncooke3 commented Oct 30, 2024

Thanks for the report, this is an issue with the Abseil podspec that was exposed by the recent CocoaPods 1.16.1 release. Until a fix is released, see firebase/flutterfire#13563 (comment) for a workaround. The workaround could be applied manually as well by changing the build setting of the installed Abseil pod target in Xcode.

@mikehardy
Copy link
Contributor

mikehardy commented Oct 30, 2024

[note: this was edited to be gnu++14 not c++14]

Add this to your Podfile if you want a workaround, note you may already have a post_install section, so you would just use the inner part(s):

post_install do |installer|
  installer.pods_project.targets.each do |target|
    if target.name == 'abseil'
      Pod::UI.puts "Workaround: Configuring abseil to use gnu++14 language standard for cocoapods 1.16+ compatibility".yellow
      Pod::UI.puts "            Remove workaround when upstream issue fixed https://github.com/firebase/firebase-ios-sdk/issues/13996".yellow
      target.build_configurations.each do |config|
        config.build_settings['CLANG_CXX_LANGUAGE_STANDARD'] = 'gnu++14'
      end
    end
  end
end

You will need to run pod install again after adding this, so that it executes and updates the build setting

@gitton
Copy link
Author

gitton commented Oct 30, 2024

Thank you for sharing the workaround @mikehardy

@sauravexodus
Copy link

sauravexodus commented Oct 31, 2024

The workaround didn't work on cocoapods 1.16.1 and xcodeproj 1.26.0. I still get the following error

Undefined symbols for architecture arm64:
  "absl::lts_20240116::CHexEscape(std::__1::basic_string_view<char, std::__1::char_traits<char>>)", referenced from:
      grpc_core::StatusToString(absl::lts_20240116::Status const&)::$_0::operator()(std::__1::basic_string_view<char, std::__1::char_traits<char>>, absl::lts_20240116::Cord const&) const in grpc[737](status_helper.o)
      grpc_core::StatusToString(absl::lts_20240116::Status const&)::$_0::operator()(std::__1::basic_string_view<char, std::__1::char_traits<char>>, absl::lts_20240116::Cord const&) const in grpc[737](status_helper.o)
      grpc_core::StatusToString(absl::lts_20240116::Status const&)::$_0::operator()(std::__1::basic_string_view<char, std::__1::char_traits<char>>, absl::lts_20240116::Cord const&) const in grpc[737](status_helper.o)
      grpc_core::StatusToString(absl::lts_20240116::Status const&)::$_0::operator()(std::__1::basic_string_view<char, std::__1::char_traits<char>>, absl::lts_20240116::Cord const&) const in grpc[737](status_helper.o)
  "absl::lts_20240116::FormatTime(std::__1::basic_string_view<char, std::__1::char_traits<char>>, absl::lts_20240116::Time, absl::lts_20240116::TimeZone)", referenced from:
      grpc_core::AwsRequestSigner::AwsRequestSigner(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>>>, absl::lts_20240116::Status*) in grpc[55](aws_request_signer.o)
      grpc_core::AwsRequestSigner::GetSignedRequestHeaders() in grpc[55](aws_request_signer.o)
      grpc_core::StatusSetTime(absl::lts_20240116::Status*, grpc_core::StatusTimeProperty, absl::lts_20240116::Time) in grpc[737](status_helper.o)
  "absl::lts_20240116::SimpleAtod(std::__1::basic_string_view<char, std::__1::char_traits<char>>, double*)", referenced from:
      firebase::firestore::util::JsonReader::DecodeDouble(nlohmann::basic_json<std::__1::map, std::__1::vector, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, bool, long long, unsigned long long, double, std::__1::allocator, nlohmann::adl_serializer, std::__1::vector<unsigned char, std::__1::allocator<unsigned char>>> const&) in FirebaseFirestoreInternal[121](json_reader.o)
  "absl::lts_20240116::SimpleAtof(std::__1::basic_string_view<char, std::__1::char_traits<char>>, float*)", referenced from:
      grpc_core::json_detail::LoadFloat::LoadInto(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, void*, grpc_core::ValidationErrors*) const in grpc[635](retry_service_config.o)
  "absl::lts_20240116::Base64Escape(std::__1::basic_string_view<char, std::__1::char_traits<char>>)", referenced from:
      grpc_core::channelz::SocketNode::Security::Tls::RenderJson() in grpc[114](channelz.o)
      grpc_core::channelz::SocketNode::Security::Tls::RenderJson() in grpc[114](channelz.o)
      grpc_core::channelz::(anonymous namespace)::PopulateSocketAddressJson(std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, grpc_core::experimental::Json, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const, grpc_core::experimental::Json>>>*, char const*, char const*) in grpc[114](channelz.o)
      grpc_core::ExternalAccountCredentials::ExchangeToken(std::__1::basic_string_view<char, std::__1::char_traits<char>>) in grpc[288](external_account_credentials.o)
      grpc_core::HttpProxyMapper::MapName(std::__1::basic_string_view<char, std::__1::char_traits<char>>, grpc_core::ChannelArgs*) in grpc[394](http_proxy_mapper.o)
      grpc_core::(anonymous namespace)::MaybeUpdateServerInitialMetadata(grpc_core::StatefulSessionMethodParsedConfig::CookieConfig const*, bool, std::__1::basic_string_view<char, std::__1::char_traits<char>>, std::__1::basic_string_view<char, std::__1::char_traits<char>>, grpc_core::XdsOverrideHostAttribute*, grpc_metadata_batch&) in grpc[720](stateful_session_filter.o)
  "absl::lts_20240116::Base64Escape(std::__1::basic_string_view<char, std::__1::char_traits<char>>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>*)", referenced from:
      firebase::firestore::local::(anonymous namespace)::InvalidKey(leveldb::Slice) in FirebaseFirestoreInternal[130](leveldb_key.o)
  "absl::lts_20240116::UnknownError(std::__1::basic_string_view<char, std::__1::char_traits<char>>)", referenced from:
      grpc_core::Call::InitParent(grpc_core::Call*, unsigned int) in grpc[77](call.o)
      grpc_core::Call::InitParent(grpc_core::Call*, unsigned int) in grpc[77](call.o)
      grpc_event_engine::experimental::DNSServiceResolverImpl::LookupHostname(absl::lts_20240116::AnyInvocable<void (absl::lts_20240116::StatusOr<std::__1::vector<grpc_event_engine::experimental::EventEngine::ResolvedAddress, std::__1::allocator<grpc_event_engine::experimental::EventEngine::ResolvedAddress>>>)>, std::__1::basic_string_view<char, std::__1::char_traits<char>>, std::__1::basic_string_view<char, std::__1::char_traits<char>>) in grpc[225](dns_service_resolver.o)
      grpc_event_engine::experimental::DNSServiceResolverImpl::LookupHostname(absl::lts_20240116::AnyInvocable<void (absl::lts_20240116::StatusOr<std::__1::vector<grpc_event_engine::experimental::EventEngine::ResolvedAddress, std::__1::allocator<grpc_event_engine::experimental::EventEngine::ResolvedAddress>>>)>, std::__1::basic_string_view<char, std::__1::char_traits<char>>, std::__1::basic_string_view<char, std::__1::char_traits<char>>) in grpc[225](dns_service_resolver.o)
      grpc_event_engine::experimental::DNSServiceResolverImpl::ResolveCallback(_DNSServiceRef_t*, unsigned int, unsigned int, int, char const*, sockaddr const*, unsigned int, void*) in grpc[225](dns_service_resolver.o)
      grpc_error_set_int(absl::lts_20240116::Status, grpc_core::StatusIntProperty, long) in grpc[260](error.o)
      grpc_error_set_str(absl::lts_20240116::Status, grpc_core::StatusStrProperty, std::__1::basic_string_view<char, std::__1::char_traits<char>>) in grpc[260](error.o)
      ...
  "absl::lts_20240116::log_internal::LogMessage::AtLocation(std::__1::basic_string_view<char, std::__1::char_traits<char>>, int)", referenced from:
      grpc_core::promise_detail::SeqState<grpc_core::promise_detail::SeqTraits, grpc_core::for_each_detail::ForEach<auto grpc_core::OutgoingMessages<grpc_core::CallHandler>(grpc_core::CallHandler)::Wrapper, grpc_core::ForwardCall(grpc_core::CallHandler, grpc_core::CallInitiator)::$_0::operator()()::'lambda'(std::__1::unique_ptr<grpc_core::Message, grpc_core::Arena::PooledDeleter>)>, grpc_core::ForwardCall(grpc_core::CallHandler, $_0)::std::__1::operator()()::'lambda'(grpc_core::StatusFlag)>::PollOnce() in grpc[85](call_spine.o)
      grpc_core::promise_detail::SeqState<grpc_core::promise_detail::SeqTraits, grpc_core::for_each_detail::ForEach<auto grpc_core::OutgoingMessages<grpc_core::CallHandler>(grpc_core::CallHandler)::Wrapper, grpc_core::ForwardCall(grpc_core::CallHandler, grpc_core::CallInitiator)::$_0::operator()()::'lambda'(std::__1::unique_ptr<grpc_core::Message, grpc_core::Arena::PooledDeleter>)>, grpc_core::ForwardCall(grpc_core::CallHandler, $_0)::std::__1::operator()()::'lambda'(grpc_core::StatusFlag)>::PollOnce() in grpc[85](call_spine.o)
      grpc_core::promise_detail::SeqState<grpc_core::promise_detail::SeqTraits, grpc_core::for_each_detail::ForEach<auto grpc_core::OutgoingMessages<grpc_core::CallHandler>(grpc_core::CallHandler)::Wrapper, grpc_core::ForwardCall(grpc_core::CallHandler, grpc_core::CallInitiator)::$_0::operator()()::'lambda'(std::__1::unique_ptr<grpc_core::Message, grpc_core::Arena::PooledDeleter>)>, grpc_core::ForwardCall(grpc_core::CallHandler, $_0)::std::__1::operator()()::'lambda'(grpc_core::StatusFlag)>::PollOnce() in grpc[85](call_spine.o)
      grpc_core::promise_detail::SeqState<grpc_core::promise_detail::SeqTraits, grpc_core::for_each_detail::ForEach<auto grpc_core::OutgoingMessages<grpc_core::CallHandler>(grpc_core::CallHandler)::Wrapper, grpc_core::ForwardCall(grpc_core::CallHandler, grpc_core::CallInitiator)::$_0::operator()()::'lambda'(std::__1::unique_ptr<grpc_core::Message, grpc_core::Arena::PooledDeleter>)>, grpc_core::ForwardCall(grpc_core::CallHandler, $_0)::std::__1::operator()()::'lambda'(grpc_core::StatusFlag)>::PollOnce() in grpc[85](call_spine.o)
      grpc_core::promise_detail::SeqState<grpc_core::promise_detail::SeqTraits, grpc_core::promise_detail::Map<grpc_core::promise_detail::TrySeq<grpc_core::CallFilters::PipePromise<&grpc_core::CallFilters::server_initial_metadata_state_, &grpc_core::CallFilters::server_initial_metadata_push_, std::__1::unique_ptr<grpc_metadata_batch, grpc_core::Arena::PooledDeleter>, &grpc_core::filters_detail::StackData::server_initial_metadata>::PullMaybe, grpc_core::ForwardCall(grpc_core::CallHandler, grpc_core::CallInitiator)::$_1::operator()()::'lambda'(std::__1::optional<std::__1::unique_ptr<grpc_metadata_batch, grpc_core::Arena::PooledDeleter>>)>, auto grpc_core::CallSpine::CancelIfFails<grpc_core::promise_detail::TrySeq<grpc_core::CallFilters::PipePromise<&grpc_core::CallFilters::server_initial_metadata_state_, &grpc_core::CallFilters::server_initial_metadata_push_, std::__1::unique_ptr<grpc_metadata_batch, grpc_core::Arena::PooledDeleter>, &grpc_core::filters_detail::StackData::server_initial_metadata>::PullMaybe, grpc_core::ForwardCall(grpc_core::CallHandler, grpc_core::CallInitiator)::$_1::operator()()::'lambda'(std::__1::optional<std::__1::unique_ptr<grpc_metadata_batch, grpc_core::Arena::PooledDeleter>>)>>(grpc_core::promise_detail::TrySeq<grpc_core::CallFilters::PipePromise<&grpc_core::CallFilters::server_initial_metadata_state_, &grpc_core::CallFilters::server_initial_metadata_push_, std::__1::unique_ptr<grpc_metadata_batch, grpc_core::Arena::PooledDeleter>, &grpc_core::filters_detail::StackData::server_initial_metadata>::PullMaybe, grpc_core::ForwardCall(grpc_core::CallHandler, grpc_core::CallInitiator)::$_1::operator()()::'lambda'(std::__1::optional<std::__1::unique_ptr<grpc_metadata_batch, grpc_core::Arena::PooledDeleter>>)>)::'lambda'(grpc_core::StatusFlag)>, grpc_core::CallFilters::PullServerTrailingMetadataPromise, grpc_core::ForwardCall(grpc_core::CallHandler, grpc_core::CallInitiator)::$_1::operator()()::'lambda'(std::__1::unique_ptr<grpc_metadata_batch, grpc_core::Arena::PooledDeleter>)>::PollOnce() in grpc[85](call_spine.o)
      grpc_core::promise_detail::SeqState<grpc_core::promise_detail::SeqTraits, grpc_core::promise_detail::Map<grpc_core::promise_detail::TrySeq<grpc_core::CallFilters::PipePromise<&grpc_core::CallFilters::server_initial_metadata_state_, &grpc_core::CallFilters::server_initial_metadata_push_, std::__1::unique_ptr<grpc_metadata_batch, grpc_core::Arena::PooledDeleter>, &grpc_core::filters_detail::StackData::server_initial_metadata>::PullMaybe, grpc_core::ForwardCall(grpc_core::CallHandler, grpc_core::CallInitiator)::$_1::operator()()::'lambda'(std::__1::optional<std::__1::unique_ptr<grpc_metadata_batch, grpc_core::Arena::PooledDeleter>>)>, auto grpc_core::CallSpine::CancelIfFails<grpc_core::promise_detail::TrySeq<grpc_core::CallFilters::PipePromise<&grpc_core::CallFilters::server_initial_metadata_state_, &grpc_core::CallFilters::server_initial_metadata_push_, std::__1::unique_ptr<grpc_metadata_batch, grpc_core::Arena::PooledDeleter>, &grpc_core::filters_detail::StackData::server_initial_metadata>::PullMaybe, grpc_core::ForwardCall(grpc_core::CallHandler, grpc_core::CallInitiator)::$_1::operator()()::'lambda'(std::__1::optional<std::__1::unique_ptr<grpc_metadata_batch, grpc_core::Arena::PooledDeleter>>)>>(grpc_core::promise_detail::TrySeq<grpc_core::CallFilters::PipePromise<&grpc_core::CallFilters::server_initial_metadata_state_, &grpc_core::CallFilters::server_initial_metadata_push_, std::__1::unique_ptr<grpc_metadata_batch, grpc_core::Arena::PooledDeleter>, &grpc_core::filters_detail::StackData::server_initial_metadata>::PullMaybe, grpc_core::ForwardCall(grpc_core::CallHandler, grpc_core::CallInitiator)::$_1::operator()()::'lambda'(std::__1::optional<std::__1::unique_ptr<grpc_metadata_batch, grpc_core::Arena::PooledDeleter>>)>)::'lambda'(grpc_core::StatusFlag)>, grpc_core::CallFilters::PullServerTrailingMetadataPromise, grpc_core::ForwardCall(grpc_core::CallHandler, grpc_core::CallInitiator)::$_1::operator()()::'lambda'(std::__1::unique_ptr<grpc_metadata_batch, grpc_core::Arena::PooledDeleter>)>::PollOnce() in grpc[85](call_spine.o)
      grpc_core::promise_detail::SeqState<grpc_core::promise_detail::SeqTraits, grpc_core::promise_detail::Map<grpc_core::promise_detail::TrySeq<grpc_core::CallFilters::PipePromise<&grpc_core::CallFilters::server_initial_metadata_state_, &grpc_core::CallFilters::server_initial_metadata_push_, std::__1::unique_ptr<grpc_metadata_batch, grpc_core::Arena::PooledDeleter>, &grpc_core::filters_detail::StackData::server_initial_metadata>::PullMaybe, grpc_core::ForwardCall(grpc_core::CallHandler, grpc_core::CallInitiator)::$_1::operator()()::'lambda'(std::__1::optional<std::__1::unique_ptr<grpc_metadata_batch, grpc_core::Arena::PooledDeleter>>)>, auto grpc_core::CallSpine::CancelIfFails<grpc_core::promise_detail::TrySeq<grpc_core::CallFilters::PipePromise<&grpc_core::CallFilters::server_initial_metadata_state_, &grpc_core::CallFilters::server_initial_metadata_push_, std::__1::unique_ptr<grpc_metadata_batch, grpc_core::Arena::PooledDeleter>, &grpc_core::filters_detail::StackData::server_initial_metadata>::PullMaybe, grpc_core::ForwardCall(grpc_core::CallHandler, grpc_core::CallInitiator)::$_1::operator()()::'lambda'(std::__1::optional<std::__1::unique_ptr<grpc_metadata_batch, grpc_core::Arena::PooledDeleter>>)>>(grpc_core::promise_detail::TrySeq<grpc_core::CallFilters::PipePromise<&grpc_core::CallFilters::server_initial_metadata_state_, &grpc_core::CallFilters::server_initial_metadata_push_, std::__1::unique_ptr<grpc_metadata_batch, grpc_core::Arena::PooledDeleter>, &grpc_core::filters_detail::StackData::server_initial_metadata>::PullMaybe, grpc_core::ForwardCall(grpc_core::CallHandler, grpc_core::CallInitiator)::$_1::operator()()::'lambda'(std::__1::optional<std::__1::unique_ptr<grpc_metadata_batch, grpc_core::Arena::PooledDeleter>>)>)::'lambda'(grpc_core::StatusFlag)>, grpc_core::CallFilters::PullServerTrailingMetadataPromise, grpc_core::ForwardCall(grpc_core::CallHandler, grpc_core::CallInitiator)::$_1::operator()()::'lambda'(std::__1::unique_ptr<grpc_metadata_batch, grpc_core::Arena::PooledDeleter>)>::PollOnce() in grpc[85](call_spine.o)
      grpc_core::promise_detail::SeqState<grpc_core::promise_detail::SeqTraits, grpc_core::promise_detail::Map<grpc_core::promise_detail::TrySeq<grpc_core::CallFilters::PipePromise<&grpc_core::CallFilters::server_initial_metadata_state_, &grpc_core::CallFilters::server_initial_metadata_push_, std::__1::unique_ptr<grpc_metadata_batch, grpc_core::Arena::PooledDeleter>, &grpc_core::filters_detail::StackData::server_initial_metadata>::PullMaybe, grpc_core::ForwardCall(grpc_core::CallHandler, grpc_core::CallInitiator)::$_1::operator()()::'lambda'(std::__1::optional<std::__1::unique_ptr<grpc_metadata_batch, grpc_core::Arena::PooledDeleter>>)>, auto grpc_core::CallSpine::CancelIfFails<grpc_core::promise_detail::TrySeq<grpc_core::CallFilters::PipePromise<&grpc_core::CallFilters::server_initial_metadata_state_, &grpc_core::CallFilters::server_initial_metadata_push_, std::__1::unique_ptr<grpc_metadata_batch, grpc_core::Arena::PooledDeleter>, &grpc_core::filters_detail::StackData::server_initial_metadata>::PullMaybe, grpc_core::ForwardCall(grpc_core::CallHandler, grpc_core::CallInitiator)::$_1::operator()()::'lambda'(std::__1::optional<std::__1::unique_ptr<grpc_metadata_batch, grpc_core::Arena::PooledDeleter>>)>>(grpc_core::promise_detail::TrySeq<grpc_core::CallFilters::PipePromise<&grpc_core::CallFilters::server_initial_metadata_state_, &grpc_core::CallFilters::server_initial_metadata_push_, std::__1::unique_ptr<grpc_metadata_batch, grpc_core::Arena::PooledDeleter>, &grpc_core::filters_detail::StackData::server_initial_metadata>::PullMaybe, grpc_core::ForwardCall(grpc_core::CallHandler, grpc_core::CallInitiator)::$_1::operator()()::'lambda'(std::__1::optional<std::__1::unique_ptr<grpc_metadata_batch, grpc_core::Arena::PooledDeleter>>)>)::'lambda'(grpc_core::StatusFlag)>, grpc_core::CallFilters::PullServerTrailingMetadataPromise, grpc_core::ForwardCall(grpc_core::CallHandler, grpc_core::CallInitiator)::$_1::operator()()::'lambda'(std::__1::unique_ptr<grpc_metadata_batch, grpc_core::Arena::PooledDeleter>)>::PollOnce() in grpc[85](call_spine.o)
      grpc_core::promise_detail::SeqState<grpc_core::promise_detail::SeqTraits, grpc_core::promise_detail::Map<grpc_core::promise_detail::TrySeq<grpc_core::CallFilters::PipePromise<&grpc_core::CallFilters::server_initial_metadata_state_, &grpc_core::CallFilters::server_initial_metadata_push_, std::__1::unique_ptr<grpc_metadata_batch, grpc_core::Arena::PooledDeleter>, &grpc_core::filters_detail::StackData::server_initial_metadata>::PullMaybe, grpc_core::ForwardCall(grpc_core::CallHandler, grpc_core::CallInitiator)::$_1::operator()()::'lambda'(std::__1::optional<std::__1::unique_ptr<grpc_metadata_batch, grpc_core::Arena::PooledDeleter>>)>, auto grpc_core::CallSpine::CancelIfFails<grpc_core::promise_detail::TrySeq<grpc_core::CallFilters::PipePromise<&grpc_core::CallFilters::server_initial_metadata_state_, &grpc_core::CallFilters::server_initial_metadata_push_, std::__1::unique_ptr<grpc_metadata_batch, grpc_core::Arena::PooledDeleter>, &grpc_core::filters_detail::StackData::server_initial_metadata>::PullMaybe, grpc_core::ForwardCall(grpc_core::CallHandler, grpc_core::CallInitiator)::$_1::operator()()::'lambda'(std::__1::optional<std::__1::unique_ptr<grpc_metadata_batch, grpc_core::Arena::PooledDeleter>>)>>(grpc_core::promise_detail::TrySeq<grpc_core::CallFilters::PipePromise<&grpc_core::CallFilters::server_initial_metadata_state_, &grpc_core::CallFilters::server_initial_metadata_push_, std::__1::unique_ptr<grpc_metadata_batch, grpc_core::Arena::PooledDeleter>, &grpc_core::filters_detail::StackData::server_initial_metadata>::PullMaybe, grpc_core::ForwardCall(grpc_core::CallHandler, grpc_core::CallInitiator)::$_1::operator()()::'lambda'(std::__1::optional<std::__1::unique_ptr<grpc_metadata_batch, grpc_core::Arena::PooledDeleter>>)>)::'lambda'(grpc_core::StatusFlag)>, grpc_core::CallFilters::PullServerTrailingMetadataPromise, grpc_core::ForwardCall(grpc_core::CallHandler, grpc_core::CallInitiator)::$_1::operator()()::'lambda'(std::__1::unique_ptr<grpc_metadata_batch, grpc_core::Arena::PooledDeleter>)>::PollOnce() in grpc[85](call_spine.o)
      grpc_core::promise_detail::SeqState<grpc_core::promise_detail::SeqTraits, grpc_core::promise_detail::Map<grpc_core::promise_detail::TrySeq<grpc_core::CallFilters::PipePromise<&grpc_core::CallFilters::server_initial_metadata_state_, &grpc_core::CallFilters::server_initial_metadata_push_, std::__1::unique_ptr<grpc_metadata_batch, grpc_core::Arena::PooledDeleter>, &grpc_core::filters_detail::StackData::server_initial_metadata>::PullMaybe, grpc_core::ForwardCall(grpc_core::CallHandler, grpc_core::CallInitiator)::$_1::operator()()::'lambda'(std::__1::optional<std::__1::unique_ptr<grpc_metadata_batch, grpc_core::Arena::PooledDeleter>>)>, auto grpc_core::CallSpine::CancelIfFails<grpc_core::promise_detail::TrySeq<grpc_core::CallFilters::PipePromise<&grpc_core::CallFilters::server_initial_metadata_state_, &grpc_core::CallFilters::server_initial_metadata_push_, std::__1::unique_ptr<grpc_metadata_batch, grpc_core::Arena::PooledDeleter>, &grpc_core::filters_detail::StackData::server_initial_metadata>::PullMaybe, grpc_core::ForwardCall(grpc_core::CallHandler, grpc_core::CallInitiator)::$_1::operator()()::'lambda'(std::__1::optional<std::__1::unique_ptr<grpc_metadata_batch, grpc_core::Arena::PooledDeleter>>)>>(grpc_core::promise_detail::TrySeq<grpc_core::CallFilters::PipePromise<&grpc_core::CallFilters::server_initial_metadata_state_, &grpc_core::CallFilters::server_initial_metadata_push_, std::__1::unique_ptr<grpc_metadata_batch, grpc_core::Arena::PooledDeleter>, &grpc_core::filters_detail::StackData::server_initial_metadata>::PullMaybe, grpc_core::ForwardCall(grpc_core::CallHandler, grpc_core::CallInitiator)::$_1::operator()()::'lambda'(std::__1::optional<std::__1::unique_ptr<grpc_metadata_batch, grpc_core::Arena::PooledDeleter>>)>)::'lambda'(grpc_core::StatusFlag)>, grpc_core::CallFilters::PullServerTrailingMetadataPromise, grpc_core::ForwardCall(grpc_core::CallHandler, grpc_core::CallInitiator)::$_1::operator()()::'lambda'(std::__1::unique_ptr<grpc_metadata_batch, grpc_core::Arena::PooledDeleter>)>::PollOnce() in grpc[85](call_spine.o)
      ...
  "void absl::lts_20240116::log_internal::LogMessage::CopyToEncodedBuffer<(absl::lts_20240116::log_internal::LogMessage::StringType)0>(std::__1::basic_string_view<char, std::__1::char_traits<char>>)", referenced from:
      absl::lts_20240116::log_internal::LogMessage& absl::lts_20240116::log_internal::LogMessage::operator<<<20>(char const (&) [20]) in FirebaseFirestoreInternal[107](grpc_connection.o)
      absl::lts_20240116::log_internal::LogMessage& absl::lts_20240116::log_internal::LogMessage::operator<<<10>(char const (&) [10]) in FirebaseFirestoreInternal[107](grpc_connection.o)
      absl::lts_20240116::log_internal::LogMessage& absl::lts_20240116::log_internal::LogMessage::operator<<<8>(char const (&) [8]) in grpc[11](address_filtering.o)
      absl::lts_20240116::log_internal::LogMessage& absl::lts_20240116::log_internal::LogMessage::operator<<<5>(char const (&) [5]) in grpc[11](address_filtering.o)
      absl::lts_20240116::log_internal::LogMessage& absl::lts_20240116::log_internal::LogMessage::operator<<<6>(char const (&) [6]) in grpc[11](address_filtering.o)
      absl::lts_20240116::log_internal::LogMessage& absl::lts_20240116::log_internal::LogMessage::operator<<<60>(char const (&) [60]) in grpc[22](alts_frame_protector.o)
      absl::lts_20240116::log_internal::LogMessage& absl::lts_20240116::log_internal::LogMessage::operator<<<33>(char const (&) [33]) in grpc[22](alts_frame_protector.o)
      ...
  "void absl::lts_20240116::log_internal::LogMessage::CopyToEncodedBuffer<(absl::lts_20240116::log_internal::LogMessage::StringType)1>(std::__1::basic_string_view<char, std::__1::char_traits<char>>)", referenced from:
      absl::lts_20240116::log_internal::StringifySink::Append(std::__1::basic_string_view<char, std::__1::char_traits<char>>) in grpc[85](call_spine.o)
      absl::lts_20240116::log_internal::LogMessage& absl::lts_20240116::log_internal::LogMessage::operator<<<1024>(char (&) [1024]) in grpc[465](load_system_roots_supported.o)
      absl::lts_20240116::log_internal::LogMessage& absl::lts_20240116::log_internal::LogMessage::operator<<<47>(char (&) [47]) in grpc[547](parse_address.o)
      absl::lts_20240116::log_internal::LogMessage& absl::lts_20240116::log_internal::LogMessage::operator<<<256>(char (&) [256]) in grpc[713](ssl_transport_security.o)
  "absl::lts_20240116::log_internal::LogMessage::operator<<(std::__1::basic_string_view<char, std::__1::char_traits<char>>)", referenced from:
      void grpc_core::Party::BulkSpawner::Spawn<grpc_core::ForwardCall(grpc_core::CallHandler, grpc_core::CallInitiator)::$_0, void grpc_core::CallSpine::SpawnGuarded<grpc_core::ForwardCall(grpc_core::CallHandler, grpc_core::CallInitiator)::$_0>(std::__1::basic_string_view<char, std::__1::char_traits<char>>, grpc_core::ForwardCall(grpc_core::CallHandler, grpc_core::CallInitiator)::$_0, grpc_core::DebugLocation)::'lambda'(grpc_core::StatusFlag)>(std::__1::basic_string_view<char, std::__1::char_traits<char>>, grpc_core::ForwardCall(grpc_core::CallHandler, grpc_core::CallInitiator)::$_0, void grpc_core::CallSpine::SpawnGuarded<grpc_core::ForwardCall(grpc_core::CallHandler, grpc_core::CallInitiator)::$_0>(std::__1::basic_string_view<char, std::__1::char_traits<char>>, grpc_core::ForwardCall(grpc_core::CallHandler, grpc_core::CallInitiator)::$_0, grpc_core::DebugLocation)::'lambda'(grpc_core::StatusFlag)) in grpc[85](call_spine.o)
      void grpc_core::Party::BulkSpawner::Spawn<grpc_core::ForwardCall(grpc_core::CallHandler, grpc_core::CallInitiator)::$_0::operator()()::'lambda'(grpc_core::StatusFlag)::operator()(grpc_core::StatusFlag)::'lambda'(), void grpc_core::CallSpine::SpawnInfallible<grpc_core::ForwardCall(grpc_core::CallHandler, grpc_core::CallInitiator)::$_0::operator()()::'lambda'(grpc_core::StatusFlag)::operator()(grpc_core::StatusFlag)::'lambda'()>(std::__1::basic_string_view<char, std::__1::char_traits<char>>, grpc_core::ForwardCall(grpc_core::CallHandler, grpc_core::CallInitiator)::$_0::operator()()::'lambda'(grpc_core::StatusFlag)::operator()(grpc_core::StatusFlag)::'lambda'())::'lambda'(grpc_core::Empty)>(std::__1::basic_string_view<char, std::__1::char_traits<char>>, grpc_core::ForwardCall(grpc_core::CallHandler, grpc_core::CallInitiator)::$_0::operator()()::'lambda'(grpc_core::StatusFlag)::operator()(grpc_core::StatusFlag)::'lambda'(), void grpc_core::CallSpine::SpawnInfallible<grpc_core::ForwardCall(grpc_core::CallHandler, grpc_core::CallInitiator)::$_0::operator()()::'lambda'(grpc_core::StatusFlag)::operator()(grpc_core::StatusFlag)::'lambda'()>(std::__1::basic_string_view<char, std::__1::char_traits<char>>, grpc_core::ForwardCall(grpc_core::CallHandler, grpc_core::CallInitiator)::$_0::operator()()::'lambda'(grpc_core::StatusFlag)::operator()(grpc_core::StatusFlag)::'lambda'())::'lambda'(grpc_core::Empty)) in grpc[85](call_spine.o)
      void grpc_core::Party::BulkSpawner::Spawn<grpc_core::ForwardCall(grpc_core::CallHandler, grpc_core::CallInitiator)::$_0::operator()()::'lambda'(grpc_core::StatusFlag)::operator()(grpc_core::StatusFlag)::'lambda0'(), void grpc_core::CallSpine::SpawnInfallible<grpc_core::ForwardCall(grpc_core::CallHandler, grpc_core::CallInitiator)::$_0::operator()()::'lambda'(grpc_core::StatusFlag)::operator()(grpc_core::StatusFlag)::'lambda0'()>(std::__1::basic_string_view<char, std::__1::char_traits<char>>, grpc_core::ForwardCall(grpc_core::CallHandler, grpc_core::CallInitiator)::$_0::operator()()::'lambda'(grpc_core::StatusFlag)::operator()(grpc_core::StatusFlag)::'lambda0'())::'lambda'(grpc_core::Empty)>(std::__1::basic_string_view<char, std::__1::char_traits<char>>, grpc_core::ForwardCall(grpc_core::CallHandler, grpc_core::CallInitiator)::$_0::operator()()::'lambda'(grpc_core::StatusFlag)::operator()(grpc_core::StatusFlag)::'lambda0'(), void grpc_core::CallSpine::SpawnInfallible<grpc_core::ForwardCall(grpc_core::CallHandler, grpc_core::CallInitiator)::$_0::operator()()::'lambda'(grpc_core::StatusFlag)::operator()(grpc_core::StatusFlag)::'lambda0'()>(std::__1::basic_string_view<char, std::__1::char_traits<char>>, grpc_core::ForwardCall(grpc_core::CallHandler, grpc_core::CallInitiator)::$_0::operator()()::'lambda'(grpc_core::StatusFlag)::operator()(grpc_core::StatusFlag)::'lambda0'())::'lambda'(grpc_core::Empty)) in grpc[85](call_spine.o)
      void grpc_core::Party::BulkSpawner::Spawn<grpc_core::ForwardCall(grpc_core::CallHandler, grpc_core::CallInitiator)::$_1, void grpc_core::CallSpine::SpawnInfallible<grpc_core::ForwardCall(grpc_core::CallHandler, grpc_core::CallInitiator)::$_1>(std::__1::basic_string_view<char, std::__1::char_traits<char>>, grpc_core::ForwardCall(grpc_core::CallHandler, grpc_core::CallInitiator)::$_1)::'lambda'(grpc_core::Empty)>(std::__1::basic_string_view<char, std::__1::char_traits<char>>, grpc_core::ForwardCall(grpc_core::CallHandler, grpc_core::CallInitiator)::$_1, void grpc_core::CallSpine::SpawnInfallible<grpc_core::ForwardCall(grpc_core::CallHandler, grpc_core::CallInitiator)::$_1>(std::__1::basic_string_view<char, std::__1::char_traits<char>>, grpc_core::ForwardCall(grpc_core::CallHandler, grpc_core::CallInitiator)::$_1)::'lambda'(grpc_core::Empty)) in grpc[85](call_spine.o)
      void grpc_core::Party::BulkSpawner::Spawn<grpc_core::ForwardCall(grpc_core::CallHandler, grpc_core::CallInitiator)::$_1::operator()()::'lambda'(std::__1::optional<std::__1::unique_ptr<grpc_metadata_batch, grpc_core::Arena::PooledDeleter>>)::operator()(std::__1::optional<std::__1::unique_ptr<grpc_metadata_batch, grpc_core::Arena::PooledDeleter>>)::'lambda'(), void grpc_core::CallSpine::SpawnGuarded<grpc_core::ForwardCall(grpc_core::CallHandler, grpc_core::CallInitiator)::$_1::operator()()::'lambda'(std::__1::optional<std::__1::unique_ptr<grpc_metadata_batch, grpc_core::Arena::PooledDeleter>>)::operator()(std::__1::optional<std::__1::unique_ptr<grpc_metadata_batch, grpc_core::Arena::PooledDeleter>>)::'lambda'()>(std::__1::basic_string_view<char, std::__1::char_traits<char>>, grpc_core::ForwardCall(grpc_core::CallHandler, grpc_core::CallInitiator)::$_1::operator()()::'lambda'(std::__1::optional<std::__1::unique_ptr<grpc_metadata_batch, grpc_core::Arena::PooledDeleter>>)::operator()(std::__1::optional<std::__1::unique_ptr<grpc_metadata_batch, grpc_core::Arena::PooledDeleter>>)::'lambda'(), grpc_core::DebugLocation)::'lambda'(grpc_core::StatusFlag)>(std::__1::basic_string_view<char, std::__1::char_traits<char>>, grpc_core::ForwardCall(grpc_core::CallHandler, grpc_core::CallInitiator)::$_1::operator()()::'lambda'(std::__1::optional<std::__1::unique_ptr<grpc_metadata_batch, grpc_core::Arena::PooledDeleter>>)::operator()(std::__1::optional<std::__1::unique_ptr<grpc_metadata_batch, grpc_core::Arena::PooledDeleter>>)::'lambda'(), void grpc_core::CallSpine::SpawnGuarded<grpc_core::ForwardCall(grpc_core::CallHandler, grpc_core::CallInitiator)::$_1::operator()()::'lambda'(std::__1::optional<std::__1::unique_ptr<grpc_metadata_batch, grpc_core::Arena::PooledDeleter>>)::operator()(std::__1::optional<std::__1::unique_ptr<grpc_metadata_batch, grpc_core::Arena::PooledDeleter>>)::'lambda'()>(std::__1::basic_string_view<char, std::__1::char_traits<char>>, grpc_core::ForwardCall(grpc_core::CallHandler, grpc_core::CallInitiator)::$_1::operator()()::'lambda'(std::__1::optional<std::__1::unique_ptr<grpc_metadata_batch, grpc_core::Arena::PooledDeleter>>)::operator()(std::__1::optional<std::__1::unique_ptr<grpc_metadata_batch, grpc_core::Arena::PooledDeleter>>)::'lambda'(), grpc_core::DebugLocation)::'lambda'(grpc_core::StatusFlag)) in grpc[85](call_spine.o)
      void grpc_core::Party::BulkSpawner::Spawn<grpc_core::ForwardCall(grpc_core::CallHandler, grpc_core::CallInitiator)::$_1::operator()()::'lambda'(std::__1::unique_ptr<grpc_metadata_batch, grpc_core::Arena::PooledDeleter>)::operator()(std::__1::unique_ptr<grpc_metadata_batch, grpc_core::Arena::PooledDeleter>)::'lambda'(), void grpc_core::CallSpine::SpawnInfallible<grpc_core::ForwardCall(grpc_core::CallHandler, grpc_core::CallInitiator)::$_1::operator()()::'lambda'(std::__1::unique_ptr<grpc_metadata_batch, grpc_core::Arena::PooledDeleter>)::operator()(std::__1::unique_ptr<grpc_metadata_batch, grpc_core::Arena::PooledDeleter>)::'lambda'()>(std::__1::basic_string_view<char, std::__1::char_traits<char>>, grpc_core::ForwardCall(grpc_core::CallHandler, grpc_core::CallInitiator)::$_1::operator()()::'lambda'(std::__1::unique_ptr<grpc_metadata_batch, grpc_core::Arena::PooledDeleter>)::operator()(std::__1::unique_ptr<grpc_metadata_batch, grpc_core::Arena::PooledDeleter>)::'lambda'())::'lambda'(grpc_core::Empty)>(std::__1::basic_string_view<char, std::__1::char_traits<char>>, grpc_core::ForwardCall(grpc_core::CallHandler, grpc_core::CallInitiator)::$_1::operator()()::'lambda'(std::__1::unique_ptr<grpc_metadata_batch, grpc_core::Arena::PooledDeleter>)::operator()(std::__1::unique_ptr<grpc_metadata_batch, grpc_core::Arena::PooledDeleter>)::'lambda'(), void grpc_core::CallSpine::SpawnInfallible<grpc_core::ForwardCall(grpc_core::CallHandler, grpc_core::CallInitiator)::$_1::operator()()::'lambda'(std::__1::unique_ptr<grpc_metadata_batch, grpc_core::Arena::PooledDeleter>)::operator()(std::__1::unique_ptr<grpc_metadata_batch, grpc_core::Arena::PooledDeleter>)::'lambda'()>(std::__1::basic_string_view<char, std::__1::char_traits<char>>, grpc_core::ForwardCall(grpc_core::CallHandler, grpc_core::CallInitiator)::$_1::operator()()::'lambda'(std::__1::unique_ptr<grpc_metadata_batch, grpc_core::Arena::PooledDeleter>)::operator()(std::__1::unique_ptr<grpc_metadata_batch, grpc_core::Arena::PooledDeleter>)::'lambda'())::'lambda'(grpc_core::Empty)) in grpc[85](call_spine.o)
      grpc_core::CertificateProviderRegistry::Builder::RegisterCertificateProviderFactory(std::__1::unique_ptr<grpc_core::CertificateProviderFactory, std::__1::default_delete<grpc_core::CertificateProviderFactory>>) in grpc[95](certificate_provider_registry.o)
      ...
  "absl::lts_20240116::log_internal::PrependVModule(std::__1::basic_string_view<char, std::__1::char_traits<char>>, int)", referenced from:
      absl::lts_20240116::SetVLogLevel(std::__1::basic_string_view<char, std::__1::char_traits<char>>, int) in grpc[475](log-393f283ca47be690623e08410aec97dc.o)
  "absl::lts_20240116::log_internal::LogMessageFatal::LogMessageFatal(char const*, int, std::__1::basic_string_view<char, std::__1::char_traits<char>>)", referenced from:
      grpc::ClientAsyncReaderWriter<grpc::ByteBuffer, grpc::ByteBuffer>::operator delete(void*, void*) in FirebaseFirestoreInternal[107](grpc_connection.o)
      grpc::ClientAsyncReaderWriter<grpc::ByteBuffer, grpc::ByteBuffer>::ClientAsyncReaderWriter(grpc::internal::Call, grpc::ClientContext*, bool, void*) in FirebaseFirestoreInternal[107](grpc_connection.o)
      grpc::ClientAsyncReaderWriter<grpc::ByteBuffer, grpc::ByteBuffer>::StartCall(void*) in FirebaseFirestoreInternal[107](grpc_connection.o)
      grpc::ClientAsyncReaderWriter<grpc::ByteBuffer, grpc::ByteBuffer>::ReadInitialMetadata(void*) in FirebaseFirestoreInternal[107](grpc_connection.o)
      grpc::ClientAsyncReaderWriter<grpc::ByteBuffer, grpc::ByteBuffer>::ReadInitialMetadata(void*) in FirebaseFirestoreInternal[107](grpc_connection.o)
      grpc::ClientAsyncReaderWriter<grpc::ByteBuffer, grpc::ByteBuffer>::Finish(grpc::Status*, void*) in FirebaseFirestoreInternal[107](grpc_connection.o)
      grpc::ClientAsyncReaderWriter<grpc::ByteBuffer, grpc::ByteBuffer>::WritesDone(void*) in FirebaseFirestoreInternal[107](grpc_connection.o)
      ...
  "absl::lts_20240116::InternalError(std::__1::basic_string_view<char, std::__1::char_traits<char>>)", referenced from:
      grpc_core::(anonymous namespace)::CdsLb::UpdateLocked(grpc_core::LoadBalancingPolicy::UpdateArgs) in grpc[88](cds.o)
      grpc_core::(anonymous namespace)::CdsLb::UpdateLocked(grpc_core::LoadBalancingPolicy::UpdateArgs) in grpc[88](cds.o)
      grpc_core::(anonymous namespace)::CdsLb::UpdateLocked(grpc_core::LoadBalancingPolicy::UpdateArgs) in grpc[88](cds.o)
      grpc_event_engine::experimental::(anonymous namespace)::CFReadStreamLocallAddress(__CFReadStream*) in grpc[100](cfstream_endpoint.o)
      grpc_core::(anonymous namespace)::Chttp2SecureClientChannelFactory::GetSecureNamingChannelArgs(grpc_core::ChannelArgs) in grpc[123](chttp2_connector.o)
      grpc_core::(anonymous namespace)::Chttp2SecureClientChannelFactory::GetSecureNamingChannelArgs(grpc_core::ChannelArgs) in grpc[123](chttp2_connector.o)
      grpc_core::(anonymous namespace)::Chttp2SecureClientChannelFactory::GetSecureNamingChannelArgs(grpc_core::ChannelArgs) in grpc[123](chttp2_connector.o)
      grpc_core::(anonymous namespace)::Chttp2SecureClientChannelFactory::GetSecureNamingChannelArgs(grpc_core::ChannelArgs) in grpc[123](chttp2_connector.o)
      ...
  "absl::lts_20240116::NotFoundError(std::__1::basic_string_view<char, std::__1::char_traits<char>>)", referenced from:
      grpc_core::experimental::AuditLoggerRegistry::ParseConfig(std::__1::basic_string_view<char, std::__1::char_traits<char>>, grpc_core::experimental::Json const&) in grpc[50](audit_logging.o)
      grpc_event_engine::experimental::DNSServiceResolverImpl::ResolveCallback(_DNSServiceRef_t*, unsigned int, unsigned int, int, char const*, sockaddr const*, unsigned int, void*) in grpc[225](dns_service_resolver.o)
      GetCrlFromProvider(grpc_core::experimental::CrlProvider*, x509_st*) in grpc[713](ssl_transport_security.o)
      grpc_core::ParsePemCertificateChain(std::__1::basic_string_view<char, std::__1::char_traits<char>>) in grpc[714](ssl_transport_security_utils.o)
      grpc_core::ParsePemPrivateKey(std::__1::basic_string_view<char, std::__1::char_traits<char>>) in grpc[714](ssl_transport_security_utils.o)
  "absl::lts_20240116::StrReplaceAll(std::__1::basic_string_view<char, std::__1::char_traits<char>>, std::initializer_list<std::__1::pair<std::__1::basic_string_view<char, std::__1::char_traits<char>>, std::__1::basic_string_view<char, std::__1::char_traits<char>>>>)", referenced from:
      firebase::firestore::model::(anonymous namespace)::JoinEscaped::escaped_segment(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&) in FirebaseFirestoreInternal[58](field_path.o)
      grpc_core::AwsExternalAccountCredentials::BuildSubjectToken() in grpc[54](aws_external_account_credentials.o)
      grpc_core::(anonymous namespace)::XdsResolver::StartLocked() in grpc[916](xds_resolver.o)
      grpc_core::(anonymous namespace)::XdsResolver::StartLocked() in grpc[916](xds_resolver.o)
  "absl::lts_20240116::Base64Unescape(std::__1::basic_string_view<char, std::__1::char_traits<char>>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>*)", referenced from:
      firebase::firestore::bundle::(anonymous namespace)::DecodeBytesValue(firebase::firestore::util::JsonReader&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&) in FirebaseFirestoreInternal[22](bundle_serializer.o)
      grpc_core::(anonymous namespace)::GetCookieValue(grpc_metadata_batch const&, std::__1::basic_string_view<char, std::__1::char_traits<char>>) in grpc[720](stateful_session_filter.o)
  "absl::lts_20240116::CancelledError(std::__1::basic_string_view<char, std::__1::char_traits<char>>)", referenced from:
      grpc_core::CallFilters::CancelDueToFailedPipeOperation(grpc_core::SourceLocation) in grpc[82](call_filters.o)
      grpc_event_engine::experimental::CFEventEngine::CancelConnect(grpc_event_engine::experimental::EventEngine::ConnectionHandle) in grpc[99](cf_engine.o)
      grpc_core::ClientChannelFilter::FilterBasedLoadBalancedCall::Orphan() in grpc[135](client_channel_filter.o)
      grpc_event_engine::experimental::DNSServiceResolverImpl::Shutdown()::$_0::operator()(void*) const in grpc[225](dns_service_resolver.o)
      on_read(void*, absl::lts_20240116::Status) in grpc[656](secure_endpoint.o)
  "absl::lts_20240116::flags_internal::AbslParseFlag(std::__1::basic_string_view<char, std::__1::char_traits<char>>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>*)", referenced from:
      bool absl::lts_20240116::flags_internal::InvokeParseFlag<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>(std::__1::basic_string_view<char, std::__1::char_traits<char>>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>*) in grpc[174](config_vars.o)
  "absl::lts_20240116::flags_internal::AbslParseFlag(std::__1::basic_string_view<char, std::__1::char_traits<char>>, std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>>*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>*)", referenced from:
      bool absl::lts_20240116::flags_internal::InvokeParseFlag<std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>>>(std::__1::basic_string_view<char, std::__1::char_traits<char>>, std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>>*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>*) in grpc[174](config_vars.o)
  "absl::lts_20240116::flags_internal::AbslParseFlag(std::__1::basic_string_view<char, std::__1::char_traits<char>>, bool*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>*)", referenced from:
      bool absl::lts_20240116::flags_internal::InvokeParseFlag<bool>(std::__1::basic_string_view<char, std::__1::char_traits<char>>, bool*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>*) in grpc[174](config_vars.o)
  "absl::lts_20240116::flags_internal::AbslParseFlag(std::__1::basic_string_view<char, std::__1::char_traits<char>>, int*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>*)", referenced from:
      bool absl::lts_20240116::flags_internal::InvokeParseFlag<int>(std::__1::basic_string_view<char, std::__1::char_traits<char>>, int*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>*) in grpc[174](config_vars.o)
  "absl::lts_20240116::flags_internal::AbslUnparseFlag(std::__1::basic_string_view<char, std::__1::char_traits<char>>)", referenced from:
      std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> absl::lts_20240116::flags_internal::Unparse<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&) in grpc[174](config_vars.o)
  "absl::lts_20240116::status_internal::StatusRep::SetPayload(std::__1::basic_string_view<char, std::__1::char_traits<char>>, absl::lts_20240116::Cord)", referenced from:
      absl::lts_20240116::Status::SetPayload(std::__1::basic_string_view<char, std::__1::char_traits<char>>, absl::lts_20240116::Cord) in grpc[125](chttp2_transport.o)
  "absl::lts_20240116::BytesToHexString(std::__1::basic_string_view<char, std::__1::char_traits<char>>)", referenced from:
      firebase::firestore::nanopb::ByteString::ToHexString() const in FirebaseFirestoreInternal[25](byte_string.o)
      firebase::firestore::util::internal::StringFormatPieces(char const*, std::initializer_list<std::__1::basic_string_view<char, std::__1::char_traits<char>>>)::$_2::operator()(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>*) const in FirebaseFirestoreInternal[213](string_format.o)
      firebase::firestore::model::CanonifyBlob(firebase::firestore::_google_firestore_v1_Value const&) in FirebaseFirestoreInternal[233](value_util.o)
      grpc_core::AwsRequestSigner::GetSignedRequestHeaders() in grpc[55](aws_request_signer.o)
      grpc_core::(anonymous namespace)::SHA256Hex(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&) in grpc[55](aws_request_signer.o)
      grpc_core::(anonymous namespace)::PercentEncode(std::__1::basic_string_view<char, std::__1::char_traits<char>>, std::__1::function<bool (char)>) in grpc[853](uri_parser.o)
  "absl::lts_20240116::EqualsIgnoreCase(std::__1::basic_string_view<char, std::__1::char_traits<char>>, std::__1::basic_string_view<char, std::__1::char_traits<char>>)", referenced from:
      grpc_core::EvaluateArgs::GetHeaderValue(std::__1::basic_string_view<char, std::__1::char_traits<char>>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>*) const in grpc[269](evaluate_args.o)
      grpc_core::EvaluateArgs::GetHeaderValue(std::__1::basic_string_view<char, std::__1::char_traits<char>>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>*) const in grpc[269](evaluate_args.o)
      _gpr_log_verbosity_init in grpc[475](log-393f283ca47be690623e08410aec97dc.o)
      _gpr_log_verbosity_init in grpc[475](log-393f283ca47be690623e08410aec97dc.o)
      _gpr_log_verbosity_init in grpc[475](log-393f283ca47be690623e08410aec97dc.o)
      _gpr_log_verbosity_init in grpc[475](log-393f283ca47be690623e08410aec97dc.o)
      grpc_core::StringMatcher::Match(std::__1::basic_string_view<char, std::__1::char_traits<char>>) const in grpc[486](matchers-3175be36267ab30f28a4fd71aa43bd31.o)
      ...
  "absl::lts_20240116::UnavailableError(std::__1::basic_string_view<char, std::__1::char_traits<char>>)", referenced from:
      grpc_core::(anonymous namespace)::CdsLb::UpdateLocked(grpc_core::LoadBalancingPolicy::UpdateArgs) in grpc[88](cds.o)
      grpc_core::(anonymous namespace)::CdsLb::UpdateLocked(grpc_core::LoadBalancingPolicy::UpdateArgs) in grpc[88](cds.o)
      grpc_core::(anonymous namespace)::CdsLb::UpdateLocked(grpc_core::LoadBalancingPolicy::UpdateArgs) in grpc[88](cds.o)
      grpc_core::ClientChannel::DestroyResolverAndLbPolicyLocked() in grpc[133](client_channel.o)
      grpc_core::ClientChannel::OnResolverResultChangedLocked(grpc_core::Resolver::Result) in grpc[133](client_channel.o)
      grpc_core::ClientChannelFilter::OnResolverResultChangedLocked(grpc_core::Resolver::Result) in grpc[135](client_channel_filter.o)
      CFStreamDestroy(grpc_endpoint*) in grpc[246](endpoint_cfstream.o)
      ...
  "absl::lts_20240116::numbers_internal::safe_strto32_base(std::__1::basic_string_view<char, std::__1::char_traits<char>>, int*, int)", referenced from:
      bool absl::lts_20240116::numbers_internal::safe_strtoi_base<int>(std::__1::basic_string_view<char, std::__1::char_traits<char>>, int*, int) in FirebaseFirestoreInternal[22](bundle_serializer.o)
      bool absl::lts_20240116::numbers_internal::safe_strtoi_base<grpc_status_code>(std::__1::basic_string_view<char, std::__1::char_traits<char>>, grpc_status_code*, int) in grpc[87](call_utils.o)
  "absl::lts_20240116::numbers_internal::safe_strto64_base(std::__1::basic_string_view<char, std::__1::char_traits<char>>, long long*, int)", referenced from:
      bool absl::lts_20240116::numbers_internal::safe_strtoi_base<long long>(std::__1::basic_string_view<char, std::__1::char_traits<char>>, long long*, int) in FirebaseFirestoreInternal[22](bundle_serializer.o)
      bool absl::lts_20240116::numbers_internal::safe_strtoi_base<long>(std::__1::basic_string_view<char, std::__1::char_traits<char>>, long*, int) in grpc[737](status_helper.o)
  "absl::lts_20240116::numbers_internal::safe_strtou32_base(std::__1::basic_string_view<char, std::__1::char_traits<char>>, unsigned int*, int)", referenced from:
      bool absl::lts_20240116::numbers_internal::safe_strtoi_base<unsigned int>(std::__1::basic_string_view<char, std::__1::char_traits<char>>, unsigned int*, int) in FirebaseFirestoreInternal[22](bundle_serializer.o)
  "absl::lts_20240116::numbers_internal::safe_strtou64_base(std::__1::basic_string_view<char, std::__1::char_traits<char>>, unsigned long long*, int)", referenced from:
      bool absl::lts_20240116::numbers_internal::safe_strtoi_base<unsigned long>(std::__1::basic_string_view<char, std::__1::char_traits<char>>, unsigned long*, int) in FirebaseFirestoreInternal[21](bundle_reader.o)
      bool absl::lts_20240116::numbers_internal::safe_strtoi_base<unsigned long long>(std::__1::basic_string_view<char, std::__1::char_traits<char>>, unsigned long long*, int) in FirebaseFirestoreInternal[22](bundle_serializer.o)
  "absl::lts_20240116::strings_internal::AppendPieces(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>*, std::initializer_list<std::__1::basic_string_view<char, std::__1::char_traits<char>>>)", referenced from:
      void absl::lts_20240116::StrAppend<char [3]>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>*, absl::lts_20240116::AlphaNum const&, absl::lts_20240116::AlphaNum const&, absl::lts_20240116::AlphaNum const&, absl::lts_20240116::AlphaNum const&, absl::lts_20240116::AlphaNum const&, char const (&) [3]) in FirebaseFirestoreInternal[50](exception.o)
      void absl::lts_20240116::StrAppend<>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>*, absl::lts_20240116::AlphaNum const&, absl::lts_20240116::AlphaNum const&, absl::lts_20240116::AlphaNum const&, absl::lts_20240116::AlphaNum const&, absl::lts_20240116::AlphaNum const&) in FirebaseFirestoreInternal[139](leveldb_transaction.o)
      void absl::lts_20240116::StrAppend<int, char [13], char const*, char [2]>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>*, absl::lts_20240116::AlphaNum const&, absl::lts_20240116::AlphaNum const&, absl::lts_20240116::AlphaNum const&, absl::lts_20240116::AlphaNum const&, absl::lts_20240116::AlphaNum const&, int const&, char const (&) [13], char const* const&, char const (&) [2]) in grpc[108](channel_init.o)
  "absl::lts_20240116::strings_internal::StringifySink::Append(std::__1::basic_string_view<char, std::__1::char_traits<char>>)", referenced from:
      void absl::lts_20240116::AbslStringify<absl::lts_20240116::strings_internal::StringifySink>(absl::lts_20240116::strings_internal::StringifySink&, absl::lts_20240116::Hex) in FirebaseFirestoreInternal[111](grpc_stream.o)
      void absl::lts_20240116::AbslStringify<absl::lts_20240116::strings_internal::StringifySink>(absl::lts_20240116::strings_internal::StringifySink&, absl::lts_20240116::Hex) in FirebaseFirestoreInternal[111](grpc_stream.o)
  "absl::lts_20240116::strings_internal::CatPieces(std::initializer_list<std::__1::basic_string_view<char, std::__1::char_traits<char>>>)", referenced from:
      std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> absl::lts_20240116::StrCat<>(absl::lts_20240116::AlphaNum const&, absl::lts_20240116::AlphaNum const&, absl::lts_20240116::AlphaNum const&, absl::lts_20240116::AlphaNum const&, absl::lts_20240116::AlphaNum const&) in FirebaseFirestoreInternal[6](aggregation_result.nanopb.o)
      std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> absl::lts_20240116::StrCat<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, char [2]>(absl::lts_20240116::AlphaNum const&, absl::lts_20240116::AlphaNum const&, absl::lts_20240116::AlphaNum const&, absl::lts_20240116::AlphaNum const&, absl::lts_20240116::AlphaNum const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, char const (&) [2]) in FirebaseFirestoreInternal[119](index_backfiller.o)
      std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> absl::lts_20240116::StrCat<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, char [12], std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, char [2]>(absl::lts_20240116::AlphaNum const&, absl::lts_20240116::AlphaNum const&, absl::lts_20240116::AlphaNum const&, absl::lts_20240116::AlphaNum const&, absl::lts_20240116::AlphaNum const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, char const (&) [12], std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, char const (&) [2]) in FirebaseFirestoreInternal[120](index_entry.o)
      std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> absl::lts_20240116::StrCat<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, char [16], std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, char [2]>(absl::lts_20240116::AlphaNum const&, absl::lts_20240116::AlphaNum const&, absl::lts_20240116::AlphaNum const&, absl::lts_20240116::AlphaNum const&, absl::lts_20240116::AlphaNum const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, char const (&) [16], std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, char const (&) [2]) in FirebaseFirestoreInternal[166](mutation_batch_result.o)
      std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> absl::lts_20240116::StrCat<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, char [8], std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, char [14], std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, char [2]>(absl::lts_20240116::AlphaNum const&, absl::lts_20240116::AlphaNum const&, absl::lts_20240116::AlphaNum const&, absl::lts_20240116::AlphaNum const&, absl::lts_20240116::AlphaNum const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, char const (&) [8], std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, char const (&) [14], std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, char const (&) [2]) in FirebaseFirestoreInternal[174](patch_mutation.o)
      std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> absl::lts_20240116::StrCat<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, char [14], std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, char [2]>(absl::lts_20240116::AlphaNum const&, absl::lts_20240116::AlphaNum const&, absl::lts_20240116::AlphaNum const&, absl::lts_20240116::AlphaNum const&, absl::lts_20240116::AlphaNum const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, char const (&) [14], std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, char const (&) [2]) in FirebaseFirestoreInternal[198](set_mutation.o)
      std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> absl::lts_20240116::StrCat<char [2], int, char [4]>(absl::lts_20240116::AlphaNum const&, absl::lts_20240116::AlphaNum const&, absl::lts_20240116::AlphaNum const&, absl::lts_20240116::AlphaNum const&, absl::lts_20240116::AlphaNum const&, char const (&) [2], int const&, char const (&) [4]) in grpc[85](call_spine.o)
      ...
  "absl::lts_20240116::EndsWithIgnoreCase(std::__1::basic_string_view<char, std::__1::char_traits<char>>, std::__1::basic_string_view<char, std::__1::char_traits<char>>)", referenced from:
      grpc_core::(anonymous namespace)::ExactMatchOrSubdomain(std::__1::basic_string_view<char, std::__1::char_traits<char>>, std::__1::basic_string_view<char, std::__1::char_traits<char>>) in grpc[394](http_proxy_mapper.o)
      grpc_core::StringMatcher::Match(std::__1::basic_string_view<char, std::__1::char_traits<char>>) const in grpc[486](matchers-3175be36267ab30f28a4fd71aa43bd31.o)
  "absl::lts_20240116::UnimplementedError(std::__1::basic_string_view<char, std::__1::char_traits<char>>)", referenced from:
      grpc_core::Call::HandleCompressionAlgorithmDisabled(grpc_compression_algorithm) in grpc[77](call.o)
      grpc_event_engine::experimental::DNSServiceResolver::LookupSRV(absl::lts_20240116::AnyInvocable<void (absl::lts_20240116::StatusOr<std::__1::vector<grpc_event_engine::experimental::EventEngine::DNSResolver::SRVRecord, std::__1::allocator<grpc_event_engine::experimental::EventEngine::DNSResolver::SRVRecord>>>)>, std::__1::basic_string_view<char, std::__1::char_traits<char>>)::'lambda'()::operator()() in grpc[99](cf_engine.o)
      grpc_event_engine::experimental::DNSServiceResolver::LookupTXT(absl::lts_20240116::AnyInvocable<void (absl::lts_20240116::StatusOr<std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>>>)>, std::__1::basic_string_view<char, std::__1::char_traits<char>>)::'lambda'()::operator()() in grpc[99](cf_engine.o)
      grpc_core::NativeDNSResolver::LookupSRV(std::__1::function<void (absl::lts_20240116::StatusOr<std::__1::vector<grpc_resolved_address, std::__1::allocator<grpc_resolved_address>>>)>, std::__1::basic_string_view<char, std::__1::char_traits<char>>, grpc_core::Duration, grpc_pollset_set*, std::__1::basic_string_view<char, std::__1::char_traits<char>>)::$_0::operator()() const in grpc[617](resolve_address_posix.o)
      grpc_core::NativeDNSResolver::LookupTXT(std::__1::function<void (absl::lts_20240116::StatusOr<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>)>, std::__1::basic_string_view<char, std::__1::char_traits<char>>, grpc_core::Duration, grpc_pollset_set*, std::__1::basic_string_view<char, std::__1::char_traits<char>>)::$_0::operator()() const in grpc[617](resolve_address_posix.o)
      grpc_core::XdsHttpRouterFilter::GenerateServiceConfig(grpc_core::XdsHttpFilterImpl::FilterConfig const&, grpc_core::XdsHttpFilterImpl::FilterConfig const*) const in grpc[910](xds_http_filters.o)
  "absl::lts_20240116::WebSafeBase64Escape(std::__1::basic_string_view<char, std::__1::char_traits<char>>)", referenced from:
      compute_and_encode_signature(grpc_auth_json_key const*, char const*, char const*) in grpc[436](json_token.o)
      encoded_jwt_header(char const*, char const*) in grpc[436](json_token.o)
      encoded_jwt_claim(grpc_auth_json_key const*, char const*, gpr_timespec, char const*) in grpc[436](json_token.o)
  "bool absl::lts_20240116::str_format_internal::FormatArgImpl::Dispatch<std::__1::basic_string_view<char, std::__1::char_traits<char>>>(absl::lts_20240116::str_format_internal::FormatArgImpl::Data, absl::lts_20240116::str_format_internal::FormatConversionSpecImpl, void*)", referenced from:
      void absl::lts_20240116::str_format_internal::FormatArgImpl::Init<std::__1::basic_string_view<char, std::__1::char_traits<char>>>(std::__1::basic_string_view<char, std::__1::char_traits<char>> const&) in grpc[50](audit_logging.o)
  "absl::lts_20240116::InvalidArgumentError(std::__1::basic_string_view<char, std::__1::char_traits<char>>)", referenced from:
      grpc_event_engine::experimental::CFEventEngine::GetDNSResolver(grpc_event_engine::experimental::EventEngine::DNSResolver::ResolverOptions const&) in grpc[99](cf_engine.o)
      grpc_core::ChannelInit::AddToInterceptionChainBuilder(grpc_channel_stack_type, grpc_core::InterceptionChainBuilder&) const in grpc[108](channel_init.o)
      grpc_core::(anonymous namespace)::CreateChannel(char const*, grpc_core::ChannelArgs const&) in grpc[123](chttp2_connector.o)
      grpc_core::ClientAuthFilter::Create(grpc_core::ChannelArgs const&, grpc_core::ChannelFilter::Args) in grpc[130](client_auth_filter.o)
      grpc_core::ClientAuthFilter::Create(grpc_core::ChannelArgs const&, grpc_core::ChannelFilter::Args) in grpc[130](client_auth_filter.o)
      grpc_core::ClientAuthorityFilter::Create(grpc_core::ChannelArgs const&, grpc_core::ChannelFilter::Args) in grpc[131](client_authority_filter.o)
      grpc_core::ClientChannel::Create(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, grpc_core::ChannelArgs) in grpc[133](client_channel.o)
      ...
  "absl::lts_20240116::StartsWithIgnoreCase(std::__1::basic_string_view<char, std::__1::char_traits<char>>, std::__1::basic_string_view<char, std::__1::char_traits<char>>)", referenced from:
      grpc_core::StringMatcher::Match(std::__1::basic_string_view<char, std::__1::char_traits<char>>) const in grpc[486](matchers-3175be36267ab30f28a4fd71aa43bd31.o)
  "absl::lts_20240116::UnauthenticatedError(std::__1::basic_string_view<char, std::__1::char_traits<char>>)", referenced from:
      grpc_core::ClientAuthFilter::GetCallCredsMetadata(grpc_core::CallArgs) in grpc[130](client_auth_filter.o)
      grpc_core::ClientAuthFilter::GetCallCredsMetadata(grpc_core::CallArgs) in grpc[130](client_auth_filter.o)
      grpc_core::ClientAuthFilter::GetCallCredsMetadata(grpc_core::CallArgs) in grpc[130](client_auth_filter.o)
      grpc_service_account_jwt_access_credentials::GetRequestMetadata(std::__1::unique_ptr<grpc_metadata_batch, grpc_core::Arena::PooledDeleter>, grpc_call_credentials::GetRequestMetadataArgs const*) in grpc[440](jwt_credentials.o)
      (anonymous namespace)::grpc_local_channel_security_connector::CheckCallHost(std::__1::basic_string_view<char, std::__1::char_traits<char>>, grpc_auth_context*) in grpc[468](local_security_connector.o)
      grpc_core::SslCheckCallHost(std::__1::basic_string_view<char, std::__1::char_traits<char>>, std::__1::basic_string_view<char, std::__1::char_traits<char>>, std::__1::basic_string_view<char, std::__1::char_traits<char>>, grpc_auth_context*) in grpc[715](ssl_utils.o)
  "absl::lts_20240116::DeadlineExceededError(std::__1::basic_string_view<char, std::__1::char_traits<char>>)", referenced from:
      grpc_core::Call::UpdateDeadline(grpc_core::Timestamp) in grpc[77](call.o)
      grpc_core::Call::Run() in grpc[77](call.o)
      grpc_event_engine::experimental::CFEventEngine::Connect(absl::lts_20240116::AnyInvocable<void (absl::lts_20240116::StatusOr<std::__1::unique_ptr<grpc_event_engine::experimental::EventEngine::Endpoint, std::__1::default_delete<grpc_event_engine::experimental::EventEngine::Endpoint>>>)>, grpc_event_engine::experimental::EventEngine::ResolvedAddress const&, grpc_event_engine::experimental::EndpointConfig const&, grpc_event_engine::experimental::MemoryAllocator, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l>>)::$_0::operator()() const in grpc[99](cf_engine.o)
      grpc_event_engine::experimental::LivingThreadCount::BlockUntilThreadCount(unsigned long, char const*, grpc_core::Duration) in grpc[791](thread_count.o)
  "absl::lts_20240116::PermissionDeniedError(std::__1::basic_string_view<char, std::__1::char_traits<char>>)", referenced from:
      grpc_core::GrpcServerAuthzFilter::Call::OnClientInitialMetadata(grpc_metadata_batch&, grpc_core::GrpcServerAuthzFilter*) in grpc[349](grpc_server_authz_filter.o)
      grpc_core::RbacFilter::Call::OnClientInitialMetadata(grpc_metadata_batch&, grpc_core::RbacFilter*) in grpc[605](rbac_filter.o)
      grpc_core::RbacFilter::Call::OnClientInitialMetadata(grpc_metadata_batch&, grpc_core::RbacFilter*) in grpc[605](rbac_filter.o)
  "absl::lts_20240116::ResourceExhaustedError(std::__1::basic_string_view<char, std::__1::char_traits<char>>)", referenced from:
      grpc_core::ChannelCompression::DecompressMessage(bool, std::__1::unique_ptr<grpc_core::Message, grpc_core::Arena::PooledDeleter>, grpc_core::ChannelCompression::DecompressArgs) const in grpc[164](compression_filter.o)
      grpc_core::HpackParseResult::BuildMaterialized() const in grpc[375](hpack_parse_result.o)
      grpc_core::HpackParseResult::BuildMaterialized() const in grpc[375](hpack_parse_result.o)
      grpc_core::HpackParseResult::BuildMaterialized() const in grpc[375](hpack_parse_result.o)
      grpc_core::Server::RealRequestMatcher::MatchRequest(unsigned long) in grpc[670](server.o)
  "absl::lts_20240116::FailedPreconditionError(std::__1::basic_string_view<char, std::__1::char_traits<char>>)", referenced from:
      grpc_core::LoadBalancingPolicyRegistry::ParseLoadBalancingConfigHelper(grpc_core::experimental::Json const&) const in grpc[444](lb_policy_registry.o)
      grpc_core::LoadBalancingPolicyRegistry::ParseLoadBalancingConfig(grpc_core::experimental::Json const&) const in grpc[444](lb_policy_registry.o)
      grpc_core::ParsePemCertificateChain(std::__1::basic_string_view<char, std::__1::char_traits<char>>) in grpc[714](ssl_transport_security_utils.o)
      grpc_core::(anonymous namespace)::GetBootstrapContents(char const*) in grpc[898](xds_client_grpc.o)
      grpc_core::XdsRouting::GeneratePerHTTPFilterConfigs(grpc_core::XdsHttpFilterRegistry const&, std::__1::vector<grpc_core::XdsListenerResource::HttpConnectionManager::HttpFilter, std::__1::allocator<grpc_core::XdsListenerResource::HttpConnectionManager::HttpFilter>> const&, grpc_core::XdsRouteConfigResource::VirtualHost const&, grpc_core::XdsRouteConfigResource::Route const&, grpc_core::XdsRouteConfigResource::Route::RouteAction::ClusterWeight const*, grpc_core::ChannelArgs const&) in grpc[918](xds_routing.o)
  "absl::lts_20240116::Cord::GetFlatAux(absl::lts_20240116::cord_internal::CordRep*, std::__1::basic_string_view<char, std::__1::char_traits<char>>*)", referenced from:
      absl::lts_20240116::Cord::TryFlat() const in grpc[737](status_helper.o)
      absl::lts_20240116::Cord::Flatten() in grpc[737](status_helper.o)
  "absl::lts_20240116::Cord::InlineRep::AppendArray(std::__1::basic_string_view<char, std::__1::char_traits<char>>, absl::lts_20240116::cord_internal::CordzUpdateTracker::MethodIdentifier)", referenced from:
      absl::lts_20240116::Cord::Append(std::__1::basic_string_view<char, std::__1::char_traits<char>>) in grpc[737](status_helper.o)
  "absl::lts_20240116::Cord::Cord(std::__1::basic_string_view<char, std::__1::char_traits<char>>, absl::lts_20240116::cord_internal::CordzUpdateTracker::MethodIdentifier)", referenced from:
      absl::lts_20240116::Cord::Cord(std::__1::basic_string_view<char, std::__1::char_traits<char>>) in grpc[737](status_helper.o)
  "absl::lts_20240116::Status::Status(absl::lts_20240116::StatusCode, std::__1::basic_string_view<char, std::__1::char_traits<char>>)", referenced from:
      grpc_core::Call::CancelWithStatus(grpc_status_code, char const*) in grpc[77](call.o)
      absl::lts_20240116::StatusOr<std::__1::shared_ptr<grpc_core::EndpointAddressesIterator>>::StatusOr() in grpc[88](cds.o)
      grpc_event_engine::experimental::(anonymous namespace)::CFErrorToStatus(grpc_event_engine::experimental::CFTypeUniqueRef<__CFError*>) in grpc[100](cfstream_endpoint.o)
      grpc_event_engine::experimental::CFStreamEndpointImpl::Shutdown() in grpc[100](cfstream_endpoint.o)
      _grpc_lame_client_channel_create in grpc[106](channel_create.o)
      maybe_start_some_streams(grpc_chttp2_transport*) in grpc[125](chttp2_transport.o)
      grpc_core::ClientChannelFilter::FilterBasedLoadBalancedCall::RecvTrailingMetadataReady(void*, absl::lts_20240116::Status) in grpc[135](client_channel_filter.o)
      grpc_core::ClientChannelFilter::FilterBasedLoadBalancedCall::RecvTrailingMetadataReady(void*, absl::lts_20240116::Status) in grpc[135](client_channel_filter.o)
      ...
  "absl::lts_20240116::CEscape(std::__1::basic_string_view<char, std::__1::char_traits<char>>)", referenced from:
      firebase::firestore::nanopb::ByteString::ToString() const in FirebaseFirestoreInternal[25](byte_string.o)
      grpc_core::ConfigVars::ToString() const in grpc[174](config_vars.o)
      grpc_core::ConfigVars::ToString() const in grpc[174](config_vars.o)
      grpc_core::ConfigVars::ToString() const in grpc[174](config_vars.o)
      grpc_core::ConfigVars::ToString() const in grpc[174](config_vars.o)
      grpc_core::ConfigVars::ToString() const in grpc[174](config_vars.o)
      grpc_core::ConfigVars::ToString() const in grpc[174](config_vars.o)
      grpc_core::ConfigVars::ToString() const in grpc[174](config_vars.o)
      grpc_core::ConfigVars::ToString() const in grpc[174](config_vars.o)
      grpc_core::ConfigVars::ToString() const in grpc[174](config_vars.o)
      ...
  "absl::lts_20240116::ByString::ByString(std::__1::basic_string_view<char, std::__1::char_traits<char>>)", referenced from:
      absl::lts_20240116::strings_internal::MaxSplitsImpl<absl::lts_20240116::strings_internal::SelectDelimiter<char const*>::type> absl::lts_20240116::MaxSplits<char const*>(char const*, int) in grpc[288](external_account_credentials.o)
      absl::lts_20240116::strings_internal::Splitter<absl::lts_20240116::strings_internal::SelectDelimiter<char const*>::type, absl::lts_20240116::AllowEmpty, std::__1::basic_string_view<char, std::__1::char_traits<char>>> absl::lts_20240116::StrSplit<char const*>(absl::lts_20240116::strings_internal::ConvertibleToStringView, char const*) in grpc[720](stateful_session_filter.o)
  "absl::lts_20240116::CUnescape(std::__1::basic_string_view<char, std::__1::char_traits<char>>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>*)", referenced from:
      absl::lts_20240116::CUnescape(std::__1::basic_string_view<char, std::__1::char_traits<char>>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>*) in grpc[853](uri_parser.o)
  "absl::lts_20240116::ParseTime(std::__1::basic_string_view<char, std::__1::char_traits<char>>, std::__1::basic_string_view<char, std::__1::char_traits<char>>, absl::lts_20240116::Time*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>*)", referenced from:
      firebase::firestore::bundle::(anonymous namespace)::DecodeTimestamp(firebase::firestore::util::JsonReader&, nlohmann::basic_json<std::__1::map, std::__1::vector, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, bool, long long, unsigned long long, double, std::__1::allocator, nlohmann::adl_serializer, std::__1::vector<unsigned char, std::__1::allocator<unsigned char>>> const&) in FirebaseFirestoreInternal[22](bundle_serializer.o)
      grpc_core::AwsRequestSigner::AwsRequestSigner(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>>>, absl::lts_20240116::Status*) in grpc[55](aws_request_signer.o)
      grpc_core::ExternalAccountCredentials::OnImpersenateServiceAccountInternal(absl::lts_20240116::Status) in grpc[288](external_account_credentials.o)
      grpc_core::StatusGetTime(absl::lts_20240116::Status const&, grpc_core::StatusTimeProperty) in grpc[737](status_helper.o)
      grpc_core::StatusGetTime(absl::lts_20240116::Status const&, grpc_core::StatusTimeProperty) in grpc[737](status_helper.o)
      grpc_core::StatusToString(absl::lts_20240116::Status const&)::$_0::operator()(std::__1::basic_string_view<char, std::__1::char_traits<char>>, absl::lts_20240116::Cord const&) const in grpc[737](status_helper.o)
  "absl::lts_20240116::status_internal::StatusRep::GetPayload(std::__1::basic_string_view<char, std::__1::char_traits<char>>) const", referenced from:
      absl::lts_20240116::Status::GetPayload(std::__1::basic_string_view<char, std::__1::char_traits<char>>) const in grpc[133](client_channel.o)
  "absl::lts_20240116::status_internal::StatusRep::ForEachPayload(absl::lts_20240116::FunctionRef<void (std::__1::basic_string_view<char, std::__1::char_traits<char>>, absl::lts_20240116::Cord const&)>) const", referenced from:
      absl::lts_20240116::Status::ForEachPayload(absl::lts_20240116::FunctionRef<void (std::__1::basic_string_view<char, std::__1::char_traits<char>>, absl::lts_20240116::Cord const&)>) const in grpc[260](error.o)
  "absl::lts_20240116::ByChar::Find(std::__1::basic_string_view<char, std::__1::char_traits<char>>, unsigned long) const", referenced from:
      absl::lts_20240116::strings_internal::SplitIterator<absl::lts_20240116::strings_internal::Splitter<absl::lts_20240116::ByChar, firebase::firestore::model::FieldPath::FromDotSeparatedStringView(std::__1::basic_string_view<char, std::__1::char_traits<char>>)::$_0, std::__1::basic_string_view<char, std::__1::char_traits<char>>>>::operator++() in FirebaseFirestoreInternal[58](field_path.o)
      absl::lts_20240116::strings_internal::SplitIterator<absl::lts_20240116::strings_internal::Splitter<absl::lts_20240116::ByChar, absl::lts_20240116::SkipEmpty, std::__1::basic_string_view<char, std::__1::char_traits<char>>>>::operator++() in FirebaseFirestoreInternal[193](resource_path.o)
      absl::lts_20240116::strings_internal::MaxSplitsImpl<absl::lts_20240116::ByChar>::Find(std::__1::basic_string_view<char, std::__1::char_traits<char>>, unsigned long) in grpc[55](aws_request_signer.o)
      absl::lts_20240116::strings_internal::SplitIterator<absl::lts_20240116::strings_internal::Splitter<absl::lts_20240116::ByChar, absl::lts_20240116::AllowEmpty, std::__1::basic_string_view<char, std::__1::char_traits<char>>>>::operator++() in grpc[165](compression_internal.o)
      absl::lts_20240116::strings_internal::SplitIterator<absl::lts_20240116::strings_internal::Splitter<absl::lts_20240116::ByChar, absl::lts_20240116::SkipWhitespace, std::__1::basic_string_view<char, std::__1::char_traits<char>>>>::operator++() in grpc[166](config.o)
  "absl::lts_20240116::ByString::Find(std::__1::basic_string_view<char, std::__1::char_traits<char>>, unsigned long) const", referenced from:
      absl::lts_20240116::strings_internal::MaxSplitsImpl<absl::lts_20240116::ByString>::Find(std::__1::basic_string_view<char, std::__1::char_traits<char>>, unsigned long) in grpc[288](external_account_credentials.o)
      absl::lts_20240116::strings_internal::SplitIterator<absl::lts_20240116::strings_internal::Splitter<absl::lts_20240116::ByString, absl::lts_20240116::AllowEmpty, std::__1::basic_string_view<char, std::__1::char_traits<char>>>>::operator++() in grpc[720](stateful_session_filter.o)
ld: symbol(s) not found for architecture arm64
clang++: error: linker command failed with exit code 1 (use -v to see invocation)

@sauravexodus
Copy link

sauravexodus commented Oct 31, 2024

I was able to fix it using C++17

post_install do |installer|
  installer.pods_project.targets.each do |target|
    if target.name == 'abseil'
      Pod::UI.puts "Workaround: Configuring abseil to use c++17 language standard for cocoapods 1.16+ compatibility".yellow
      Pod::UI.puts "            Remove workaround when upstream issue fixed https://github.com/firebase/firebase-ios-sdk/issues/13996".yellow
      target.build_configurations.each do |config|
        config.build_settings['CLANG_CXX_LANGUAGE_STANDARD'] = 'c++17'
      end
    end
  end
end

@mikehardy
Copy link
Contributor

That's quite strange. The workaround definitely works for me with c++14, and I believe that's the intended direction for the fix (to add the same c++14 setting in abseil podspec that is in other podspecs) given discussion on #13989 - @paulb777 can you think of any reason 17 would be needed for @sauravexodus vs 14?

@paulb777
Copy link
Member

Not sure - although to exactly match the CocoaPods 1.15 settings, CLANG_CXX_LANGUAGE_STANDARD should be set to gnu++14, not c++14.

@dorklein
Copy link

I was able to fix it using C++17

post_install do |installer|
  installer.pods_project.targets.each do |target|
    if target.name == 'abseil'
      Pod::UI.puts "Workaround: Configuring abseil to use c++17 language standard for cocoapods 1.16+ compatibility".yellow
      Pod::UI.puts "            Remove workaround when upstream issue fixed https://github.com/firebase/firebase-ios-sdk/issues/13996".yellow
      target.build_configurations.each do |config|
        config.build_settings['CLANG_CXX_LANGUAGE_STANDARD'] = 'c++17'
      end
    end
  end
end

Can you upload a full Podfile file for example.
Because when I replace the existing post_install with this, it failes

@paulb777
Copy link
Member

For reference, here is the commit that changed the Xcodeproj gem in the CocoaPods distribution CocoaPods/Xcodeproj@3157b7c#diff-ff9a4d09c635f0b936a889cc315e58fb2d38bf772b1712ea795498def364621aR424. Here is the discussion about the solution for the gRPC build grpc/grpc#38031

@mikehardy
Copy link
Contributor

Not sure - although to exactly match the CocoaPods 1.15 settings, CLANG_CXX_LANGUAGE_STANDARD should be set to gnu++14, not c++14.

That explains why the other user had gnu++14, interesting that gRPC uses c++14 but here it's gnu++14. Anyway, I updated my workaround Podfile snippet in the various places I posted it to be gnu++14 after this new information, thanks

@mikehardy
Copy link
Contributor

mikehardy commented Oct 31, 2024

  1. the workaround option

@dorklein Flutter projects typically already have a post_install, regardless the idea is to add this to your post_install, only creating a whole post_install if you do not have one. You do not want to remove what is already there

note you may already have a post_install section, so you would just use the inner part(s):

This doesn't work for me in a flutter project

Assuming you already have a post_install you want to keep all of it's contents, and just paste this into the bottom of the post_install before the final end:

  installer.pods_project.targets.each do |target|
    if target.name == 'abseil'
      Pod::UI.puts "Workaround: Configuring abseil to use gnu++14 language standard for cocoapods 1.16+ compatibility".yellow
      Pod::UI.puts "            Remove workaround when upstream issue fixed https://github.com/firebase/firebase-ios-sdk/issues/13996".yellow
      target.build_configurations.each do |config|
        config.build_settings['CLANG_CXX_LANGUAGE_STANDARD'] = 'gnu++14'
      end
    end
  end

...then run pod install then try to build again.

  1. the revert option

However, for Flutter there are reports of other modules having issues (url_launcher I believe?) and the only known-good-for-everything solution, if the above does not work for you, is to revert your cocoapods gem to 1.15.2 and your xcodeproj gem to 1.25.0:

gem uninstall cocoapods
gem install cocoapods --version 1.15.2
gem uninstall xcodeproj # accept any warnings about dependent gems and just force it to uninstall
gem install xcodeproj --version 1.25.0
  1. the move forward option

Since we all seem to be on the bleeding edge here regardless, I'll briefly mention that xcodeproj just released another patch release that looks like it is aimed 100% at this problem and likely fixes everything: https://github.com/CocoaPods/Xcodeproj/releases/tag/1.27.0

so perhaps just gem update xcodeproj and that will also fix everything

@paulb777
Copy link
Member

paulb777 commented Nov 1, 2024

Fixed by updating to CocoaPods 1.16.2

@UbaidillahGit
Copy link

[note: this was edited to be gnu++14 not c++14]

Add this to your Podfile if you want a workaround, note you may already have a post_install section, so you would just use the inner part(s):

post_install do |installer|
  installer.pods_project.targets.each do |target|
    if target.name == 'abseil'
      Pod::UI.puts "Workaround: Configuring abseil to use gnu++14 language standard for cocoapods 1.16+ compatibility".yellow
      Pod::UI.puts "            Remove workaround when upstream issue fixed https://github.com/firebase/firebase-ios-sdk/issues/13996".yellow
      target.build_configurations.each do |config|
        config.build_settings['CLANG_CXX_LANGUAGE_STANDARD'] = 'gnu++14'
      end
    end
  end
end

You will need to run pod install again after adding this, so that it executes and updates the build setting

Thanks, it works for me with Flutter projects, both successfully running locally on my Xcode and CodeMagic, with Xcode 16.0 and cocoapods 1.15.2

previously I tried this one #13996 (comment) change the 'gnu++14' to 'c++17' and it's fail

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

10 participants