After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 747969 - Using cerbero to cross-compile to build gstreamer-1.0-sdk failed for android
Using cerbero to cross-compile to build gstreamer-1.0-sdk failed for android
Status: RESOLVED NOTABUG
Product: GStreamer
Classification: Platform
Component: cerbero
1.x
Other Linux
: Normal normal
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2015-04-16 08:31 UTC by Bill Qin
Modified: 2015-04-20 07:57 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Bill Qin 2015-04-16 08:31:48 UTC
I want to build gstreamer-1.0-sdk for android using cerbero.
I using the command as below:
1. git clone git://anongit.freedesktop.org/gstreamer-sdk/cerbero  [Execute OK.]
2. cerbero cerbero/config/cross-android.cbc bootstrap  [Execute OK.]
3. cerbero cerbero/config/cross-android.cbc package gstreamer-1.0-sdk [faild. ]
The log as below:
qys@his-Lenovo:~/cerbero/cerbero$ cerbero -c config/cross-android.cbc package gstreamer-1.0-sdk
WARNING: Using default configuration because /home/qys/.cerbero/cerbero.cbc is missing
WARNING: Error loading recipe in file /home/qys/cerbero/cerbero/recipes/libmad.recipe class Architecture has no attribute 'is_arm'
Traceback (most recent call last):
  • File "/home/qys/cerbero/cerbero/cerbero/main.py", line 105 in run_command
    res = commands.run(command, self.config, self.args)
  • File "/home/qys/cerbero/cerbero/cerbero/commands/__init__.py", line 78 in run
    return _commands[command].run(config, args)
  • File "/home/qys/cerbero/cerbero/cerbero/commands/package.py", line 67 in run
    self._build_deps(config, p)
  • File "/home/qys/cerbero/cerbero/cerbero/commands/package.py", line 91 in _build_deps
    cookbook=self.store.cookbook)
  • File "/home/qys/cerbero/cerbero/cerbero/commands/build.py", line 74 in runargs
    oven.start_cooking()
  • File "/home/qys/cerbero/cerbero/cerbero/build/oven.py", line 68 in start_cooking
    recipes = self.cookbook.list_recipe_deps(recipe)
  • File "/home/qys/cerbero/cerbero/cerbero/build/cookbook.py", line 256 in list_recipe_deps
    return self._find_deps(recipe, {}, [])
  • File "/home/qys/cerbero/cerbero/cerbero/build/cookbook.py", line 311 in _find_deps
    % (recipe.name, recipe_name)))
FatalError: Fatal Error: Recipe gst-plugins-ugly-1.0 has a unknown dependency libmad
***** Error running 'package' command:
Fatal Error: Recipe gst-plugins-ugly-1.0 has a unknown dependency libmad
usage: cerbero-uninstalled [-h] [-c CONFIG]
                           {add-recipe,tag,genxcconfig,genlibfiles,check,list-packages,build,add-package,genvsprops,shell,run,cleanone,packageinfo,buildone,wipe,debug-packages,package,bootstrap,list,checkpackage,deps,gensdkshell,fetch-package,fetch}

I am a learner for gstreamer, how could I do?
Thank you very much.
Comment 1 Sebastian Dröge (slomo) 2015-04-16 08:56:33 UTC
git://anongit.freedesktop.org/gstreamer-sdk/cerbero is from a different project and has nothing to do with the GStreamer project (yes, confusing I know). Same goes for all of the stuff from gstreamer.com :)

Try using git://anongit.freedesktop.org/gstreamer/cerbero

And instead of "package gstreamer-1.0-sdk" you run "package gstreamer-1.0".
Comment 2 Bill Qin 2015-04-20 07:15:14 UTC
OK ,thanks very much.
I have build gstreamer successfully using the cerbero url git://anongit.freedesktop.org/gstreamer/cerbero. 
And after I executed "package gstreamer-1.0", I could sucessfully creat package "gstreamer-1.0-android-arm-1.5.0-runtime.tar.bz2", "gstreamer-1.0-android-arm-1.5.0-runtime.zip", "gstreamer-1.0-android-arm-1.5.0.tar.bz2" and "gstreamer-1.0-android-arm-1.5.0.zip".
What the differences between "gstreamer-1.0-android-arm-1.5.0-runtime", "gstreamer-1.0-android-arm-1.5.0" and libraries in directory "cerbero/dist/android_arm" ?
I think gstreamer-1.0-android-arm-1.5.0-runtime is dynamic libraries, and gstreamer-1.0-android-arm-1.5.0 is static libraries, is it right?
If I want to develop gstreamer for android, which could I use?
Comment 3 Sebastian Dröge (slomo) 2015-04-20 07:37:58 UTC
Don't use the -runtime one, it's generally not useful for application development.

The difference is exactly what you mention :)
Comment 4 Bill Qin 2015-04-20 07:57:35 UTC
If I modified some plugin(eg:gst-libav-1.0) source code, or I need to add some new plugin.How could I creat the updated gstreamer-1.0-android-arm-1.5.0 package ?
I think have 2 step.
1. build or buildone modified plugin.
2. package gstreamer-1.0.
Is it the right step?
Thank you.