firebase-cpp-sdk icon indicating copy to clipboard operation
firebase-cpp-sdk copied to clipboard

[FR] Raspberry Pi support

Open maxcpaladin opened this issue 2 years ago • 4 comments

[READ] For Firebase Unity SDK question, please report to Firebase Unity Sample

Once you've read this section and determined that your issue is appropriate for this repository, please delete this section.

[REQUIRED] Please fill in the following fields:

  • Pre-built SDK from the website or open-source from this repo: _____
  • Firebase C++ SDK version: main
  • Main Firebase Components in concern: Database (Auth, Database, etc.)
  • Other Firebase Components in use: _____ (Auth, Database, etc.)
  • Platform you are using the C++ SDK on: Arm Linux (raspberry Pi) (Mac, Windows, or Linux)
  • Platform you are targeting: raspberry Pi (iOS, Android, and/or desktop)

[REQUIRED] Please describe the question here:

Hi, I am trying to access database from raspberry pi running Linux (Armv7l). Can some one provide guide what changes need to be made for the c++ api to work on that?

maxcpaladin avatar Aug 02 '22 21:08 maxcpaladin

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

google-oss-bot avatar Aug 02 '22 21:08 google-oss-bot

And to further describe my encounter question: when running the test_linux.sh on the raspberry pi, I encounter the following error:

/usr/bin/ld: CMakeFiles/firebase_app_scheduler_test.dir/scheduler_test.cc.o: in function `firebase::compat::Atomic<unsigned long long>::fetch_sub(unsigned long long)':
scheduler_test.cc:(.text._ZN8firebase6compat6AtomicIyE9fetch_subEy[_ZN8firebase6compat6AtomicIyE9fetch_subEy]+0x40): undefined reference to `__atomic_fetch_sub_8'
/usr/bin/ld: ../libfirebase_app.a(scheduler.cc.o): in function `firebase::compat::Atomic<unsigned long long>::fetch_add(unsigned long long)':
scheduler.cc:(.text._ZN8firebase6compat6AtomicIyE9fetch_addEy[_ZN8firebase6compat6AtomicIyE9fetch_addEy]+0x40): undefined reference to `__atomic_fetch_add_8'
/usr/bin/ld: ../libfirebase_app.a(scheduler.cc.o): in function `firebase::compat::Atomic<unsigned long long>::store(unsigned long long)':
scheduler.cc:(.text._ZN8firebase6compat6AtomicIyE5storeEy[_ZN8firebase6compat6AtomicIyE5storeEy]+0x50): undefined reference to `__atomic_store_8'
collect2: error: ld returned 1 exit status
gmake[2]: *** [app/tests/CMakeFiles/firebase_app_scheduler_test.dir/build.make:109: app/tests/firebase_app_scheduler_test] Error 1
gmake[1]: *** [CMakeFiles/Makefile2:8684: app/tests/CMakeFiles/firebase_app_scheduler_test.dir/all] Error 2
gmake[1]: *** Waiting for unfinished jobs....

Seems to be an issue with lib atomic. Any suggestions on how to fix this?

maxcpaladin avatar Aug 02 '22 23:08 maxcpaladin

I think this may be an issue that current build configurations for linux only support x86 and x64 architectures. It is theoretically possible, but it is not clear what would be needed to support linux arm architectures.

AlmostMatt avatar Aug 03 '22 17:08 AlmostMatt

I wonder if anyone has managed this problem already?

MMlodzinski avatar Dec 15 '22 08:12 MMlodzinski