EricssonResearch / EricssonResearch/openwebrtc
Build fails for android on mac os x
- Dominant language
- C
- Stars
- 1.8k
- Forks
- 531
- PR merge metrics
- No merged PRs in 30d
Description
Hi, I am trying to build for android on mac os x. I followed the build steps in the wiki as follow:
1. boot strap for mac os x (success)
2. full build for mac os x (success)
3. boot strap for android (success)
4. full build for android (failed)
Here is the output log
scchia-KVG3QP-mbp:cerbero scchia$ ./cerbero-uninstalled -c config/cross-android-armv7.cbc bootstrap
WARNING: Using default configuration because /Users/scchia/.cerbero/cerbero.cbc is missing
WARNING: No bootstrapper for the distro version android_gingerbread
WARNING: No bootstrapper for the distro version osx_yosemite
File /var/folders/zv/m4xq83bs3tz8nzkrpg0_ttvh0000gp/T/tmp42Zu9v already downloaded.
Running command 'chmod +x /var/folders/zv/m4xq83bs3tz8nzkrpg0_ttvh0000gp/T/tmp42Zu9v'
Running command 'sudo /var/folders/zv/m4xq83bs3tz8nzkrpg0_ttvh0000gp/T/tmp42Zu9v XML::Parser'
File /Users/scchia/cerbero/android-ndk-r10d/android-ndk-r10d-darwin-x86_64.bin already downloaded.
WARNING: Using default configuration because /Users/scchia/.cerbero/cerbero.cbc is missing
Building the following recipes: libiconv gettext xz m4 autoconf sed gettext-tools gettext-m4 automake tar libtool pkg-config orc-tool libffi zlib glib gobject-introspection gnome-common gtk-doc-lite gperf glib-tools android-sdk intltool yasm bison flex
[(1/26) libiconv -> already built ]
[(2/26) gettext -> already built ]
[(3/26) xz -> already built ]
[(4/26) m4 -> already built ]
[(5/26) autoconf -> already built ]
[(6/26) sed -> already built ]
[(7/26) gettext-tools -> already built ]
[(8/26) gettext-m4 -> already built ]
[(9/26) automake -> already built ]
[(10/26) tar -> already built ]
[(11/26) libtool -> already built ]
[(12/26) pkg-config -> already built ]
[(13/26) orc-tool -> already built ]
[(14/26) libffi -> already built ]
[(15/26) zlib -> already built ]
[(16/26) glib -> already built ]
[(17/26) gobject-introspection -> already built ]
[(18/26) gnome-common -> already built ]
[(19/26) gtk-doc-lite -> already built ]
[(20/26) gperf -> already built ]
[(21/26) glib-tools -> already built ]
[(22/26) android-sdk -> already built ]
[(23/26) intltool -> already built ]
[(24/26) yasm -> already built ]
[(25/26) bison -> already built ]
[(26/26) flex -> already built ]
scchia-KVG3QP-mbp:cerbero scchia$ ./cerbero-uninstalled -c config/cross-android-armv7.cbc package -f openwebrtc
WARNING: Using default configuration because /Users/scchia/.cerbero/cerbero.cbc is missing
Building the following recipes: libiconv gettext gnustl libffi zlib glib orc bzip2 openssl bionic-fixup gtk-doc-lite gstreamer-1.0 gst-plugins-base-1.0 libvpx gst-plugins-good-1.0 openh264 opus libsrtp gst-plugins-bad-1.0 libnice gstreamer-1.0-static gst-plugins-base-1.0-static gst-plugins-good-1.0-static gst-plugins-bad-1.0-static libnice-static intltool gnome-js-common openwebrtc-girepository icu javascriptcoregtk seed libusrsctp openwebrtc-gst-plugins openwebrtc-gst-plugins-static openwebrtc
[(1/35) libiconv -> already built ]
[(2/35) gettext -> already built ]
[(3/35) gnustl -> already built ]
[(4/35) libffi -> already built ]
[(5/35) zlib -> already built ]
[(6/35) glib -> already built ]
[(7/35) orc -> already built ]
[(8/35) bzip2 -> already built ]
[(9/35) openssl -> already built ]
[(10/35) bionic-fixup -> already built ]
[(11/35) gtk-doc-lite -> already built ]
[(12/35) gstreamer-1.0 -> already built ]
[(13/35) gst-plugins-base-1.0 -> already built ]
[(14/35) libvpx -> already built ]
[(15/35) gst-plugins-good-1.0 -> already built ]
[(16/35) openh264 -> already built ]
[(17/35) opus -> already built ]
[(18/35) libsrtp -> already built ]
[(19/35) gst-plugins-bad-1.0 -> already built ]
[(20/35) libnice -> already built ]
[(21/35) gstreamer-1.0-static -> already built ]
[(22/35) gst-plugins-base-1.0-static -> already built ]
[(23/35) gst-plugins-good-1.0-static -> already built ]
[(24/35) gst-plugins-bad-1.0-static -> already built ]
[(25/35) libnice-static -> already built ]
[(26/35) intltool -> already built ]
[(27/35) gnome-js-common -> already built ]
[(28/35) openwebrtc-girepository -> already built ]
[(29/35) icu -> already built ]
[(30/35) javascriptcoregtk -> already built ]
[(31/35) seed -> already built ]
[(32/35) libusrsctp -> already built ]
[(33/35) openwebrtc-gst-plugins -> already built ]
[(34/35) openwebrtc-gst-plugins-static -> already built ]
[(35/35) openwebrtc -> fetch ]
-----> Step done
[(35/35) openwebrtc -> extract ]
-----> Step done
[(35/35) openwebrtc -> configure ]
Recipe 'openwebrtc' failed at the build step 'configure'
Traceback (most recent call last):
File "./cerbero/build/oven.py", line 143, in _cook_recipe
stepfunc()
File "/Users/scchia/dev/cerbero/recipes/openwebrtc.recipe", line 191, in configure
raise Exception(err_nobuild)
Exception: You need to build openwebrtc for the host darwin before you can cross-compile it for android
Select an action to proceed:
[0] Enter the shell
[1] Rebuild the recipe from scratch
[2] Rebuild starting from the failed step
[3] Skip recipe
[4] Abort
4
****\* Error running 'package' command:
I read on the troubleshooting section and tried the buildone command, but it gives the same error.
scchia-KVG3QP-mbp:cerbero scchia$ ./cerbero-uninstalled -c config/osx-x86-64.cbc buildone openwebrtc \
> && ./cerbero-uninstalled -c config/cross-android-armv7.cbc buildone openwebrtc \
> && ./cerbero-uninstalled -c config/cross-android-armv7.cbc package openwebrtc
> WARNING: Using default configuration because /Users/scchia/.cerbero/cerbero.cbc is missing
> Building the following recipes: openwebrtc
> [(1/1) openwebrtc -> fetch ]
> [(1/1) openwebrtc -> extract ]
> [(1/1) openwebrtc -> configure ]
> -----> copying /Users/scchia/dev/cerbero/data/autotools/config.guess to /Users/scchia/cerbero/sources/darwin_x86_64/openwebrtc-0.1/config.guess
> -----> copying /Users/scchia/dev/cerbero/data/autotools/config.sub to /Users/scchia/cerbero/sources/darwin_x86_64/openwebrtc-0.1/config.sub
> [(1/1) openwebrtc -> compile ]
> [(1/1) openwebrtc -> install ]
> [(1/1) openwebrtc -> post_install ]
> WARNING: Using default configuration because /Users/scchia/.cerbero/cerbero.cbc is missing
> Building the following recipes: openwebrtc
> [(1/1) openwebrtc -> fetch ]
> [(1/1) openwebrtc -> extract ]
> [(1/1) openwebrtc -> configure ]
> Recipe 'openwebrtc' failed at the build step 'configure'
> Traceback (most recent call last):
> File "./cerbero/build/oven.py", line 143, in _cook_recipe
> stepfunc()
> File "/Users/scchia/dev/cerbero/recipes/openwebrtc.recipe", line 191, in configure
> raise Exception(err_nobuild)
> Exception: You need to build openwebrtc for the host darwin before you can cross-compile it for android
> Select an action to proceed:
> [0] Enter the shell
> [1] Rebuild the recipe from scratch
> [2] Rebuild starting from the failed step
> [3] Skip recipe
> [4] Abort
> 4
> ****\* Error running 'buildone' command:
Is there something wrong with my command? Or am I missing any steps which causes this problem?
Before doing this build, I have also ran these commands and I can see the soft links of dist in my cerbero folder.
sudo mkdir /Library/Frameworks/OpenWebRTC.framework
sudo chown $UID /Library/Frameworks/OpenWebRTC.framework/
In ~/cerbero:
mkdir -p dist
mkdir -p /Library/Frameworks/OpenWebRTC.framework/Versions/0.1
ln -s /Library/Frameworks/OpenWebRTC.framework/Versions/0.1 dist/darwin_x86_64
Contributor guide
Research direction
Start by reading recipes/openwebrtc.recipe around line 191 and the config/osx-x86-64.cbc and config/cross-android-armv7.cbc entry points. Reproduce the sequential buildone commands, then verify that the Android package command completes without the host-darwin error.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- android, c, macos
- Domain
- build-system, desktop-dev, mobile-dev
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100