EricssonResearch / openwebrtc

A cross-platform WebRTC client framework based on GStreamer
http://www.openwebrtc.org
BSD 2-Clause "Simplified" License
1.8k stars 537 forks source link

How do I build openwebrtc on Raspberry PI 2? #616

Open bobzkobob opened 8 years ago

bobzkobob commented 8 years ago

I tried to build on Raspberry PI2 and it said this.

ubuntu@ubuntu:~/openwebrtc_work/cerbero$ ./cerbero-uninstalled -c config/linux.cbc fetch-package --full-reset --reset-rdeps openwebrtc
Traceback (most recent call last):
  File "./cerbero-uninstalled", line 8, in <module>
    from cerbero.main import main
  File "./cerbero/main.py", line 19, in <module>
    from cerbero import hacks
  File "./cerbero/hacks.py", line 131, in <module>
    from cerbero.utils.shell import call
  File "./cerbero/utils/shell.py", line 42, in <module>
    PLATFORM = system_info()[0]
  File "./cerbero/utils/__init__.py", line 124, in system_info
    raise FatalError(_("Architecture %s not supported") % arch)
cerbero.errors.FatalError: Fatal Error: Architecture armv7l not supported

What should I do now?

superdump commented 8 years ago

You can try cherry picking this commit on top of cerbero master and resolving any merge conflicts:

https://github.com/superdump/cerbero/commit/3acb710f5d2347f555054d1c0e6e27936425d085

RPi is not currently supported but there is this work in progress code.

bobzkobob commented 8 years ago

It seems working. Thanks.

bobzkobob commented 8 years ago

When building libvpx on my Raspberry Pi 2 Model B, there was an error as following: relocation R_ARM_THM_MOVW_ABS_NC against `a local symbol' can not be used when making a shared object; recompile with -fPIC

So, I made some changes in recipes/libvpx.recipe. https://github.com/bobzkobob/cerbero/commit/9cbe59c7af60ac2f772c43dd571bce31a149e39d

Now, I can build libvpx.

But then graphene is an issue. There are tons of errors when compiling graphene.

The first issue can be solved by the following commit. https://github.com/bobzkobob/cerbero/commit/a08032e0e9d7f1ae1af8583ca729069b9386037e

But regarding second issue, someone injects '-mfpu=neon' switch. So, it keeps fail.

@superdump Would you please review it and help me?

Thanks.

kmos commented 8 years ago

I have the same issue compiling graphene for raspberry pi2. @bobzkobob did you find a solution?

bobzkobob commented 8 years ago

@kmos, sorry for the late reply. please try to use this repo. https://github.com/bobzkobob/cerbero With this repo, I succeeded all steps but the final step - packaging. Please let me know if you can package .deb files.

bytecrew commented 8 years ago

Hi,

I'm trying to build and am using @bobzkobob cerbero repo but am getting lots of errors in graphene

# warning "The ARM Neon implementation of graphene_simd4f_t is experimental." ^ graphene-simd4f.h: In function ‘graphene_simd4f_sum’: graphene-simd4f.h:1037:42: error: expected ‘)’ before ‘;’ token (graphene_simd4f_t) vdupq_n_f32 ((v)); \

Any clues as to whats causing them?

Nolaan commented 7 years ago

This doesn't compile on the RaspberryPI 3 👎