Updating Firebase to latest throws `undefined reference`
RameshRavone opened this issue · 4 comments
RameshRavone commented
NDK Version: r17b
Firebase SDK: 5.2.0
Error message:
/tmpfs/src/gfile/kokoro_invitesandroid/firebase/invites/client/cpp/src/common/invites.cc:131: error: undefined reference to 'firebase::invites::internal::InvitesReceiverInternal::CreateInstance(firebase::App const&, firebase::invites::internal::ReceiverInterface*)'
/tmpfs/src/gfile/kokoro_invitesandroid/firebase/invites/client/cpp/src/common/invites.cc:52: error: undefined reference to 'firebase::invites::internal::CachedReceiver::CachedReceiver()'
/tmpfs/src/gfile/kokoro_invitesandroid/firebase/invites/client/cpp/src/common/invites.cc:177: error: undefined reference to 'firebase::invites::internal::InvitesReceiverInternal::DestroyInstance(firebase::invites::internal::InvitesReceiverInternal*, firebase::invites::internal::ReceiverInterface*)'
/tmpfs/src/gfile/kokoro_invitesandroid/firebase/invites/client/cpp/src/common/invites.cc:301: error: undefined reference to 'firebase::invites::internal::InvitesReceiverInternal::Fetch()'
/tmpfs/src/gfile/kokoro_invitesandroid/firebase/invites/client/cpp/src/common/invites.cc:62: error: undefined reference to 'firebase::invites::internal::CachedReceiver::SetReceiver(firebase::invites::internal::ReceiverInterface*)'
/tmpfs/src/gfile/kokoro_invitesandroid/firebase/invites/client/cpp/src/common/invites.cc:290: error: undefined reference to 'firebase::invites::internal::InvitesReceiverInternal::ConvertInvitation(char const*)'
/tmpfs/src/gfile/kokoro_invitesandroid/firebase/invites/client/cpp/src/common/invites.cc:295: error: undefined reference to 'firebase::invites::internal::InvitesReceiverInternal::ConvertInvitationLastResult()'
/tmpfs/src/gfile/kokoro_invitesandroid/firebase/invites/client/cpp/src/common/invites.cc:53: error: undefined reference to 'firebase::invites::internal::CachedReceiver::~CachedReceiver()'
/tmpfs/src/gfile/kokoro_invitesandroid/firebase/invites/client/cpp/src/common/invites.cc:53: error: undefined reference to 'firebase::invites::internal::CachedReceiver::~CachedReceiver()'
/tmpfs/src/gfile/kokoro_invitesandroid/firebase/invites/client/cpp/src/common/invites.cc:92: error: undefined reference to 'firebase::invites::internal::CachedReceiver::ReceivedInviteCallback(std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > const&, std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > const&, firebase::invites::internal::InternalLinkMatchStrength, int, std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > const&)'
/tmpfs/src/gfile/kokoro_invitesandroid/firebase/invites/client/cpp/src/android/invites_sender_internal_android.cc:39: error: undefined reference to 'firebase::invites::internal::AndroidHelper::AndroidHelper(firebase::App const&, firebase::invites::internal::SenderReceiverInterface*)'
/tmpfs/src/gfile/kokoro_invitesandroid/firebase/invites/client/cpp/src/android/invites_sender_internal_android.cc:44: error: undefined reference to 'firebase::invites::internal::AndroidHelper::CallMethod(firebase::invites::internal::invite::Method)'
/tmpfs/src/gfile/kokoro_invitesandroid/firebase/invites/client/cpp/src/android/invites_sender_internal_android.cc:46: error: undefined reference to 'firebase::invites::internal::AndroidHelper::CallMethodStringString(firebase::invites::internal::invite::Method, char const*, char const*)'
/tmpfs/src/gfile/kokoro_invitesandroid/firebase/invites/client/cpp/src/android/invites_sender_internal_android.cc:51: error: undefined reference to 'firebase::invites::internal::AndroidHelper::CallMethod(firebase::invites::internal::invite::Method)'
/tmpfs/src/gfile/kokoro_invitesandroid/firebase/invites/client/cpp/src/android/invites_sender_internal_android.cc:54: error: undefined reference to 'firebase::invites::internal::AndroidHelper::CallMethodStringString(firebase::invites::internal::invite::Method, char const*, char const*)'
/tmpfs/src/gfile/kokoro_invitesandroid/firebase/invites/client/cpp/src/android/invites_sender_internal_android.cc:58: error: undefined reference to 'firebase::invites::internal::AndroidHelper::CallBooleanMethod(firebase::invites::internal::invite::Method)'
/tmpfs/src/gfile/kokoro_invitesandroid/firebase/invites/client/cpp/src/android/invites_sender_internal_android.h:20: error: undefined reference to 'firebase::invites::internal::AndroidHelper::~AndroidHelper()'
/tmpfs/src/gfile/kokoro_invitesandroid/firebase/invites/client/cpp/src/android/invites_sender_internal_android.h:20: error: undefined reference to 'firebase::invites::internal::AndroidHelper::~AndroidHelper()'
alexames commented
What code are you calling that's triggering the exception? Can you create a minimal, complete, verifiable example?
Vi-dot commented
I get exactly the same error. With last SDK 5.3.1
Vi-dot commented
I get this message
/tmpfs/src/gfile/kokoro_dynamic_linksandroid/firebase/dynamic_links/client/cpp/src/common.cc:106: error: undefined reference to 'firebase::invites::internal::InvitesReceiverInternal::CreateInstance(firebase::App const&, firebase::invites::internal::ReceiverInterface*)'
/tmpfs/src/gfile/kokoro_dynamic_linksandroid/firebase/dynamic_links/client/cpp/src/common.cc:38: error: undefined reference to 'firebase::invites::internal::CachedReceiver::CachedReceiver()'
/tmpfs/src/gfile/kokoro_dynamic_linksandroid/firebase/dynamic_links/client/cpp/src/common.cc:138: error: undefined reference to 'firebase::invites::internal::InvitesReceiverInternal::DestroyInstance(firebase::invites::internal::InvitesReceiverInternal*, firebase::invites::internal::ReceiverInterface*)'
/tmpfs/src/gfile/kokoro_dynamic_linksandroid/firebase/dynamic_links/client/cpp/src/common.cc:156: error: undefined reference to 'firebase::invites::internal::InvitesReceiverInternal::Fetch()'
/tmpfs/src/gfile/kokoro_dynamic_linksandroid/firebase/dynamic_links/client/cpp/src/common.cc:156: error: undefined reference to 'firebase::invites::internal::InvitesReceiverInternal::Fetch()'
/tmpfs/src/gfile/kokoro_dynamic_linksandroid/firebase/dynamic_links/client/cpp/src/common.cc:47: error: undefined reference to 'firebase::invites::internal::CachedReceiver::SetReceiver(firebase::invites::internal::ReceiverInterface*)'
/tmpfs/src/gfile/kokoro_dynamic_linksandroid/firebase/dynamic_links/client/cpp/src/common.cc:39: error: undefined reference to 'firebase::invites::internal::CachedReceiver::~CachedReceiver()'
/tmpfs/src/gfile/kokoro_dynamic_linksandroid/firebase/dynamic_links/client/cpp/src/common.cc:39: error: undefined reference to 'firebase::invites::internal::CachedReceiver::~CachedReceiver()'
/tmpfs/src/gfile/kokoro_dynamic_linksandroid/firebase/dynamic_links/client/cpp/src/common.cc:68: error: undefined reference to 'firebase::invites::internal::CachedReceiver::ReceivedInviteCallback(std::string const&, std::string const&, firebase::invites::internal::InternalLinkMatchStrength, int, std::string const&)'
Here is my link line
-LC:/Qt/firebase_cpp_sdk/libs/android/armeabi-v7a/gnustl -lfirebase_app -lfirebase_messaging -lfirebase_invites -lfirebase_dynamic_links
Without -lfirebase_invites -lfirebase_dynamic_links
it works fine
By the way, I don't need invites, I only need dynamic_links, but I added it, because I got this same error message with only dynamic_links
kayleg commented
Link order matters in this case:
This solved it for me
-L$$PWD/firebase/libs/android/armeabi-v7a/gnustl \
-lfirebase_analytics \
-lfirebase_messaging \
-lfirebase_invites \
-lfirebase_dynamic_links \
-lfirebase_app