Skip to content

Linking fail on Linux with clang and libc++ or libstdc++. #63

@canatella

Description

@canatella

Please fill in the following fields:

Pre-built SDK from the website or open-source from this repo: prebuilt
Firebase C++ SDK version: 6.15.0
Firebase plugins in use (Auth, Database, etc.): app, auth, firestore
Additional SDKs you are using (Facebook, AdMob, etc.): n/a
Platform you are using the C++ SDK on (Mac, Windows, or Linux): Linux
Platform you are targeting (iOS, Android, and/or desktop): desktop

Please describe the issue here:

Linking fails on Linux when linking against libc++ or with libstdc++.

  • Compiler is clang 9.0.0,
  • linker is lld 7.0.1,
  • libc++ is 7.0.1 and
  • libstdc++ is 8.3.0.

The readme says that the lib is build with GCC 4.8+, libc++ but as it did not build with libc++ I also tried with libstdc++ but it did not work neither. Could you confirm which compiler, stdlib version are needed ? If gcc is expected, it would be nice to have a clang build also: all other unixy platforms support clang but Linux.

libc++ error:

ld.lld: error: undefined symbol: firebase::firestore::FieldValue::String(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >)

libstdc++ error:

ld.lld: error: undefined symbol: firebase::firestore::FieldValue::String(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)

Please answer the following, if applicable:

Have you been able to reproduce this issue with just the Firebase C++ quickstarts ? Did not try.

What's the issue repro rate? (eg 100%, 1/5 etc)

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions