On 4/22/14 3:57 AM, "Neuer User" <auslands...@gmx.de> wrote: >Sorry for this simple question. I've just started building my first >image with yocto and would now like to add a (very simple) own recipe.
(I am not familiar with gstreamer, but it looks like a big project and maybe not so simple!) The yocto build system figures out dependencies and build order, sets the environment, and generates shell scripts to do the actual tasks. The actual "work" is done by these shell scripts, not by the python code. Your recipe explicitly defines some steps like do_compile(). When you do this, you are saying "Let me control the compilation, I know what I am doing!". Your do_compile() step is going to generate a run.do_compile script, and that has to work just as if you were running the script yourself. If something doesn't work, try "bitbake {pkg} -c devshell". That will drop you into the environment the compiler is going to see. The shell scripts are in ../temp. Each script is a single step (do_compile etc). All of the substitutions that Richard described will already have been made; and you will see all the environment variables being set and the calls made to the compiler, linker etc. This directory also contains the log files from recent executions. You can run these manually, e.g. ../temp/run.do_compile. (The files without PIDs are symlinks to the latest script.) You can edit this script and re-run the compile and link step until it works. Once you've figured out what needs to be set or run, modify the recipe to generate that environment or command. An important thing to understand is that each step lives in its own little world; an environment variable set in the do_compile is not present in do_install unless you put it there. Avoidance of global state allows the build system to run multiple tasks in parallel. -Rob Calhoun (still figuring this stuff out myself) -- _______________________________________________ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto